[Bug c++/51614] New: [4.6/4.7 Regression] ICE with ambiguous base class
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Dec 18 22:18:00 GMT 2011
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.
More information about the Gcc-bugs
mailing list