xref: /llvm-project/clang/test/Import/cxx-for-range/test.cpp (revision 8baa50013c86c34a58d8327c5d1a043898b86398)
163072abbSRaphael Isemann // RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
263072abbSRaphael Isemann 
363072abbSRaphael Isemann // CHECK: CXXForRangeStmt
463072abbSRaphael Isemann 
563072abbSRaphael Isemann // CHECK-NEXT: DeclStmt
663072abbSRaphael Isemann // CHECK-NEXT: VarDecl
7*8baa5001SRichard Smith // CHECK-SAME: c 'Container'
8*8baa5001SRichard Smith // CHECK-NEXT: CXXConstructExpr
9*8baa5001SRichard Smith 
10*8baa5001SRichard Smith // CHECK-NEXT: DeclStmt
11*8baa5001SRichard Smith // CHECK-NEXT: VarDecl
1263072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
1363072abbSRaphael Isemann // CHECK-SAME: 'c'
1463072abbSRaphael Isemann // CHECK-SAME: Container
1563072abbSRaphael Isemann 
1663072abbSRaphael Isemann // CHECK-NEXT: DeclStmt
1763072abbSRaphael Isemann // CHECK-NEXT: VarDecl
1863072abbSRaphael Isemann // CHECK-NEXT: CXXMemberCallExpr
1963072abbSRaphael Isemann // CHECK-SAME: 'int *'
2063072abbSRaphael Isemann // CHECK-NEXT: MemberExpr
2163072abbSRaphael Isemann // CHECK-SAME: .begin
2263072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
2363072abbSRaphael Isemann // CHECK-SAME: '__range1'
2463072abbSRaphael Isemann // CHECK-SAME: Container
2563072abbSRaphael Isemann 
2663072abbSRaphael Isemann // CHECK-NEXT: DeclStmt
2763072abbSRaphael Isemann // CHECK-NEXT: VarDecl
2863072abbSRaphael Isemann // CHECK-NEXT: CXXMemberCallExpr
2963072abbSRaphael Isemann // CHECK-SAME: 'int *'
3063072abbSRaphael Isemann // CHECK-NEXT: MemberExpr
3163072abbSRaphael Isemann // CHECK-SAME: .end
3263072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
3363072abbSRaphael Isemann // CHECK-SAME: '__range1'
3463072abbSRaphael Isemann // CHECK-SAME: Container
3563072abbSRaphael Isemann 
3663072abbSRaphael Isemann // CHECK-NEXT: BinaryOperator
3763072abbSRaphael Isemann // CHECK-SAME: '!='
3863072abbSRaphael Isemann // CHECK-NEXT: ImplicitCastExpr
3963072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
4063072abbSRaphael Isemann // CHECK-SAME: '__begin1'
4163072abbSRaphael Isemann // CHECK-NEXT: ImplicitCastExpr
4263072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
4363072abbSRaphael Isemann // CHECK-SAME: '__end1'
4463072abbSRaphael Isemann 
4563072abbSRaphael Isemann // CHECK-NEXT: UnaryOperator
4663072abbSRaphael Isemann // CHECK-SAME: '++'
4763072abbSRaphael Isemann // CHECK-NEXT: DeclRefExpr
4863072abbSRaphael Isemann // CHECK-SAME: '__begin1'
4963072abbSRaphael Isemann 
5063072abbSRaphael Isemann // CHECK-NEXT: DeclStmt
5163072abbSRaphael Isemann // CHECK-NEXT: VarDecl
5263072abbSRaphael Isemann // CHECK-SAME: varname
5363072abbSRaphael Isemann 
5463072abbSRaphael Isemann // CHECK: ReturnStmt
5563072abbSRaphael Isemann 
expr()5663072abbSRaphael Isemann void expr() {
5763072abbSRaphael Isemann   f();
5863072abbSRaphael Isemann }
59