diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-08-16 18:22:21 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-08-16 18:22:21 +0000 |
commit | 5bdeac6e5048204c9f2bf791b3f15535b3f0426c (patch) | |
tree | 649f075f3b03940d76426c9a6b6207459793d375 /test/Import | |
parent | 557c56b21ed744ce5b14a81125e1f318308e2955 (diff) | |
download | clang-5bdeac6e5048204c9f2bf791b3f15535b3f0426c.tar.gz |
[ASTImporter] Add test for member pointer types.
Reviewers: a.sidorin, martong
Reviewed By: martong
Subscribers: rnkovacs, martong, cfe-commits
Differential Revision: https://reviews.llvm.org/D50792
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@339919 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Import')
-rw-r--r-- | test/Import/cxx-member-pointers/Inputs/S.cpp | 7 | ||||
-rw-r--r-- | test/Import/cxx-member-pointers/test.cpp | 16 |
2 files changed, 23 insertions, 0 deletions
diff --git a/test/Import/cxx-member-pointers/Inputs/S.cpp b/test/Import/cxx-member-pointers/Inputs/S.cpp new file mode 100644 index 0000000000..afee60de32 --- /dev/null +++ b/test/Import/cxx-member-pointers/Inputs/S.cpp @@ -0,0 +1,7 @@ +struct S { + int i; +}; + +int S::*iptr() { + return &S::i; +} diff --git a/test/Import/cxx-member-pointers/test.cpp b/test/Import/cxx-member-pointers/test.cpp new file mode 100644 index 0000000000..253c90bdcf --- /dev/null +++ b/test/Import/cxx-member-pointers/test.cpp @@ -0,0 +1,16 @@ +// RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s | FileCheck %s + +// CHECK: VarDecl +// CHECK-SAME: int S::* +// CHECK-NEXT: CallExpr +// CHECK-NEXT: ImplicitCastExpr +// CHECK-SAME: int S::*(*)() +// CHECK-NEXT: DeclRefExpr +// CHECK-SAME: int S::*() + +void expr() { + int S::*p = iptr(); + S s; + s.i = 3; + int i = s.*p; +} |