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