I just tried to compile a recent Linux kernel with a recent GNU C++ compiler version 4.2 snapshot 20060218.
The compiler snapshot said /home/dcb/gnu/42-20060218/results/bin/gcc -g -O3 -Wall -Wp,-MD,security/keys/.keyring.o.d -nostdinc -isystem /home/dcb/gnu/42-20060218/results/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -march=k8 -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks -Wno-sign-compare -funit-at-a-time -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wdeclaration-after-statement -Wno-pointer-sign -DKBUILD_BASENAME=keyring -DKBUILD_MODNAME=keyring -c -o security/keys/.tmp_keyring.o security/keys/keyring.c In file included from include/asm/smp.h:22, from include/linux/smp.h:19, from include/linux/sched.h:26, from include/linux/module.h:10, from security/keys/keyring.c:12: include/asm/apic.h: In function 'apic_write_atomic': include/asm/apic.h:47: warning: value computed is not used security/keys/keyring.c: In function 'keyring_clear_rcu_disposal': security/keys/keyring.c:970: internal compiler error: in set_value_range, at tree-vrp.c:150 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Preprocessed source code attached. -Os flag required. -- Summary: ice on valid C code with flag -Os Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dcb314 at hotmail dot com GCC host triplet: x86+64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26425