diff options
| author | Raphael Isemann <teemperor@gmail.com> | 2018-08-21 16:36:49 +0000 |
|---|---|---|
| committer | Raphael Isemann <teemperor@gmail.com> | 2018-08-21 16:36:49 +0000 |
| commit | 63072abbb9ddd7b1cf20f931c6e7dd2702906ae7 (patch) | |
| tree | 87e55dc614786a6a949551eba26597911d00e912 /clang/test/Import | |
| parent | 182bab8d1e1576d4f80930464292cc766476ef6b (diff) | |
| download | bcm5719-llvm-63072abbb9ddd7b1cf20f931c6e7dd2702906ae7.tar.gz bcm5719-llvm-63072abbb9ddd7b1cf20f931c6e7dd2702906ae7.zip | |
[ASTImporter] Add test for CXXForRangeStmt
Reviewers: a.sidorin, martong
Reviewed By: martong
Subscribers: rnkovacs, martong, cfe-commits
Differential Revision: https://reviews.llvm.org/D51001
llvm-svn: 340297
Diffstat (limited to 'clang/test/Import')
| -rw-r--r-- | clang/test/Import/cxx-for-range/Inputs/F.cpp | 11 | ||||
| -rw-r--r-- | clang/test/Import/cxx-for-range/test.cpp | 53 |
2 files changed, 64 insertions, 0 deletions
diff --git a/clang/test/Import/cxx-for-range/Inputs/F.cpp b/clang/test/Import/cxx-for-range/Inputs/F.cpp new file mode 100644 index 00000000000..700feb01224 --- /dev/null +++ b/clang/test/Import/cxx-for-range/Inputs/F.cpp @@ -0,0 +1,11 @@ +struct Container { + int *begin(); + int *end(); +}; + +void f() { + Container c; + for (int varname : c) { + return; + } +} diff --git a/clang/test/Import/cxx-for-range/test.cpp b/clang/test/Import/cxx-for-range/test.cpp new file mode 100644 index 00000000000..1c9d40cf881 --- /dev/null +++ b/clang/test/Import/cxx-for-range/test.cpp @@ -0,0 +1,53 @@ +// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s + +// CHECK: CXXForRangeStmt + +// CHECK-NEXT: DeclStmt +// CHECK-NEXT: VarDecl +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: 'c' +// CHECK-SAME: Container + +// CHECK-NEXT: DeclStmt +// CHECK-NEXT: VarDecl +// CHECK-NEXT: CXXMemberCallExpr +// CHECK-SAME: 'int *' +// CHECK-NEXT: MemberExpr +// CHECK-SAME: .begin +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: '__range1' +// CHECK-SAME: Container + +// CHECK-NEXT: DeclStmt +// CHECK-NEXT: VarDecl +// CHECK-NEXT: CXXMemberCallExpr +// CHECK-SAME: 'int *' +// CHECK-NEXT: MemberExpr +// CHECK-SAME: .end +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: '__range1' +// CHECK-SAME: Container + +// CHECK-NEXT: BinaryOperator +// CHECK-SAME: '!=' +// CHECK-NEXT: ImplicitCastExpr +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: '__begin1' +// CHECK-NEXT: ImplicitCastExpr +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: '__end1' + +// CHECK-NEXT: UnaryOperator +// CHECK-SAME: '++' +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: '__begin1' + +// CHECK-NEXT: DeclStmt +// CHECK-NEXT: VarDecl +// CHECK-SAME: varname + +// CHECK: ReturnStmt + +void expr() { + f(); +} |

