This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gcc bootstrap broken on i686-linux-gnu
- From: Andreas Jaeger <aj at suse dot de>
- To: gcc at gcc dot gnu dot org
- Cc: Roger Sayle <roger at eyesopen dot com>
- Date: Mon, 29 Jul 2002 15:48:39 +0200
- Subject: gcc bootstrap broken on i686-linux-gnu
I do build gcc with --enable-checking=misc,tree,rtl,gc,rtlflag on
i686-linux-gnu and it fails currently building libjava:
/builds/gcc/gcc/xgcc -shared-libgcc -B/builds/gcc/gcc/ -nostdinc++ -L/builds/gcc/i686-pc-linux-gnu/libstdc++-v3/src -L/builds/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/opt/gcc/3.3-devel/i686-pc-linux-gnu/bin/ -B/opt/gcc/3.3-devel/i686-pc-linux-gnu/lib/ -isystem /opt/gcc/3.3-devel/i686-pc-linux-gnu/include -DHAVE_CONFIG_H -I. -I/cvs/gcc/libjava -I./include -I./gcj -I/cvs/gcc/libjava -Iinclude -I/cvs/gcc/libjava/include -I/cvs/gcc/libjava/../boehm-gc/include -DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I/cvs/gcc/libjava/libltdl -I/cvs/gcc/libjava/libltdl -I/cvs/gcc/libjava/.././libjava/../gcc -I/cvs/gcc/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D__NO_MATH_INLINES -ffloat-store -I/usr/X11R6/include -W -Wall -D_GNU_SOURCE -DPREFIX=\"/opt/gcc/3.3-devel\" -g -O2 -D_GNU_SOURCE -Wp,-MD,.deps/verify.pp -c /cvs/gcc/libjava/verify.cc -fPIC -DPIC -o .libs/verify.o
/cvs/gcc/libjava/verify.cc: In function `void debug_print(const char*, ...)':
/cvs/gcc/libjava/verify.cc:40: warning: unused parameter `const char*fmt'
/cvs/gcc/libjava/interpret.cc: In member function `void
_Jv_InterpMethod::run(void*, ffi_raw*)':
/cvs/gcc/libjava/interpret.cc:3170: internal compiler error: RTL check:
expected code `reg', have `subreg' in split_2, at insn-recog.c:61241
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
I nailed it down to this patch. Bootstrapping with that patch applied
causes the ICE, without it everything seems to be fine.
Roger, can you investigate, please?
I don't understand how your patch can cause this problem but it seems
to be the case here.
+2002-07-27 Roger Sayle <roger@eyesopen.com>
+
+ * Makefile.in: rtlanal.o now depends upon real.h.
+
+ * flags.h [flag_signaling_nans]: New flag.
+ [HONOR_SNANS]: New macro.
+
+ * toplev.c [flag_signaling_nans]: Initialize to false.
+ (f_options): Add processing for "-fsignaling-nans".
+ (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
+ (process_options): flag_signaling_nans implies flag_trapping_math.
+
+ * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
+ when -fsignaling-nans. First step to implementing WG14's N965.
+
+ * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
+ 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
+ [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
+
+ * simplify-rtx.c (simplify_relational_operation): Conditionalize
+ transforming abs(x) < 0.0 into false on !HONOR_SNANS.
+
+ * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
+ required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
+ UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
+ -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
+ not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
+
+ * doc/invoke.texi: Document new -fsignaling-nans compiler option.
+
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj