gdb
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.cp / virtbase.cc
CommitLineData
edf3d5f3
TT
1// This first batch of classes are for PR 11226.
2namespace mc {
3 class Base {
4 protected:
5 int x;
6
7 public:
8 Base(void) { x = 2; };
9 };
10}
11
12namespace ph {
13 class Middle: public virtual mc::Base {
14 protected:
15 int y;
16
17 public:
18 Middle(void): mc::Base() { y = 3; };
19
20 int get_y(void)
21 {
22 return y; // breakpoint 1
23 };
24 };
25
26 class Derived: public virtual Middle {
27 protected:
28 int z;
29
30 public:
31 Derived(void): Middle() { z = 4; };
32
33 int get_z(void)
34 {
35 return z; // breakpoint 2
36 };
37 };
38}
39
40// These classes are for PR 9629.
41struct A {};
42struct B : virtual A {};
43
44struct C {int v; C() {v=11;};};
45struct D:virtual C{};
46
47class E:B,D{};
48
49int main() {
50 ph::Derived tst;
51 tst.get_y();
52 tst.get_z();
53
54 E *e = new E;
55
56 return 0; // breakpoint 3
57}
This page took 0.024539 seconds and 4 git commands to generate.