1 // PR ipa/64896 2 // { dg-do compile } 3 // { dg-options "-O2" } 4 5 struct A { int a, b; }; 6 struct B { A c; int d; }; 7 struct C { virtual B fn1 () const; }; 8 struct D { B fn2 () const; void fn3 () const; C *fn4 () const; }; 9 10 void fn3()11D::fn3 () const 12 { 13 fn4 ()->fn1 (); 14 } 15 16 B fn2()17D::fn2 () const 18 { 19 return B (); 20 } 21 22 class F : C 23 { 24 B fn1()25 fn1 () const 26 { 27 return B (); 28 } 29 }; 30