Create embedded-5_0-branch branch for development on ARM embedded cores.
[official-gcc.git] / embedded-5_0-branch / gcc / testsuite / g++.old-deja / g++.mike / p4623.C
blobf602c9fdf1cd64d81f696cb241062969011c809a
1 // { dg-do run  }
2 // prms-id: 4623
4 class base {
5 public:
6   int b_data;
7   base( int i=0 ) { b_data = i; }
8   void b_print() { }
9 };
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() { }
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() { }
25 class base3: public base {};
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() { }
34 int main() {
35   derived d(1); d.d_print(); return 0;