1struct Point {
2  float x;
3  float y;
4  float z;
5};
6
7#define MACRO2(x) x
8#define MACRO(x) MACRO2(x)
9
10void test(struct Point *p) {
11        p->x;
12  MACRO(p->x);
13}
14
15// RUN: c-index-test -code-completion-at=%s:11:12 %s | FileCheck %s
16// RUN: c-index-test -code-completion-at=%s:12:12 %s | FileCheck %s
17// CHECK:      FieldDecl:{ResultType float}{TypedText x} (35)
18// CHECK-NEXT: FieldDecl:{ResultType float}{TypedText y} (35)
19// CHECK-NEXT: FieldDecl:{ResultType float}{TypedText z} (35)
20// CHECK-NEXT: Completion contexts:
21// CHECK-NEXT: Arrow member access
22// CHECK-NEXT: Container Kind: StructDecl
23