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