URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.mike/] [eh25.C] - Rev 699
Compare with Previous | Blame | View Log
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }
#include <exception>
#include <stdlib.h>
void my_terminate() {
exit (0); // Double faults should call terminate
}
struct A {
A() { }
~A() {
std::set_terminate (my_terminate);
throw 1; // This throws from EH dtor, should call my_terminate
}
};
main() {
try {
try {
throw 1;
} catch (int i) {
A a; // A hit on this EH dtor went to the wrong place
throw 1;
}
} catch (...) {
return 1;
}
return 1;
}