1 // { dg-do run } 2 // prms-id: 4736 3 4 int did_fail = 1; 5 6 class O { 7 public: of()8 virtual void of() { } 9 }; 10 11 class A : public O { 12 public: vf()13 virtual void vf() { } 14 }; 15 16 class W { 17 public: vf()18 virtual void vf() { } 19 }; 20 21 class X : public W, public A { 22 public: vf()23 virtual void vf() { } 24 }; 25 26 class Z : public X { 27 public: vf()28 virtual void vf() { did_fail = 0; } 29 }; 30 31 Z sz; 32 fail1(W * w)33void fail1(W* w) { 34 w->vf(); 35 } 36 main()37int main() { 38 fail1 (&sz); 39 return did_fail; 40 } 41