FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.dg / abi / vcall1.C
blob00830cd23d6eded51c7cbdc081ce0def570f091e
1 // { dg-do run }
2 // { dg-options "-w" }
4 extern "C" void abort ();
6 struct B;
8 B* b;
10 struct A {
11   virtual void f () {}
14 struct B : virtual public A {
15   B () {
16     b = this;
17     ((A*) this)->f ();
18   }
20   virtual void f () {
21     if (this != b)
22       abort ();
23   }
26 struct C : public B {
29 struct D : public C, public B {
30   virtual void f () {}
33 int main () {
34   D d;