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 
fA8 struct A        { virtual void f() {}; };
9 struct B        {int b;};
fC10 struct C : A, B { virtual void f() {}; int c;};
11 struct D : C    {int d;};
12 struct E : C    {int e;};
13 struct F : protected D, E  {int f;};
14 struct H : virtual F {int h;};
15 struct I : H  {int i;};
16 struct J : H  {int j;};
fK17 struct K : I, J { virtual void f() {}; int k; };
18 struct M : K  {int m;};
19 struct N : M  {int n;};
20 struct O : M  {int o;};
fP21 struct P : N, O { virtual void f() {}; int p;};
22 
main()23 int main()
24 {
25   P obj;
26   A* a1 = (D *) (&obj);
27   H* hp = dynamic_cast<H*>(a1);
28   return hp != 0;
29 }
30