xref: /llvm-project/clang/test/Import/cxx-member-pointers/test.cpp (revision db33cf2533d636a6c7920adcccc0e5665fc3077f)
1*db33cf25SRaphael Isemann // RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s | FileCheck %s
2*db33cf25SRaphael Isemann 
3*db33cf25SRaphael Isemann // CHECK: VarDecl
4*db33cf25SRaphael Isemann // CHECK-SAME: int S::*
5*db33cf25SRaphael Isemann // CHECK-NEXT: CallExpr
6*db33cf25SRaphael Isemann // CHECK-NEXT: ImplicitCastExpr
7*db33cf25SRaphael Isemann // CHECK-SAME: int S::*(*)()
8*db33cf25SRaphael Isemann // CHECK-NEXT: DeclRefExpr
9*db33cf25SRaphael Isemann // CHECK-SAME: int S::*()
10*db33cf25SRaphael Isemann 
expr()11*db33cf25SRaphael Isemann void expr() {
12*db33cf25SRaphael Isemann   int S::*p = iptr();
13*db33cf25SRaphael Isemann   S s;
14*db33cf25SRaphael Isemann   s.i = 3;
15*db33cf25SRaphael Isemann   int i = s.*p;
16*db33cf25SRaphael Isemann }
17