1// { dg-do run  }
2// { dg-options "-O" }
3// Test that inlining a destructor with a catch block doesn't confuse the
4// enclosing try block.
5
6struct A {
7  ~A()
8  {
9    try { throw 1; }
10    catch (...) { }
11  }
12};
13
14int main ()
15{
16  try
17    {
18      A a;
19      throw 42;
20    }
21  catch (int i)
22    {
23      return (i != 42);
24    }
25}
26