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