URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
|
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
|
// { dg-options "-fexceptions" }
|
// { dg-options "-fexceptions" }
|
|
|
#include
|
#include
|
#include
|
#include
|
|
|
void my_terminate() {
|
void my_terminate() {
|
exit (0); // Double faults should call terminate
|
exit (0); // Double faults should call terminate
|
}
|
}
|
|
|
struct A {
|
struct A {
|
A() { }
|
A() { }
|
~A() {
|
~A() {
|
std::set_terminate (my_terminate);
|
std::set_terminate (my_terminate);
|
throw 1; // This throws from EH dtor, should call my_terminate
|
throw 1; // This throws from EH dtor, should call my_terminate
|
}
|
}
|
};
|
};
|
|
|
main() {
|
main() {
|
try {
|
try {
|
try {
|
try {
|
throw 1;
|
throw 1;
|
} catch (int i) {
|
} catch (int i) {
|
A a; // A hit on this EH dtor went to the wrong place
|
A a; // A hit on this EH dtor went to the wrong place
|
throw 1;
|
throw 1;
|
}
|
}
|
} catch (...) {
|
} catch (...) {
|
return 1;
|
return 1;
|
}
|
}
|
return 1;
|
return 1;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.