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