blob: 019fc20bee1e16c62a7de6f99277fd92ba8ceb3c [file] [log] [blame]
Raphael Isemann63072ab2018-08-21 16:36:49 +00001// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
2
3// CHECK: CXXForRangeStmt
4
5// CHECK-NEXT: DeclStmt
6// CHECK-NEXT: VarDecl
Richard Smith8baa5002018-09-28 18:44:09 +00007// CHECK-SAME: c 'Container'
8// CHECK-NEXT: CXXConstructExpr
9
10// CHECK-NEXT: DeclStmt
11// CHECK-NEXT: VarDecl
Raphael Isemann63072ab2018-08-21 16:36:49 +000012// CHECK-NEXT: DeclRefExpr
13// CHECK-SAME: 'c'
14// CHECK-SAME: Container
15
16// CHECK-NEXT: DeclStmt
17// CHECK-NEXT: VarDecl
18// CHECK-NEXT: CXXMemberCallExpr
19// CHECK-SAME: 'int *'
20// CHECK-NEXT: MemberExpr
21// CHECK-SAME: .begin
22// CHECK-NEXT: DeclRefExpr
23// CHECK-SAME: '__range1'
24// CHECK-SAME: Container
25
26// CHECK-NEXT: DeclStmt
27// CHECK-NEXT: VarDecl
28// CHECK-NEXT: CXXMemberCallExpr
29// CHECK-SAME: 'int *'
30// CHECK-NEXT: MemberExpr
31// CHECK-SAME: .end
32// CHECK-NEXT: DeclRefExpr
33// CHECK-SAME: '__range1'
34// CHECK-SAME: Container
35
36// CHECK-NEXT: BinaryOperator
37// CHECK-SAME: '!='
38// CHECK-NEXT: ImplicitCastExpr
39// CHECK-NEXT: DeclRefExpr
40// CHECK-SAME: '__begin1'
41// CHECK-NEXT: ImplicitCastExpr
42// CHECK-NEXT: DeclRefExpr
43// CHECK-SAME: '__end1'
44
45// CHECK-NEXT: UnaryOperator
46// CHECK-SAME: '++'
47// CHECK-NEXT: DeclRefExpr
48// CHECK-SAME: '__begin1'
49
50// CHECK-NEXT: DeclStmt
51// CHECK-NEXT: VarDecl
52// CHECK-SAME: varname
53
54// CHECK: ReturnStmt
55
56void expr() {
57 f();
58}