1 | // RUN: clang-import-test -x objective-c++ -Xcc -fobjc-exceptions -dump-ast -import %S/Inputs/F.m -expression %s | FileCheck %s |
2 | |
3 | // FIXME: Seems that Objective-C try/catch crash codegen on Windows. Reenable once this is fixed. |
4 | // UNSUPPORTED: system-windows |
5 | |
6 | // CHECK: ObjCAtTryStmt |
7 | // CHECK-NEXT: CompoundStmt |
8 | // CHECK-NEXT: DeclStmt |
9 | // CHECK-NEXT: VarDecl |
10 | // CHECK-NEXT: ObjCAtThrowStmt |
11 | // CHECK-NEXT: ImplicitCastExpr |
12 | // CHECK-NEXT: DeclRefExpr |
13 | // CHECK-NEXT: ObjCAtCatchStmt |
14 | // CHECK-NEXT: VarDecl |
15 | // CHECK-SAME: varname |
16 | // CHECK-SAME: 'Exception *' |
17 | // CHECK-NEXT: CompoundStmt |
18 | // CHECK-NEXT: ObjCAtFinallyStmt |
19 | // CHECK-NEXT: CompoundStmt |
20 | |
21 | // CHECK-NEXT: ObjCAtTryStmt |
22 | // CHECK-NEXT: CompoundStmt |
23 | // CHECK-NEXT: ObjCAtCatchStmt |
24 | // CHECK-NEXT: VarDecl |
25 | // CHECK-SAME: varname1 |
26 | // CHECK-SAME: 'Exception *' |
27 | // CHECK-NEXT: CompoundStmt |
28 | // CHECK-NEXT: ObjCAtThrowStmt |
29 | // CHECK-NEXT: <<NULL>> |
30 | // CHECK-NEXT: ObjCAtCatchStmt |
31 | // CHECK-NEXT: VarDecl |
32 | // CHECK-SAME: varname2 |
33 | // CHECK-SAME: 'OtherException *' |
34 | // CHECK-NEXT: CompoundStmt |
35 | |
36 | // CHECK-NEXT: ObjCAtTryStmt |
37 | // CHECK-NEXT: CompoundStmt |
38 | // CHECK-NEXT: ObjCAtFinallyStmt |
39 | // CHECK-NEXT: CompoundStmt |
40 | |
41 | void expr() { |
42 | f(); |
43 | } |
44 | |