Bug 15673 - Errors in stage 3; genmodes.c
Summary: Errors in stage 3; genmodes.c
Status: RESOLVED DUPLICATE of bug 15744
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-27 05:49 UTC by James McKelvey
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: alphaev56-unknown-linux-gnu
Target: alphaev56-unknown-linux-gnu
Build: alphaev56-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Preprocessed source of genmodes.c (22.03 KB, text/plain)
2004-05-27 21:03 UTC, James McKelvey
Details

Note You need to log in before you can comment on or make changes to this bug.
Description James McKelvey 2004-05-27 05:49:18 UTC
Recent CVS

alpha1:gcc-obj>uname -a
Linux alpha1 2.4.9-40 #1 Mon Sep 23 08:14:02 EDT 2002 alpha unknown

alpha1:gcc-obj>gcc -v
Reading specs from /usr/local/lib/gcc/alphaev56-unknown-linux-gnu/3.5.0/specs
Configured with: ../gcc/configure --verbose --enable-languages=c++
Thread model: posix
gcc version 3.5.0 20040207 (experimental)

alpha1:gcc-obj>alias CONFIGURE
alias CONFIGURE='../gcc-3.3/configure --verbose --enable-languages=c++'

alpha1:gcc-obj>alias BUILD
alias BUILD='nice gmake CFLAGS='\''-O'\'' BOOT_CFLAGS='\''-O'\'' 
LIBCFLAGS='\''-g -O'\'' LIBCXXFLAGS='\''-g -O -fno-implicit-templates'\'' 
bootstrap'


Bootstrapping the compiler
gmake[1]: Entering directory `/usr/home/mckelvey/software/gcc-obj/gcc'
gmake CC=" stage2/xgcc -Bstage2/ 
-B/usr/local/alphaev56-unknown-linux-gnu/bin/" CC_FOR_BUILD=" stage2/xgcc 
-Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/" \
	 STAGE_PREFIX=stage2/ \
	 ADAFLAGS="" CFLAGS="-O" LDFLAGS="" WARN_CFLAGS="\$(GCC_WARN_CFLAGS)" 
STRICT_WARN="-pedantic -Wno-long-long -Wno-variadic-macros 
-Wold-style-definition -Werror" libdir=/usr/local/lib LANGUAGES="c gcov 
gcov-dump c++" MAKEINFO="makeinfo --split-size=5000000" 
MAKEINFOFLAGS="--no-split" MAKEOVERRIDES= OUTPUT_OPTION="-o \$@" \
	 CFLAGS="-O" WERROR="-Werror" 
gmake[2]: Entering directory `/usr/home/mckelvey/software/gcc-obj/gcc'
stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/ -c   -O 
-DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror 
-fno-common   -DHAVE_CONFIG_H -DGENERATOR_FILE    -I. -I. -I../../gcc/gcc 
-I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include 
-I../../gcc/gcc/../libbanshee/libcompat -I../../gcc/gcc/../libbanshee 
-I../../gcc/gcc/../libbanshee/points-to  ../../gcc/gcc/genmodes.c -o genmodes.o
In file included from ./bconfig.h:5,
                 from ../../gcc/gcc/genmodes.c:22:
../../gcc/gcc/../include/ansidecl.h:171:24: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:241:6: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:241:20: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:247:7: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:247:22: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:256:7: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:256:22: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:273:7: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:273:22: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:296:7: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:296:22: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:311:5: integer constant is too large for 
its type
../../gcc/gcc/../include/ansidecl.h:311:19: integer constant is too large for 
its type
In file included from ../../gcc/gcc/system.h:107,
                 from ../../gcc/gcc/genmodes.c:23:
../../gcc/gcc/../include/safe-ctype.h:71:19: integer constant is too large for 
its type
../../gcc/gcc/../include/safe-ctype.h:74:17: integer constant is too large for 
its type
../../gcc/gcc/../include/safe-ctype.h:75:19: integer constant is too large for 
its type
../../gcc/gcc/../include/safe-ctype.h:76:19: integer constant is too large for 
its type
../../gcc/gcc/../include/safe-ctype.h:89:42: integer constant is too large for 
its type
In file included from ../../gcc/gcc/system.h:107,
                 from ../../gcc/gcc/genmodes.c:23:
