summaryrefslogtreecommitdiff
path: root/testsuite/tests/rts/T11829_c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/rts/T11829_c.cpp')
-rw-r--r--testsuite/tests/rts/T11829_c.cpp19
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;
+}
+
+}