enum Color {
  Red, Green, Blue
};

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

void test(struct Point *p) {
  // RUN: %clang_cc1 -include %S/Inputs/macros.h -fsyntax-only -code-completion-macros -code-completion-at=%s:12:14 %s -o - | FileCheck -check-prefix=CC1 %s
  switch (p->IDENTITY(color)) {
  // RUN: %clang_cc1 -include %S/Inputs/macros.h -fsyntax-only -code-completion-macros -code-completion-at=%s:14:9 %s -o - | FileCheck -check-prefix=CC2 %s
    case 
  }

  // Run the same tests, this time with macros loaded from the PCH file.
  // RUN: %clang_cc1 -emit-pch -o %t %S/Inputs/macros.h
  // RUN: %clang_cc1 -include-pch %t -fsyntax-only -code-completion-macros -code-completion-at=%s:12:14 %s -o - | FileCheck -check-prefix=CC1 %s
  // RUN: %clang_cc1 -include-pch %t -fsyntax-only -code-completion-macros -code-completion-at=%s:14:9 %s -o - | FileCheck -check-prefix=CC2 %s

  // CC1: BAR(<#X#>, <#Y#>)
  // CC1: color
  // CC1: FOO
  // CC1: IDENTITY(<#X#>)
  // CC1: WIBBLE
  // CC1: x
  // CC1: y
  // CC1: z

  // CC2: BAR(<#X#>, <#Y#>)
  // CC2: Blue
  // CC2: FOO
  // CC2: Green
  // CC2: IDENTITY(<#X#>)
  // CC2: Red
  // CC2: WIBBLE
}
