aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/eh23.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh23.C46
1 files changed, 0 insertions, 46 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C b/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
deleted file mode 100644
index 27fc53d8eeb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-
-struct double_fault { };
-int fault_now;
-
-class E {
-public:
- E() { }
- E(const E&) {
- if (fault_now)
- throw double_fault();
- }
-};
-
-void foo() {
- try {
- throw E();
- } catch (...) {
- fault_now = 1;
- throw;
- }
-}
-
-void bar() {
- try {
- foo();
- } catch (E e) { // double fault here
- }
-}
-
-void my_terminate() {
- exit (0); // double faults should call terminate
-}
-
-main() {
- std::set_terminate (my_terminate);
- try {
- bar();
- } catch (...) {
- return 1;
- }
- return 1;
-}