This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/51614] New: [4.6/4.7 Regression] ICE with ambiguous base class
- From: "reichelt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 18 Dec 2011 22:18:06 +0000
- Subject: [Bug c++/51614] New: [4.6/4.7 Regression] ICE with ambiguous base class
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51614
Bug #: 51614
Summary: [4.6/4.7 Regression] ICE with ambiguous base class
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: reichelt@gcc.gnu.org
The following invalid code snippet triggers an ICE since GCC 4.6.0:
======================
struct A
{
void foo();
};
struct B : A {};
struct C : A {};
struct D : B, C
{
D() { A::foo(); }
};
======================
bug.cc: In constructor 'D::D()':
bug.cc:11:16: internal compiler error: in build_base_path, at cp/class.c:272
Please submit a full bug report, [etc.]
In earlier versions, a misleading error message was given:
bug.cc: In constructor 'D::D()':
bug.cc:11:16: error: cannot call member function 'void A::foo()' without object
Instead, the compiler should complain about an ambiguous base class.