This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: ICE gcc-20000425 & libg++-2.8.1.3 (20000419)
- To: Matthias Klose <doko at cs dot tu-berlin dot de>
- Subject: Re: ICE gcc-20000425 & libg++-2.8.1.3 (20000419)
- From: Manfred Hollstein <manfred dot h at gmx dot net>
- Date: Fri, 28 Apr 2000 19:13:53 +0200
- CC: gcc-bugs at gcc dot gnu dot org
- References: <14598.63693.432131.310756@gargle.gargle.HOWL>
- Reply-To: manfred dot h at gmx dot net
Alexandre Oliva posted a patch the other day, which backs out a patch
from Jan causing this failure. I've attached a copy of the patch.
Cheers.
l8er
manfred
Matthias Klose wrote:
>
> Compiling libg++-2.8.1.3 (20000419) with gcc CVS HEAD 20000425 on
> ix86-linux:
>
> test x"yes" != xyes || \
> /home/doko/src/gcc/gcc-snapshot-20000425/build/gcc/g++ -B/home/doko/src/gcc/gcc-snapshot-20000425/build/gcc/ -B/usr/lib/gcc-ss/i386-linux/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -nostdinc++ -I. -I../../libio -I/home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src -I/home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/../../libio -I/home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/../../libstdc++ -I/home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/../src -fpic /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc -o pic/Fix.o
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc: In function `void show (const Fix
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc: &)':
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: Internal compiler error in
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: `expand_call', at calls.c:2810
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: Please submit a full bug
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: report.
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: See
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: <URL:http://www.gnu.org/software/gcc/bugs.html>
> /home/doko/src/gcc/gcc-snapshot-20000425/src/libg++/src/Fix.cc:608: for instructions.
> make[5]: *** [Fix.o] Error 1
> make[5]: Leaving directory `/home/doko/src/gcc/gcc-snapshot-20000425/build/i386-linux/libg++/src'
> make[4]: *** [src/libgxx.list] Error 2
> make[4]: Leaving directory `/home/doko/src/gcc/gcc-snapshot-20000425/build/i386-linux/libg++'
> make[3]: *** [all-target-libg++] Error 2
> make[3]: Leaving directory `/home/doko/src/gcc/gcc-snapshot-20000425/build'
> make[2]: *** [bootstrap-lean] Error 2
> make[2]: Leaving directory `/home/doko/src/gcc/gcc-snapshot-20000425/build'
>
> ------------------------------------------------------------------------
> Name: Fix.ii.gz
> Fix.ii.gz Type: unspecified type (application/octet-stream)
> Encoding: base64
> Description: Fix.ii.gz
--
Manfred Hollstein If you have any questions about GNU software:
Hindenburgstr. 13/1 <mailto:manfred.h@gmx.net>
75446 Wiernsheim, FRG <http://www.cygnus.com/~manfredh/>
PGP: <http://www.cygnus.com/~manfredh/manfred.asc>
2000-04-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* calls.c (expand_call, emit_library_call_value_1): Comment out
the sanity check added by Jan Hubicka on Apr 12.
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el egcs-20000423.orig/gcc/calls.c egcs-20000423/gcc/calls.c
--- egcs-20000423.orig/gcc/calls.c Thu Apr 20 19:12:40 2000
+++ egcs-20000423/gcc/calls.c Sun Apr 23 18:24:10 2000
@@ -2800,11 +2800,15 @@ expand_call (exp, target, ignore)
/* All arguments and registers used for the call must be set up by
now! */
+#if 0
+ /* There's something wrong with this check. On IA32, it fails
+ for g++.oliva/stkalign.C. */
#ifdef PREFERRED_STACK_BOUNDARY
- /* Stack must to be properly aligned now. */
+ /* Stack must be properly aligned now. */
if (stack_pointer_delta & (preferred_stack_boundary / BITS_PER_UNIT - 1))
abort();
#endif
+#endif
/* Generate the actual call instruction. */
emit_call_1 (funexp, fndecl, funtype, unadjusted_args_size,
@@ -3705,10 +3709,14 @@ emit_library_call_value_1 (retval, orgfu
valreg = (mem_value == 0 && outmode != VOIDmode
? hard_libcall_value (outmode) : NULL_RTX);
+#if 0
+ /* There may be something wrong with this check. On IA32, a similar
+ test in expand_call fails for g++.oliva/stkalign.C. */
#ifdef PREFERRED_STACK_BOUNDARY
- /* Stack must to be properly aligned now. */
+ /* Stack must be properly aligned now. */
if (stack_pointer_delta & (PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT - 1))
abort();
+#endif
#endif
/* We pass the old value of inhibit_defer_pop + 1 to emit_call_1, which