summaryrefslogtreecommitdiff
path: root/clang/test/CodeGenObjC/nested-rethrow.m
blob: 5576c1640d1881a24160c93bc6ea9b46e30c2ba2 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-fragile-abi -emit-llvm -fobjc-exceptions %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");
        }
    }
}