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