URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.eh/] [terminate1.C] - Rev 154
Compare with Previous | Blame | View Log
// { dg-do run }
// Test that an exception thrown out of the constructor for the exception
// object (i.e. "after completing evaluation of the expression to be thrown
// but before the exception is caught") causes us to call terminate.
#include <exception>
#include <cstdlib>
void my_terminate ()
{
std::exit (0);
}
struct A
{
A () {}
A (const A&) { throw 1; }
};
int main (void)
{
std::set_terminate (my_terminate);
A a;
try { throw a; }
catch (...) {}
return 1;
}