1 // { dg-options -w }
2 // { dg-do run }
3 
4 // Copyright (C) 2001 Free Software Foundation, Inc.
5 // Contributed by Nathan Sidwell 20 Nov 2001 <nathan@codesourcery.com>
6 
7 // Origin stefan@space.twc.de
8 // Bug 3145 case 4. Horribly complicated class hierarchy
9 
10 class C0
11 {};
12 class C1
13  :  virtual public C0
14 {};
15 class C2
16  :  public C0
17  ,  public C1
18 {};
19 class C3
20  :  virtual public C0
21  ,  public C1
22  ,  public C2
23 {};
24 class C4
25  :  public C2
26  ,  public C3
27  ,  virtual public C1
28  ,  virtual public C0
29 {};
30 class C5
31  :  virtual public C2
32  ,  public C1
33  ,  public C0
34 {};
35 class C6
36  :  virtual public C0
37  ,  virtual public C5
38  ,  public C1
39  ,  public C3
40  ,  public C4
41 {};
42 class C7
43  :  public C6
44  ,  virtual public C0
45  ,  public C1
46  ,  public C2
47  ,  virtual public C4
48 {};
49 class C8
50  :  public C2
51  ,  virtual public C6
52  ,  virtual public C7
53  ,  public C5
54  ,  public C3
55  ,  virtual public C4
56 {};
57 class C9
58  :  public C5
59  ,  virtual public C3
60  ,  virtual public C8
61  ,  public C0
62  ,  public C2
63  ,  public C7
64  ,  public C6
65  ,  public C4
66 {};
main()67 main() {
68   C0 c0;
69   C1 c1;
70   C2 c2;
71   C3 c3;
72   C4 c4;
73   C5 c5;
74   C6 c6;
75   C7 c7;
76   C8 c8;
77   C9 c9;
78 }
79