Through a change in gcc-4.1.2/config/mh-x86omitfp to replace "-O2 -fomit-framepointer" with "-O3" the bootstrap process will fail with the following warnings:
../../gcc-4.1.2/libcpp/traditional.c: In function '_cpp_scan_out_logical_line': ../../gcc-4.1.2/libcpp/traditional.c:349: warning: 'fmacro.args' may be used uninitialized in this function ../../gcc-4.1.2/libcpp/traditional.c:349: warning: 'fmacro.node' may be used uninitialized in this function ../../gcc-4.1.2/libcpp/traditional.c:349: warning: 'fmacro.offset' may be used uninitialized in this function ../../gcc-4.1.2/libcpp/traditional.c:349: warning: 'fmacro.argc' may be used uninitialized in this function ../../gcc-4.1.2/libcpp/traditional.c:349: warning: 'fmacro.line' may be used uninitialized in this function When bootstrapping without Werror it will produce some more warnings and eventually fails (during a profiledbootstrap) in an internal compiler error. Can be reproduced with: 1) Edit config/mh-x86omitfp and set BOOT_CFLAGS to "-O3" 2) configure --prefix=/home/sven/gnu --enable-languages=c --enable-bootstrap 3) make bootstrap The following warnings probably explain why there is an internal compiler error: gengtype-lex.c:3400: warning: no previous prototype for 'yyget_lineno' gengtype-lex.c:3409: warning: no previous prototype for 'yyget_in' gengtype-lex.c:3417: warning: no previous prototype for 'yyget_out' gengtype-lex.c:3425: warning: no previous prototype for 'yyget_leng' gengtype-lex.c:3434: warning: no previous prototype for 'yyget_text' gengtype-lex.c:3443: warning: no previous prototype for 'yyset_lineno' gengtype-lex.c:3455: warning: no previous prototype for 'yyset_in' gengtype-lex.c:3460: warning: no previous prototype for 'yyset_out' gengtype-lex.c:3465: warning: no previous prototype for 'yyget_debug' gengtype-lex.c:3470: warning: no previous prototype for 'yyset_debug' gengtype-lex.c:3476: warning: no previous prototype for 'yylex_destroy' build/gengtype warning: structure `c_arg_info' used but not defined warning: structure `c_switch' used but not defined warning: structure `et_node' used but not defined warning: structure `loop' used but not defined warning: structure `ipa_reference_vars_info_d' used but not defined warning: structure `reg_info_def' used but not defined warning: structure `value_set' used but not defined warning: structure `c_arg_info' used but not defined warning: structure `c_switch' used but not defined warning: structure `et_node' used but not defined warning: structure `loop' used but not defined warning: structure `ipa_reference_vars_info_d' used but not defined warning: structure `reg_info_def' used but not defined warning: structure `value_set' used but not defined -- Summary: warnings about traditional.c during bootstrap with -O3, leading to internal error Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sdack at gmx dot de GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30853