Initial import
[gdb.git] / gdb / testsuite / gdb.cp / derivation.cc
blobf6d42e7d1de053d7ace17296f16972bc827c94f6
1 class A {
2 public:
3 int a;
4 int aa;
6 A()
8 a=1;
9 aa=2;
11 int afoo();
12 int foo();
18 class B {
19 public:
20 int b;
21 int bb;
23 B()
25 b=3;
26 bb=4;
28 int bfoo();
29 int foo();
35 class C {
36 public:
37 int c;
38 int cc;
40 C()
42 c=5;
43 cc=6;
45 int cfoo();
46 int foo();
52 class D : private A, public B, protected C {
53 public:
54 int d;
55 int dd;
57 D()
59 d =7;
60 dd=8;
62 int dfoo();
63 int foo();
68 class E : public A, B, protected C {
69 public:
70 int e;
71 int ee;
73 E()
75 e =9;
76 ee=10;
78 int efoo();
79 int foo();
84 class F : A, public B, C {
85 public:
86 int f;
87 int ff;
89 F()
91 f =11;
92 ff=12;
94 int ffoo();
95 int foo();
99 class G : private A, public B, protected C {
100 public:
101 int g;
102 int gg;
103 int a;
104 int b;
105 int c;
109 g =13;
110 gg =14;
111 a=15;
112 b=16;
113 c=17;
116 int gfoo();
117 int foo();
124 int A::afoo() {
125 return 1;
128 int B::bfoo() {
129 return 2;
132 int C::cfoo() {
133 return 3;
136 int D::dfoo() {
137 return 4;
140 int E::efoo() {
141 return 5;
144 int F::ffoo() {
145 return 6;
148 int G::gfoo() {
149 return 77;
152 int A::foo()
154 return 7;
158 int B::foo()
160 return 8;
164 int C::foo()
166 return 9;
170 int D::foo()
172 return 10;
176 int E::foo()
178 return 11;
182 int F::foo()
184 return 12;
188 int G::foo()
190 return 13;
195 void marker1()
200 int main(void)
203 A a_instance;
204 B b_instance;
205 C c_instance;
206 D d_instance;
207 E e_instance;
208 F f_instance;
209 G g_instance;
211 #ifdef usestubs
212 set_debug_traps();
213 breakpoint();
214 #endif
217 marker1(); // marker1-returns-here
219 a_instance.a = 20; // marker1-returns-here
220 a_instance.aa = 21;
221 b_instance.b = 22;
222 b_instance.bb = 23;
223 c_instance.c = 24;
224 c_instance.cc = 25;
225 d_instance.d = 26;
226 d_instance.dd = 27;
227 e_instance.e = 28;
228 e_instance.ee =29;
229 f_instance.f =30;
230 f_instance.ff =31;
235 return 0;