Hi, I identified the patch that causes the Ada bootstrap failure on x86 and x86_64 (at least): ../../xgcc -B../../ -c -g -O2 -fPIC -W -Wall -gnatpg s-stratt.adb -o s-stratt.o +===========================GNAT BUG DETECTED==============================+ | 4.0.0 20041123 (experimental) (i686-pc-linux-gnu) GCC error: | | in gen_lowpart_general, at rtlhooks.c:58 | | Error detected at s-stratt.adb:671:1 | works: cvs up -D "2004/11/24 00:06:17 UTC" breaks: cvs up -D "2004/11/24 00:10:17 UTC" date: 2004/11/24 00:08:17; author: rth; state: Exp; lines: +11 -0 * rtl.h (validate_subreg): Declare. * emit-rtl.c (validate_subreg): New. (gen_rtx_SUBREG): Use it. * simplify-rtx.c (simplify_subreg): Likewise. (simplify_gen_subreg): Likewise. Remove duplicate asserts. * expr.c (emit_move_insn_1): Tidy complex move code. Use memory fallback whenever gen_realpart/gen_imagpart would not be able to create SUBREGs.
Also on ppc-darwin and ppc-linux.
Should be fixed by: 2004-11-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * expmed.c (extract_bit_field): When extracting from non-integer mode, force a SUBREG into a register because we may be taking a further SUBREG of it. Testing on ppc-darwin right now.
Fixed.