1// { dg-do compile } 2 3// Copyright (C) 2003 Free Software Foundation, Inc. 4// Contributed by Nathan Sidwell 28 Jan 2003 <nathan@codesourcery.com> 5 6// PR 9433. segfault at runtime. 7 8struct A { virtual void f() {}; }; 9struct B {int b;}; 10struct C : A, B { virtual void f() {}; int c;}; 11struct D : C {int d;}; 12struct E : C {int e;}; 13struct F : protected D, E {int f;}; 14struct H : virtual F {int h;}; 15struct I : H {int i;}; 16struct J : H {int j;}; 17struct K : I, J { virtual void f() {}; int k; }; 18struct M : K {int m;}; 19struct N : M {int n;}; 20struct O : M {int o;}; 21struct P : N, O { virtual void f() {}; int p;}; 22 23int main() 24{ 25 P obj; 26 A* a1 = (D *) (&obj); 27 H* hp = dynamic_cast<H*>(a1); 28 return hp != 0; 29} 30