111
|
1 // { dg-do run }
|
|
2 // prms-id: 12306
|
|
3 // a net report of the same problem as 12306
|
|
4
|
|
5 class a {
|
|
6 public:
|
|
7 int i;
|
|
8 };
|
|
9
|
|
10 class g : virtual public a {
|
|
11 };
|
|
12
|
|
13 class b : virtual public a {
|
|
14 int j;
|
|
15 };
|
|
16
|
|
17 class c : public g, public b {
|
|
18 };
|
|
19
|
|
20 class d {
|
|
21 public:
|
|
22 virtual class b* get() {return 0;}
|
|
23 };
|
|
24
|
|
25 class f : public d {
|
|
26 public:
|
|
27 virtual class b* get() {return &_c;}
|
|
28 c _c;
|
|
29 };
|
|
30
|
|
31 int main(void) {
|
|
32 f D;
|
|
33 b* bp=D.get();
|
|
34 D._c.i = 42;
|
|
35 return &D._c.i != &bp->i;
|
|
36 }
|