1292133Sdes// { dg-do compile } 2292133Sdesstruct A { 3292133Sdes virtual ~A(); 4292133Sdes virtual void m_fn1() { delete this; } 5292133Sdes void m_fn2() { m_fn1(); } 6292133Sdes}; 7292133Sdes 8292133Sdesstruct B { 9292133Sdes A *pi_; 10292133Sdes B() { pi_->m_fn2(); } 11292133Sdes}; 12292133Sdesstruct C { 13292133Sdes B pn; 14292133Sdes}; 15292133Sdesvoid _setjmp(); 16292133Sdesint png_decode() { 17292133Sdes _setjmp(); 18292133Sdes C a; 19292133Sdes return 0; 20292133Sdes} 21292133Sdes