[committed] [RISC-V] Fix false-positive uninitialized variable
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.robertl / eb17.C
blob4163399fba8224d14b70eec5aac47e06b9f91b24
1 // { dg-do run  }
2 #include <stdio.h>
4 class A {
5 public:
6     virtual void print();
7     virtual A * clone();
8 };
10 struct Pad {
11   virtual void f () {}
14 class B : public Pad, virtual public A {
15 public:
16     void print();
17     B * clone();
20 void A::print()
22     printf("A\n");
25 void B::print()
27     printf("B\n");
31 A * A::clone()
33     return this;
36 B * B::clone()
38     return this;
42 int main()
44     A * a = new B;
45     B * b = dynamic_cast<B *>(a);
47     printf("%p\n",b);                // (*2*)
48     b->print();
50     a = b;
51     printf("%p\n",a);
52     a->print();
54     a = a->clone();
55     printf("%p\n",a);
56     a->print();                      // (*1*)
58     return 0;