enum-switch-case.c   [plain text]


enum Color {
  Red,
  Orange,
  Yellow,
  Green,
  Blue,
  Indigo,
  Violet
};

void test(enum Color color) {
  switch (color) {
    case Red:
      break;
      
    case Yellow:
      break;

    case Green:
      break;
  }

  unsigned c2;
  switch (c2) {
    case 
  }

    // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:19:10 %s -o - | FileCheck -check-prefix=CC1 %s
    // CHECK-CC1: Blue
    // CHECK-CC1-NEXT: Green
    // CHECK-CC1-NEXT: Indigo
    // CHECK-CC1-NEXT: Orange
    // CHECK-CC1-NEXT: Violet

    // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:25:10 %s -o - | FileCheck -check-prefix=CC2 %s      
  // CHECK-CC2: COMPLETION: Blue : [#enum Color#]Blue
  // CHECK-CC2-NEXT: COMPLETION: c2 : [#unsigned int#]c2
  // CHECK-CC2-NEXT: COMPLETION: color : [#enum Color#]color
  // CHECK-CC2-NEXT: COMPLETION: Green : [#enum Color#]Green
  // CHECK-CC2-NEXT: COMPLETION: Indigo : [#enum Color#]Indigo
  // CHECK-CC2-NEXT: COMPLETION: Orange : [#enum Color#]Orange
  // CHECK-CC2-NEXT: COMPLETION: Red : [#enum Color#]Red
  // CHECK-CC2-NEXT: COMPLETION: Pattern : [#size_t#]sizeof(<#expression-or-type#>)
  // CHECK-CC2-NEXT: COMPLETION: Violet : [#enum Color#]Violet
  // CHECK-CC2-NEXT: COMPLETION: Yellow : [#enum Color#]Yellow