diff options
Diffstat (limited to 'testsuite/tests/rts/T11829_c.cpp')
-rw-r--r-- | testsuite/tests/rts/T11829_c.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/testsuite/tests/rts/T11829_c.cpp b/testsuite/tests/rts/T11829_c.cpp new file mode 100644 index 0000000000..959851ad74 --- /dev/null +++ b/testsuite/tests/rts/T11829_c.cpp @@ -0,0 +1,19 @@ +#include <iostream> +#include <exception> +extern "C" { + +int func() { + try { + throw std::runtime_error("This is a test"); + } catch(const std::runtime_error &c) { + std::cerr << c.what() << std::endl; + return 42; + } catch(...) { + std::cerr << "Catch-all must not fire!" << std::endl; + return -1; + } + std::cerr << "Control must not reach past try-catch block!" << std::endl; + return -2; +} + +} |