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 Isemannvoid expr() { 5763072abbSRaphael Isemann f(); 5863072abbSRaphael Isemann } 59