diff options
author | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
---|---|---|
committer | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
commit | cdc6e2c50f96119bdc4c1205ff5901ca82ec8357 (patch) | |
tree | 3e9217eabcf444e166008411f445315606dded59 /gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C | |
parent | 27176890c4a688ea7de44d3f55af32827016a9fd (diff) |
add old compiler with ARM support
Diffstat (limited to 'gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C')
-rwxr-xr-x | gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C b/gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C new file mode 100755 index 0000000..5fe5423 --- /dev/null +++ b/gcc_arm/testsuite/g++.old-deja/g++.brendan/crash43.C @@ -0,0 +1,25 @@ +// Build don't link: +// Special g++ Options: -g -fno-strict-prototype +// GROUPS passed old-abort +// excess errors test - XFAIL sparc64-*-elf +extern "C" { typedef int jmp_buf[12]; } + +enum Error { NO_ERROR }; +class ErrorHandler +{ + ErrorHandler *previous; + static ErrorHandler *error_stack; + jmp_buf error_buffer; +protected: + static void pop() + { + error_stack = error_stack->previous; + } +public: + jmp_buf *push() + { + previous = error_stack; + error_stack = this; + return &error_buffer; + } +}; |