http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60566

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |ASSIGNED
   Last reconfirmed|                            |2014-03-25
         Resolution|INVALID                     |---
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org
            Summary|[4.9 Regression] r208573    |[4.9 Regression] r208573
                   |miscompiles kdelibs         |omits needed thunks
     Ever confirmed|0                           |1

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
Actually, this is an ABI breakage even without devirtualization:

wa.h:
struct A
{
  virtual void f() = 0;
  virtual ~A() {}
};

struct B: virtual A { int i; };
struct C: virtual A { int i; ~C(); };

wa.C:
#include "wa.h"
struct D: B, C { void f(); };
void D::f() {}

wa2.C:
#include "wa.h"
C::~C() { }
int main() {}

Compiling wa.C with 4.8 and wa2.C with 4.9 results in undefined symbol errors.

Reply via email to