This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Results for egcs-2.92.16 19981024 (gcc2 ss-980609 experimental) testsuite on i586-pc-linux-gnu, and possible fix


Sources:	 - egcs mainline from CVS last updated at Sat Oct 24 20:57:21 1998 
                 - libg++-2.8.1.2
Patches:
Environment:     - GNU binutils 2.9.1.0.15
                 - dejagnu-980528
                 - gperf-2.7 with gperf-2.7-19981006 patch for -F
                 - Linux stable kernel 2.0.35 (compiled by gcc-2.7.2.3)
                 - glibc 2.0.6 (compiled by egcs-1.0.2)

Remarks:         See below.


configure flags: --with-gnu-ld --with-gnu-as --prefix=/usr/packages.bin/egcs/snapshot --enable-shared --disable-haifa
BOOT_CC:         egcs-2.91.57
BOOT_CFLAGS:     -W -Wall -O2 -funroll-all-loops -g -march=pentium -mcpu=pentium -fomit-frame-pointer -D__NO_MATH_INLINES
CFLAGS:          -W -Wall -O2 -march=pentium -mcpu=pentium -fomit-frame-pointer -g -D__NO_MATH_INLINES
CXXFLAGS:        -W -Wall -O2 -march=pentium -mcpu=pentium -fomit-frame-pointer -g -D__NO_MATH_INLINES

Bootstrap failed; last twenty lines are:

../../egcs/gcc/move-if-change tmp-genrtl.h genrtl.h
../../egcs/gcc/move-if-change tmp-genrtl.c genrtl.c
touch s-genrtl
gcc -c  -DIN_GCC    -g -W -Wall  -DHAVE_CONFIG_H     -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/c-lex.c
../../egcs/gcc/c-lex.c: In function `yylex':
../../egcs/gcc/c-lex.c:1526: warning: implicit declaration of function `set_float_handler'
gcc -c  -DIN_GCC    -g -W -Wall  -DHAVE_CONFIG_H     -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/c-pragma.c
gcc -c  -DIN_GCC    -g -W -Wall  -DHAVE_CONFIG_H     -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/c-decl.c
../../egcs/gcc/c-decl.c: In function `grokfield':
../../egcs/gcc/c-decl.c:5721: warning: unused parameter `filename'
../../egcs/gcc/c-decl.c:5722: warning: unused parameter `line'
gcc -c  -DIN_GCC    -g -W -Wall  -DHAVE_CONFIG_H     -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/gencodes.c
gcc -c  -DIN_GCC    -g -W -Wall  -DHAVE_CONFIG_H     -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/rtl.c
../../egcs/gcc/rtl.c:125: conflicting types for `mode_mask_array'
../../egcs/gcc/machmode.h:199: previous declaration of `mode_mask_array'
make[2]: *** [rtl.o] Error 1
make[2]: Leaving directory `/usr/packages/egcs/egcs/snapshot/i586-pc-linux-gnu/gcc'
make[1]: *** [bootstrap-lean] Error 2
make[1]: Leaving directory `/usr/packages/egcs/egcs/snapshot/i586-pc-linux-gnu/gcc'
make: *** [bootstrap-lean] Error 2


Clearly, rtl.c and machmode.h have a conflict. It seems to be Richard
Earnshaw's patch to both rtl.c and machmode.h of the 23rd:

* machmode.h (mode_mask_array): No longer const.
* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.

The problem is that mode_mask_array in machmode.h is merely an extern,
and the interned copy (if you see what I mean) in rtl.c was not
changed.

This trivial patch seems to fix it: (at least, the result builds
without exploding)

--- rtl.c.orig  Sat Oct 24 23:40:41 1998
+++ rtl.c       Sat Oct 24 23:41:00 1998
@@ -122,7 +122,7 @@
 
 /* Indexed by machine mode, gives mask of significant bits in mode.  */
 
-const unsigned HOST_WIDE_INT mode_mask_array[(int) MAX_MACHINE_MODE] = {
+unsigned HOST_WIDE_INT mode_mask_array[(int) MAX_MACHINE_MODE] = {
 #include "machmode.def"
 };
 

(No changelog with this one, I'm not sure if committers provide the
changelogs or the plebes do...)


[Cc:ed to Richard Earnshaw so I can be shot down if I'm talking
 nonsense]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]