#define FOO
#define BAR(X, Y) X, Y
#define IDENTITY(X) X
#define WIBBLE(...)

enum Color {
  Red, Green, Blue
};

struct Point {
  float x, y, z;
  enum Color color;
};

void test(struct Point *p) {
  // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:17:14 %s -o - | FileCheck -check-prefix=CC1 %s
  switch (p->IDENTITY(color)) {
  // RUN: clang-cc -fsyntax-only -code-completion-macros -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC2 %s
    case 
  }
  // CC1: color
  // CC1: x
  // CC1: y
  // CC1: z
  // CC1: BAR(<#X#>, <#Y#>)
  // CC1: FOO
  // CC1: IDENTITY(<#X#>)
  // CC1: WIBBLE
  // CC2: Blue
  // CC2: Green
  // CC2: Red
  // CC2: BAR(<#X#>, <#Y#>)
  // CC2: FOO
  // CC2: IDENTITY(<#X#>)
  // CC2: WIBBLE
}
