15c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidisstruct Point { 25c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis float x; 35c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis float y; 45c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis float z; 55c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis}; 65c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis 75c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis#define MACRO2(x) x 85c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis#define MACRO(x) MACRO2(x) 95c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis 105c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidisvoid test(struct Point *p) { 115c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis p->x; 125c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis MACRO(p->x); 135c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis} 145c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis 155c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// RUN: c-index-test -code-completion-at=%s:11:12 %s | FileCheck %s 165c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// RUN: c-index-test -code-completion-at=%s:12:12 %s | FileCheck %s 175c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK: FieldDecl:{ResultType float}{TypedText x} (35) 185c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK-NEXT: FieldDecl:{ResultType float}{TypedText y} (35) 195c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK-NEXT: FieldDecl:{ResultType float}{TypedText z} (35) 205c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK-NEXT: Completion contexts: 215c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK-NEXT: Arrow member access 225c5f03e4020e90b9760ec547962ba02b029cc359Argyrios Kyrtzidis// CHECK-NEXT: Container Kind: StructDecl 23