1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// { dg-do run } int status; struct A { virtual void foo () { status = 1; } }; struct B { }; struct C : public A, public B { }; struct D { virtual void baz () { } }; struct E : public D, public C { void foo () { status = 0; } }; int main () { E* ep = new E; ep->foo(); return status; }