No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gdb6 / gdb / testsuite / gdb.cp / m-data.cc
blobc97e7195f7758068cc99fc5a800302e197bd5710
1 // 2002-05-13
3 enum region { oriental, egyptian, greek, etruscan, roman };
5 // Test one.
6 class gnu_obj_1
8 protected:
9 typedef region antiquities;
10 const bool test;
11 const int key1;
12 long key2;
14 antiquities value;
16 public:
17 gnu_obj_1(antiquities a, long l): test(true), key1(5), key2(l), value(a) {}
20 // Test two.
21 template<typename T>
22 class gnu_obj_2: public virtual gnu_obj_1
24 protected:
25 antiquities value_derived;
27 public:
28 gnu_obj_2(antiquities b): gnu_obj_1(oriental, 7), value_derived(b) { }
29 };
31 // Test three.
32 template<typename T>
33 class gnu_obj_3
35 protected:
36 typedef region antiquities;
37 gnu_obj_2<int> data;
39 public:
40 gnu_obj_3(antiquities b): data(etruscan) { }
41 };
43 int shadow = 0;
45 class C
47 public:
48 C (int x) : shadow (x) {}
49 void marker () {}
50 private:
51 int shadow;
54 int main()
56 gnu_obj_1 test1(egyptian, 4589);
57 gnu_obj_2<long> test2(roman);
58 gnu_obj_3<long> test3(greek);
60 C theC (1); // breakpoint: first-constructs-done
61 theC.marker ();
63 return 0;