// 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; }