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
41void expr() {
42  f();
43}
44