I just tried to compile the Suse Linux package gnuboy-1.0.3-1060.55 with the GNU g++ version 4.5 snapshot 20090507.
The compiler said gcc -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -pedantic -Wall -Wno-implicit -Wno-long-long -O3 -fstrength-reduce -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop -fexpensive-optimizations -fforce-addr -fomit-frame-pointer -I. -I/usr/local/include -I./sys/nix -DHAVE_CONFIG_H -DIS_LITTLE_ENDIAN -DIS_LINUX -c lcd.c -o lcd.o cc1: internal compiler error: in common_handle_option, at opts.c:2079 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. I'd like to be able to show the C code that causes this problem, but the problem appears to be in the handling of options to the compiler. valgrind doesn't seem to help. The code at line 2079 of opts.c is default: /* If the flag was handled in a standard way, assume the lack of processing here is intentional. */ gcc_assert (cl_options[scode].flag_var); break; which doesn't help me much. It would be better code if it gave us a clue about the unexpected value of scode or perhaps a sanity check on the value of scode before using it as an index into cl_options might help. -- Summary: ice in common_handle_option Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dcb314 at hotmail dot com GCC host triplet: x86_64-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40144