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]

[Bug c++/51614] New: [4.6/4.7 Regression] ICE with ambiguous base class


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.


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