This is the mail archive of the gcc-bugs@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]

Re: ICE gcc-20000425 & libg++-2.8.1.3 (20000419)


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

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