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]
Other format: [Raw text]

Re: c++/8183: ICE when compiling classes with virtual base class on sparc64-sun-solaris2.8


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önsson wrote:
> > however, if I just build the compiler, i.e., not doing a bootstrap, I do 
> > not get the ICE.
> 
> 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...

 
> But I would expect the such built compiler to also fail building my
> test case, doesn't it?

Sure does.
 
> > So, I wonder what the analysis is?
> 
> 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.
> 
> 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-binutils/trunk/objdir/gcc/xgcc -shared-libgcc -B/usr/local/src/gcc-binutils/trunk/objdir/gcc/ -nostdinc++ -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/libstdc++-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-linux/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/include/sparc64-linux -I/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/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/libstdc++-v3/libmath -g -O2 -D_GNU_SOURCE -m32 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -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-linux/32/libstdc++-v3/include/sstream:635,
                 from /usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/include/complex:51,
                 from /usr/local/src/gcc-binutils/trunk/gcc-binutils/libstdc++-v3/src/complex_io.cc:30:
/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/include/iosfwd: In instantiation of `std::basic_iostream<char, std::char_traits<char> >':
/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/include/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/include/bits/sstream.tcc:231:   instantiated from here
/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/32/libstdc++-v3/include/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/local/src/gcc-binutils/trunk/objdir$ /usr/local/src/gcc-binutils/trunk/objdir/gcc/xgcc -shared-libgcc -B/usr/local/src/gcc-binutils/trunk/objdir/gcc/ -nostdinc++ -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/libstdc++-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-linux/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/include/sparc64-linux -I/usr/local/src/gcc-binutils/trunk/objdir/sparc64-linux/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/libstdc++-v3/libmath -g -O2 -D_GNU_SOURCE -m32 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c ~/ice.ii  -fPIC -DPIC -o /tmp/out.o 
/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$ 

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=/usr/local/gcc-binutils --enable-shared --enable-threads=posix --with-gcc-version-trigger=/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


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