This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/3130: ICE in build_rtti_vtbl_entries with complex virtual derivation
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/3130: ICE in build_rtti_vtbl_entries with complex virtual derivation
- From: snyder at fnal dot gov
- Date: Mon, 11 Jun 2001 17:29:46 -0500
- Reply-To: snyder at fnal dot gov
>Number: 3130
>Category: c++
>Synopsis: ICE in build_rtti_vtbl_entries with complex virtual derivation
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Mon Jun 11 15:46:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: scott snyder
>Release: 3.0 20010611 (prerelease)
>Organization:
>Environment:
System: Linux karma 2.2.16-22 #1 Tue Aug 22 16:49:06 EDT 2000 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../egcs/configure --prefix=/usr/local/egcs --enable-threads=posix --enable-long-long
>Description:
I get an ICE for the source below:
$ ./cc1plus yy.cc
yy.cc:14: Internal error #20010127.
yy.cc:14: Internal compiler error in build_rtti_vtbl_entries, at cp/class.c:
8199
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>How-To-Repeat:
------------------------------------------------------------
struct A
{
virtual ~A ();
};
struct B
{
virtual ~B ();
};
struct C : virtual public A, virtual public B {};
class D : public virtual C {};
class E : public virtual C, public virtual D {};
------------------------------------------------------------
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
I have this patch from Nathan installed:
2001-06-11 Nathan Sidwell <nathan@codesourcery.com>
PR c++/3089
* class.c (dfs_accumulate_vtbl_inits): Always walk down the
hierarchy looking for primary bases for a ctor
vtable. Recursively call oneself, if we meet our primary via
this route and haven't met it yet via inheritance graph order.
But i get the ICE both with and without the patch.