// PR c++/13944 | |
// Verify that we still call terminate() if we do run the copy constructor, | |
// and it throws. | |
// { dg-do run } | |
#include <cstdlib> | |
#include <exception> | |
struct A | |
{ | |
A() { } | |
A(const A&) { throw 1; } | |
}; | |
A a; | |
void | |
good_terminate() { std::exit (0); } | |
int main() | |
{ | |
std::set_terminate (good_terminate); | |
try | |
{ | |
throw a; | |
} | |
catch (...) | |
{ | |
return 2; | |
} | |
return 3; | |
} |