From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Received: (qmail 26804 invoked by uid 71); 11 Jan 2003 08:46:01 -0000 Date: Sat, 11 Jan 2003 08:46:00 -0000 Message-ID: <20030111084601.26803.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: =?iso-8859-1?Q?Christian_J=F6nsson?= Subject: Re: c++/8183: ICE when compiling classes with virtual base class on sparc64-sun-solaris2.8 Reply-To: =?iso-8859-1?Q?Christian_J=F6nsson?= X-SW-Source: 2003-01/txt/msg00707.txt.bz2 List-Id: The following reply was made to PR c++/8183; it has been noted by GNATS. >>From c.christian.joensson@telia.com Mon Jan 13 00:57:13 2003 From: =?iso-8859-1?Q?Christian_J=F6nsson?= To: Robert Schiele Cc: =?iso-8859-1?Q?Christian_J=F6nsson?= , gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, ghazi@caip.rutgers.edu Subject: Re: c++/8183: ICE when compiling classes with virtual base class on sparc64-sun-solaris2.8 Date: Sat, 11 Jan 2003 09:39:38 +0100 On Thu, Jan 09, 2003 at 02:02:33PM +0100, Robert Schiele wrote: > On Thu, Jan 09, 2003 at 01:12:24PM +0100, Christian J=F6nsson wrote: > > however, if I just build the compiler, i.e., not doing a bootstrap, I d= o=20 > > not get the ICE. >=20 > Well, this is perfectly clear, because if you just built the compiler, > you didn't compile anything with such a class construction, as the > compiler is written in C, not C++. well, "make" does build both the compiler and the support libraries, such as the libstdc++-v3 that contains the complex_io.cc file... there it's an ICE... =20 > But I would expect the such built compiler to also fail building my > test case, doesn't it? Sure does. =20 > > So, I wonder what the analysis is? >=20 > I can't say very much about that, but it seems so that there is > something broken in the C++ frontend on 64 bit systems. I assume some > false assumptions about size of specific data types that are only > correct on some platforms. >=20 > I don't have tried on other 64 bit platforms, but for Solaris I can > say that I am able to build both 32 and 64 bit versions of the > testcase successfully with the compiler built itself in 32 bit mode. > But with a compiler built in 64 bit mode, the bug is triggered > independent of the target being 32 or 64 bit. Likewise here, building for sparc-linux gets me a through, but not for sprac64-linux. I just tried the cvs main trunk, now 3.4 (experimental), and it's still there. A bootstrap gets me here: chj@u1sparc:/usr/local/src/gcc-binutils/trunk/objdir$ /usr/local/src/gcc-bi= nutils/trunk/objdir/gcc/xgcc -shared-libgcc -B/usr/local/src/gcc-binutils/t= runk/objdir/gcc/ -nostdinc++ -L/usr/local/src/gcc-binutils/trunk/objdir/spa= rc64-linux/32/libstdc++-v3/src -L/usr/local/src/gcc-binutils/trunk/objdir/s= parc64-linux/32/libstdc++-v3/src/.libs -B/usr/local/gcc-binutils/sparc64-li= nux/bin/ -B/usr/local/gcc-binutils/sparc64-linux/lib/ -isystem /usr/local/g= cc-binutils/sparc64-linux/include -L/usr/local/src/gcc-binutils/trunk/objdi= r/ld -m32 -nostdinc++ -I/usr/local/src/gcc-binutils/trunk/objdir/sparc64-li= nux/32/libstdc++-v3/include/sparc64-linux -I/usr/local/src/gcc-binutils/tru= nk/objdir/sparc64-linux/32/libstdc++-v3/include -I/usr/local/src/gcc-binuti= ls/trunk/gcc-binutils/libstdc++-v3/libsupc++ -I/usr/local/src/gcc-binutils/= trunk/gcc-binutils/libstdc++-v3/libmath -g -O2 -D_GNU_SOURCE -m32 -fno-impl= icit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-= show-location=3Donce -ffunction-sections -fdata-sections -c /usr/local/src/= gcc-binutils/trunk/gcc-binutils/libstdc++-v3/src/complex_io.cc -fPIC -DPIC= -o .libs/complex_io.o In file included from /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linu= x/32/libstdc++-v3/include/sstream:635, from /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linu= x/32/libstdc++-v3/include/complex:51, from /usr/local/src/gcc-binutils/trunk/gcc-binutils/libstd= c++-v3/src/complex_io.cc:30: /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/incl= ude/iosfwd: In instantiation of `std::basic_iostream >': /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/incl= ude/bits/sstream.tcc:231: instantiated from `std::basic_stringstream, std::allocator >' /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/incl= ude/bits/sstream.tcc:231: instantiated from here /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/incl= ude/iosfwd:64: internal compiler error: in lookup_base_r, at cp/search.c:283 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. chj@u1sparc:/usr/local/src/gcc-binutils/trunk/objdir$ chj@u1sparc:/usr/loca= l/src/gcc-binutils/trunk/objdir$ /usr/local/src/gcc-binutils/trunk/objdir/g= cc/xgcc -shared-libgcc -B/usr/local/src/gcc-binutils/trunk/objdir/gcc/ -nos= tdinc++ -L/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc= ++-v3/src -L/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libst= dc++-v3/src/.libs -B/usr/local/gcc-binutils/sparc64-linux/bin/ -B/usr/local= /gcc-binutils/sparc64-linux/lib/ -isystem /usr/local/gcc-binutils/sparc64-l= inux/include -L/usr/local/src/gcc-binutils/trunk/objdir/ld -m32 -nostdinc++= -I/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/i= nclude/sparc64-linux -I/usr/local/src/gcc-binutils/trunk/objdir/sparc64-lin= ux/32/libstdc++-v3/include -I/usr/local/src/gcc-binutils/trunk/gcc-binutils= /libstdc++-v3/libsupc++ -I/usr/local/src/gcc-binutils/trunk/gcc-binutils/li= bstdc++-v3/libmath -g -O2 -D_GNU_SOURCE -m32 -fno-implicit-templates -Wall = -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=3Donce = -ffunction-sections -fdata-sections -c ~/ice.ii -fPIC -DPIC -o /tmp/out.o= =20 /home/chj/ice.ii:4: internal compiler error: in lookup_base_r, at cp/search= .c: 283 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. chj@u1sparc:/usr/local/src/gcc-binutils/trunk/objdir$=20 This was on a Aurora SPARC Linux 0.42 build (Douglas) Ultra1 sun4u system with these packages: binutils 2.13.1 20021207 sparc64-linux bison-1.35-1 dejagnu-1.4.2-3 expect-5.32.2-67 gcc 3.2.2 20021204 (prerelease) sparc64-linux glibc-2.2.5-42 glibc64-2.2.5-42 kernel-2.4.19-1.2sparc tcl-8.3.3-67 In-tree joined gcc and binutils cvs trunks. LAST_UPDATED: Fri Jan 10 15:24:38 UTC 2003 #! /bin/sh # Generated automatically by configure. # Run this file to recreate the current configuration. # This directory was configured as follows, # on host u1sparc.j-son.org: # # /usr/local/src/gcc-binutils/trunk/gcc-binutils/configure sparc64-linux -= -prefix=3D/usr/local/gcc-binutils --enable-shared --enable-threads=3Dposix = --with-gcc-version-trigger=3D/usr/local/src/gcc-binutils/trunk/gcc-binutils= /gcc/version.c # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. Cheers, /ChJ