This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]