Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.old-deja / g++.mike / p3068.C
blob65dab70b0864a2e14145cfa8d6b6c743f25a8e50
1 // { dg-do run  }
2 // prms-id: 3068
4 extern "C" int printf(const char *, ...);
5 extern "C" void exit(int);
6  
7 class LB {
8 public:
9   virtual int test() { return 0; }
10   virtual ~LB() { }
11 protected:
12   LB() { }
15 class RRB {
16 public:
17   virtual ~RRB() { }
18   virtual void test2(int a) { }
21 class RR : public RRB {
22 public:
23     virtual ~RR() { }
26 class RL {
27 public:
28   virtual void real(int a) {
29     printf("RL::real\n");
30   }
34 class R : public RL, public RR {
35 public:
36   virtual void test3(int a) { }
37   virtual void test2(int a) { }
40 class L : public LB {
43 class C : public L, public R {
44 public:
45   C() { }
46   virtual ~C() {
47     printf("C::~C\n");
48     exit(1);
49   }
50   virtual void real(int a) {
51     printf("RL::real\n");
52   }
55 int main() {
56     C& bb = *new C;
57     R& mv = bb;
58     bb.real(0);
59     mv.real(0);
60     return 0;