../../gcc/gcc/../include/safe-ctype.h:89: warning: ISO C forbids zero-size 
array `_sch_istable'
../../gcc/gcc/../include/safe-ctype.h:114:42: integer constant is too large 
for its type
../../gcc/gcc/../include/safe-ctype.h:114: warning: ISO C forbids zero-size 
array `_sch_toupper'
../../gcc/gcc/../include/safe-ctype.h:115:42: integer constant is too large 
for its type
../../gcc/gcc/../include/safe-ctype.h:115: warning: ISO C forbids zero-size 
array `_sch_tolower'
In file included from ../../gcc/gcc/system.h:470,
                 from ../../gcc/gcc/genmodes.c:23:
../../gcc/gcc/../include/libiberty.h:257:39: integer constant is too large for 
its type
In file included from ../../gcc/gcc/system.h:470,
                 from ../../gcc/gcc/genmodes.c:23:
../../gcc/gcc/../include/libiberty.h:257: warning: ISO C forbids zero-size 
array `_hex_value'
../../gcc/gcc/../include/libiberty.h:306:5: integer constant is too large for 
its type
../../gcc/gcc/../include/libiberty.h:306:20: integer constant is too large for 
its type
In file included from ../../gcc/gcc/genmodes.c:23:
../../gcc/gcc/system.h:482:6: integer constant is too large for its type
../../gcc/gcc/system.h:482:20: integer constant is too large for its type
../../gcc/gcc/system.h:490:6: integer constant is too large for its type
../../gcc/gcc/system.h:490:21: integer constant is too large for its type
../../gcc/gcc/system.h:501:6: integer constant is too large for its type
../../gcc/gcc/system.h:501:20: integer constant is too large for its type
../../gcc/gcc/system.h:510:6: integer constant is too large for its type
../../gcc/gcc/system.h:510:20: integer constant is too large for its type
../../gcc/gcc/system.h:559:6: integer constant is too large for its type
../../gcc/gcc/system.h:559:21: integer constant is too large for its type
In file included from ../../gcc/gcc/genmodes.c:642:
../../gcc/gcc/machmode.def:146:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:150:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:153:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:158:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:159:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:160:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:161:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:162:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:173:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:174:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:178:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:186:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:187:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:190:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:191:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:192:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:193:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:197:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:198:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:199:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:206:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:208:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:209:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:210:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:214:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:215:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:216:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/machmode.def:217:1: integer constant is so large that it is 
unsigned
../../gcc/gcc/genmodes.c:201: warning: 'new_adjust' defined but not used
../../gcc/gcc/genmodes.c:547: warning: 'reset_float_format' defined but not 
used
../../gcc/gcc/genmodes.c:570: warning: 'make_partial_integer_mode' defined but 
not used
gmake[2]: *** [genmodes.o] Error 1
gmake[2]: Leaving directory `/usr/home/mckelvey/software/gcc-obj/gcc'
gmake[1]: *** [stage3_build] Error 2
gmake[1]: Leaving directory `/usr/home/mckelvey/software/gcc-obj/gcc'
gmake: *** [bootstrap] Error 2
Comment 1 Falk Hueffner 2004-05-27 09:48:34 UTC
Which gcc version exactly are you trying to build here?
Comment 2 James McKelvey 2004-05-27 16:23:56 UTC
(In reply to comment #1)> Which gcc version exactly are you trying to build here?The latest CVS, right off the head; as of yesterday, at any rate.
Comment 3 Falk Hueffner 2004-05-27 16:46:04 UTC
I tried today, with exactly the options you mentioned, works fine for me.
Could you retry?
Comment 4 James McKelvey 2004-05-27 17:01:26 UTC
(In reply to comment #3)
> I tried today, with exactly the options you mentioned, works fine for me.
Could you retry?


Yes, I updated CVS and am bootstrapping now.

Comment 5 James McKelvey 2004-05-27 21:01:21 UTC
OK, it failed again as before. I am posting the genmodes.i file if that helps.
Comment 6 James McKelvey 2004-05-27 21:03:18 UTC
Created attachment 6403 [details]
Preprocessed source of genmodes.c
Comment 7 James McKelvey 2004-05-30 18:52:25 UTC
OK, what is the next step here? I refetched everything from CVS yesterday and it
failed the same way. I am building in the recommended manner, in a separate
empty directory, with approved configuration and build options that have worked
for months in their present exact form.

I don't know why -Werror is being set, but the main problem is that the size
warnings point to something very basic.

If I remove -Werror I can get genmodes and errors to compile, but then the link
of genmodes fails thusly:

stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/   -O
-DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror
-fno-common   -DHAVE_CONFIG_H -DGENERATOR_FILE  -o genmodes \
 genmodes.o errors.o ../libiberty/libiberty.a
stage2/crtbegin.o: In function `frame_dummy':
stage2/crtbegin.o(.text+0x94): undefined reference to `_Jv_RegisterClasses'
collect2: ld returned 1 exit status

Comment 8 Andrew Pinski 2004-05-30 18:55:27 UTC
What binutils version are you using?
Comment 9 James McKelvey 2004-05-30 22:42:21 UTC
alpha1:software>ld -v   
GNU ld version 2.12.1
Comment 10 Andrew Pinski 2004-05-31 01:26:23 UTC
Can you try without setting CFLAGS?
Comment 11 James McKelvey 2004-06-01 01:02:13 UTC
I tried without CFLAGS, and then with just:

gmake LIBCXXFLAGS='-fno-implicit-templates' bootstrap

and got the same result.
Comment 12 Andrew Pinski 2004-06-01 01:04:44 UTC
The only patch I can think of which could have caused this is the moving libcpp to the toplevel.
Comment 13 James McKelvey 2004-06-04 05:24:59 UTC
I noticed that the strange warnings appeared as early as stage1, although they
didn't cause any errors at that point. So I investigated and found that gcc 2.96
is being used as the bootstrap compiler. Switching to 3.5.0, the problem seems
to go away.

I can't complete the build because of another problem, but it gets past genmodes
and there is no sign of the "too large" warnings.

I've been using 2.96 for a long time, and it always worked before.
Comment 14 Andrew Pinski 2004-06-04 05:28:11 UTC
Ok, then this is a dup of bug 15744.  The problem was caused by the moving of libcpp to the toplevel.

*** This bug has been marked as a duplicate of 15744 ***