diff options
Diffstat (limited to 'test/C++Frontend/EH/simple_rethrow.cpp')
-rw-r--r-- | test/C++Frontend/EH/simple_rethrow.cpp | 25 |
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; +} |