(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
eh/
elide2.C
// PR c++/13944

// Verify that we don't call terminate() if initializing the exception
// object throws.

// { dg-do run }

struct A
{
  A() { }
  A(const A&) { throw 1; }
};

A a;

int main()
{
  try
    {
      throw a;
    }
  catch (int)
    {
      return 0;
    }
  catch (A&)
    {
      return 2;
    }
  return 3;
}