1 // { dg-do assemble } 2 // Origin: Frank Pilhofer <fp@fpx.de> 3 4 struct A { 5 virtual void f (); 6 }; 7 8 struct B : virtual public A { 9 void f (); 10 }; 11 12 struct C : virtual public A { 13 void f (); 14 }; 15 16 struct D : virtual public B, virtual public C { 17 void f (); 18 }; 19 20 struct Di : virtual public B, virtual public C, virtual public D {}; 21