I just tried to compile Linux kernel version 2.6.16.9 with a recent GNU C compiler version 4.2 snapshot 20060422.
The compiler snapshot said /home/dcb/gnu/42-20060422/results/bin/gcc -g -O3 -Wall -Wp,-MD,drivers/char/.synclink_gt.o.d -nostdinc -isystem /home/dcb/gnu/42-20060422/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 -m64 -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks -Wno-sign-compare -fno-asynchronous-unwind-tables -funit-at-a-time -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(synclink_gt)" -D"KBUILD_MODNAME=KBUILD_STR(synclink_gt)" -c -o drivers/char/.tmp_synclink_gt.o drivers/char/synclink_gt.c drivers/char/synclink_gt.c: In function 'rx_async': drivers/char/synclink_gt.c:1774: internal compiler error: tree check: expected class 'constant', have 'binary' (bit_and_expr) in convert_and_check, at c-common.c:1083 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make[2]: *** [drivers/char/synclink_gt.o] Error 1 Preprocessed source code attached. No special flags required. -- Summary: tree check fail for legal code 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: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27273