111
|
1 // { dg-do run }
|
|
2 extern "C" int printf(const char *, ...);
|
|
3
|
|
4 class A {
|
|
5 public:
|
|
6 char *x;
|
|
7 };
|
|
8
|
|
9 class B1:public virtual A { };
|
|
10
|
|
11 class B2:public virtual A { };
|
|
12
|
|
13 class C:public B1, public B2 {
|
|
14 public:
|
|
15 C() { }
|
|
16 };
|
|
17
|
|
18 int main() {
|
|
19 C c;
|
|
20 printf("&c.x = %x\n", &c.x);
|
|
21 printf("&c.B1::x = %x\n", &c.B1::x);
|
|
22 printf("&c.B2::x = %x\n", &c.B2::x);
|
|
23 printf("&c.A::x = %x\n", &c.A::x);
|
|
24 if (&c.x != &c.B1::x
|
|
25 || &c.x != &c.B2::x
|
|
26 || &c.x != &c.A::x)
|
|
27 return 1;
|
|
28 }
|