1// { dg-options "-w" } 2 3struct c0 { virtual void f (); }; 4struct c1 : public c0 {}; 5struct c2 : public c0 {}; 6struct c3 : virtual public c0, public c1, public c2 {}; 7struct c5 {}; 8struct c7 : virtual public c3 {}; 9struct c8 : virtual public c1 { virtual void f (); }; 10struct c9 {}; 11struct c10 : virtual public c8, virtual public c7 {}; 12struct c11 : virtual public c5 {}; 13struct c12 : virtual public c8, public c7 {}; 14struct c13 : public c9, public c3, virtual public c2 {}; 15struct c14 : virtual public c1, virtual public c5, virtual public c0, 16 public c2 {}; 17struct c15 : public c14, public c12, virtual public c3 {}; 18struct c16 : public c12, public c10, public c2 { virtual void f (); }; 19struct c17 : virtual public c13, public c15, virtual public c0, 20 virtual public c16 {}; 21