diff options
Diffstat (limited to 'test/CodeGenObjC/nested-rethrow.m')
-rw-r--r-- | test/CodeGenObjC/nested-rethrow.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CodeGenObjC/nested-rethrow.m b/test/CodeGenObjC/nested-rethrow.m new file mode 100644 index 0000000..dd7439d --- /dev/null +++ b/test/CodeGenObjC/nested-rethrow.m @@ -0,0 +1,25 @@ +// RUN: clang -cc1 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck %s + + +extern int printf(const char*, ...); + +int main() +{ + @try { + @throw @"foo"; + } @catch (id e) { + @try { +// CHECK: call void @objc_exception_throw + @throw; + } @catch (id e) { + if (e) { + printf("caught \n"); + } else { + printf("caught (WRONG)\n"); + } + } @catch (...) { + printf("caught nothing (WRONG)\n"); + } + } +} + |