aboutsummaryrefslogtreecommitdiff
path: root/test/C++Frontend/EH/simple_rethrow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/C++Frontend/EH/simple_rethrow.cpp')
-rw-r--r--test/C++Frontend/EH/simple_rethrow.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/C++Frontend/EH/simple_rethrow.cpp b/test/C++Frontend/EH/simple_rethrow.cpp
new file mode 100644
index 0000000000..34c46812c1
--- /dev/null
+++ b/test/C++Frontend/EH/simple_rethrow.cpp
@@ -0,0 +1,25 @@
+#include <stdio.h>
+
+int throws() {
+ printf("Throwing int\n");
+ throw 16;
+};
+
+int callsthrows() {
+ try {
+ throws();
+ } catch (...) {
+ printf("Caught something, rethrowing...\n");
+ throw;
+ }
+}
+
+int main() {
+ try {
+ callsthrows();
+ } catch (int i) {
+ printf("Caught int: %d\n", i);
+ return i-16;
+ }
+ return 1;
+}