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" }
|
|
|
int fail = 0;
|
int fail = 0;
|
|
|
struct A {
|
struct A {
|
int ok;
|
int ok;
|
A() {
|
A() {
|
ok = 1;
|
ok = 1;
|
}
|
}
|
~A() {
|
~A() {
|
if (! ok)
|
if (! ok)
|
fail = 1;
|
fail = 1;
|
ok = 0;
|
ok = 0;
|
}
|
}
|
};
|
};
|
|
|
main() {
|
main() {
|
try {
|
try {
|
try {
|
try {
|
A a;
|
A a;
|
throw 1.0;
|
throw 1.0;
|
} catch (double i) {
|
} catch (double i) {
|
A a1;
|
A a1;
|
throw 1; // make sure both a1 and a2 are not destroyed when we throw!
|
throw 1; // make sure both a1 and a2 are not destroyed when we throw!
|
} catch (int i) {
|
} catch (int i) {
|
A a2;
|
A a2;
|
throw 1.0;
|
throw 1.0;
|
}
|
}
|
} catch (int i) {
|
} catch (int i) {
|
}
|
}
|
return fail;
|
return fail;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.