This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/8183: ICE when compiling classes with virtual base class on sparc64-sun-solaris2.8
- From: Christian Jönsson <c dot christian dot joensson at telia dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 11 Jan 2003 08:46:01 -0000
- Subject: Re: c++/8183: ICE when compiling classes with virtual base class on sparc64-sun-solaris2.8
- Reply-to: Christian Jönsson <c dot christian dot joensson at telia dot com>
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?= <c.christian.joensson@telia.com>
To: Robert Schiele <rschiele@uni-mannheim.de>
Cc: =?iso-8859-1?Q?Christian_J=F6nsson?= <c.christian.joensson@telia.com>,
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<char, std::char_traits=
<char> >':
/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/incl=
ude/bits/sstream.tcc:231: instantiated from `std::basic_stringstream<char=
, std::char_traits<char>, std::allocator<char> >'
/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 <URL:http://www.gnu.org/software/gcc/bugs.html> 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 <URL:http://www.gnu.org/software/gcc/bugs.html> 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