public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* egcs-ss-970821 and test suite.
@ 1997-08-22 15:53 djohnson
  1997-08-22 15:53 ` libstdc++ and gcc2 merge H.J. Lu
  1997-08-22 16:25 ` Haifa problem Jeffrey A Law
  0 siblings, 2 replies; 3+ messages in thread
From: djohnson @ 1997-08-22 15:53 UTC (permalink / raw)
  To: egcs

Hi,
	Bootstrapping of the latest snapshot works fine on linux-2.0.28, 
gcc-2.7.2, libc-5.4.23. There is an error message during each stage of 
the build that I'm not sure is important or not.

gcc -c  -DIN_GCC   -DUSE_GNULIBC_1 -g  -DHAVE_CONFIG_H     -I. -I. 
-I./config expr.c
expr.c: In function `move_by_pieces':
expr.c:1451: warning: passing arg 1 of `move_by_pieces_1' from 
incompatible pointer t
ype
expr.c: In function `clear_by_pieces':
expr.c:2007: warning: passing arg 1 of `clear_by_pieces_1' from 
incompatible pointer 
type

So, this appears that an ifdef is not set properly in expr.h (though I 
could be wrong, I have zero compiler writing experience). 

Ran the testsuite with the following results. If this is not a usable 
format or I'm not posting the salient info, let me know what info I can 
include to help the testing process.

Making a new config file...
if [ -d testsuite ]; then \
  true; \
else \
  mkdir testsuite; \
fi
rm -rf testsuite/site.exp
cp site.exp testsuite/site.exp
rootme=`pwd`; export rootme; \
srcdir=`cd .; pwd` ; export srcdir ; \
cd testsuite; \
EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo 
${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then  \
   TCL_LIBRARY=${srcdir}/../tcl/library ; \
   export TCL_LIBRARY ; fi ; \
`if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo 
${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool gcc 
WARNING: Couldn't find the global config file.
Test Run By djohnson on Fri Aug 22 10:35:11 1997
Target is i586-pc-linux-gnulibc1
Host   is i586-pc-linux-gnu

		=== gcc tests ===

Using /usr/local/bin/../share/dejagnu/baseboards/unix.exp as board 
description file for target.
Using /usr/local/bin/../share/dejagnu/config/unix.exp as generic 
interface file for target.
Using /usr/src/egcs-ss-970821/testsuite/config/default.exp as 
tool-and-target-specific interface file.
WARNING: Assuming target board is the local machine (which is probably 
wrong).
You may need to set your DEJAGNU environment variable.
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/code_quality/code_quality.exp ...
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/compile/compile.exp ...
FAIL: gcc.c-torture/compile/961203-1.c,  -O0  
FAIL: gcc.c-torture/compile/961203-1.c,  -O1  
FAIL: gcc.c-torture/compile/961203-1.c,  -O2  
FAIL: gcc.c-torture/compile/961203-1.c,  -O2 -fomit-frame-pointer 
-finline-functions  
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/execute/execute.exp ...
FAIL: gcc.c-torture/execute/920625-1.c execution,  -O2 
-fomit-frame-pointer -finline-functions -funroll-loops 
FAIL: gcc.c-torture/execute/920625-1.c execution,  -O2 
-fomit-frame-pointer -finline-functions -funroll-all-loops 
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/execute/ieee/ieee.exp ...
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/noncompile/noncompile.exp 
...
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/special/special.exp ...
Running 
/usr/src/egcs-ss-970821/testsuite/gcc.c-torture/unsorted/unsorted.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.dg/dg.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.failure/failure.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/acker1.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/dg-test.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/dhry.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/gcov.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/matrix1.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/mg.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/msgs.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/optbench.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/sieve.exp ...
Running /usr/src/egcs-ss-970821/testsuite/gcc.misc-tests/sort2.exp ...

		=== gcc Summary ===

# of expected passes		4860
# of unexpected failures	6
# of expected failures		4
# of unsupported tests		9
/usr/src/egcs-ss-970821/xgcc version egcs-2.90.01 970821 (gcc2-970802 
experimental)

make: *** [check-gcc] Error 1


Douglas Johnson
J. C. Garland Condensed Matter Physics Lab
The Ohio State University
174 West 18th Avenue
Columbus, Ohio 43210
Phone: 614-292-8075
E-mail: djohnson@mps.ohio-state.edu

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: libstdc++ and gcc2 merge
  1997-08-22 15:53 egcs-ss-970821 and test suite djohnson
@ 1997-08-22 15:53 ` H.J. Lu
  1997-08-22 16:25 ` Haifa problem Jeffrey A Law
  1 sibling, 0 replies; 3+ messages in thread
From: H.J. Lu @ 1997-08-22 15:53 UTC (permalink / raw)
  To: egcs

> 
> Just a note that snapshots after tonight's will include libstdc++, so you
> won't have to worry about finding the right version (and I won't have to
> worry about making my own libg++ releases).
> 

I didn't see libstdc++ in egcs-ss-970814-970821.diff.gz. Did I miss
something?

BTW, when will the bug fixes/patches in gcc2 be brought in egcs?
I think it should be done on a weekly basis. There are quite
a few changes in gcc 2 since ss-970802 I'd like to see in egcs.

Thanks.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Haifa problem
  1997-08-22 15:53 egcs-ss-970821 and test suite djohnson
  1997-08-22 15:53 ` libstdc++ and gcc2 merge H.J. Lu
@ 1997-08-22 16:25 ` Jeffrey A Law
  1 sibling, 0 replies; 3+ messages in thread
From: Jeffrey A Law @ 1997-08-22 16:25 UTC (permalink / raw)
  To: egcs

I've tracked down (yet another) failure on the PA when using the
haifa scheduler (exposed by an abort when building m68k.c when cross
compiling from a PA).

Due to a bug in handling of loop notes in haifa, we get a pseudo
with a zero reference count, even though it is still referenced
in the function's RTL.  global & local register allocation ignore
the pseudo, and we crash shortly thereafter when we try to do
something with the insn referencing the unallocated pseudo.



The basic problem is an inconsistency in how schedule_block and
compute_block_backward_dependences decide where the head of the
insn list should be for the first block of a function.

compute_block_backward_dependencies looks at basic_block_head, then
skips notes and labels.

schedule_block first skips copies from argument registers to pseudos,
then skips notes and labels.

So if we have:

1	argreg -> pseudo
2	LOOP_BEGIN
3	real stuff

compute_block_backward_dependencies will use insn 1 as the head
of the block.  schedule_block will use insn 3.



This difference is important because compute_block_backward_dependences
will "see" the loop note (insn 2) and create a fake REG_DEAD note
and attach it to insn 3.

schedule_block simply skips the note an insn 2, and emits _another_
LOOP_BEGIN note when processing insn 3 due to the fake REG_DEAD note.


I believe the same basic problem exists for EH_REGION_BEG notes
possibly SETJMP notes too.

One option is to remove the fake notes for insns we skipped in
schedule_block.  Another is to remove the code to skip over
argument register copies in schedule_block.

Comments?  My preference would be to remove the code to skip over
arg register copies -- it's easier and I doubt it'll make much
difference in the generated code.  But if you think otherwise, I
can remove the fake REG_DEAD notes or look for other solutions.

jeff

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-08-22 16:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-22 15:53 egcs-ss-970821 and test suite djohnson
1997-08-22 15:53 ` libstdc++ and gcc2 merge H.J. Lu
1997-08-22 16:25 ` Haifa problem Jeffrey A Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).