OSDN Git Service

Merge in xfails from PR14107.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.mike / p4623.C
1 // { dg-do run  }
2 // prms-id: 4623
3
4 class base {
5 public:
6   int b_data;
7   base( int i=0 ) { b_data = i; }
8   void b_print() { }
9 };
10
11 class base1: virtual public base {
12 public:
13   int b1_data;
14   base1( int i = 0 ) { b1_data = i; b_data++; }
15   void b1_print() { }
16 };
17
18 class base2: virtual public base {
19 public:
20   int b2_data;
21   base2( int i = 0 ) { b2_data = i; b_data++; }
22   void b2_print() { }
23 };
24
25 class base3: public base {};
26
27 class derived: public base3, public base1, public base2 {
28 public:
29   int d_data;
30   derived( int i ) { d_data = i; ((base3 *)this)->b_data++; }
31   void d_print() { }
32 };
33
34 int main() {
35   derived d(1); d.d_print(); return 0;
36 }