1// { dg-do compile } 2struct A { 3 virtual ~A(); 4 virtual void m_fn1() { delete this; } 5 void m_fn2() { m_fn1(); } 6}; 7 8struct B { 9 A *pi_; 10 B() { pi_->m_fn2(); } 11}; 12struct C { 13 B pn; 14}; 15void _setjmp(); 16int png_decode() { 17 _setjmp(); 18 C a; 19 return 0; 20} 21