1*600ec01bSIlya Biryukov namespace N {
2*600ec01bSIlya Biryukov   enum Color {
3*600ec01bSIlya Biryukov     Red,
4*600ec01bSIlya Biryukov     Blue,
5*600ec01bSIlya Biryukov     Orange,
6*600ec01bSIlya Biryukov   };
7*600ec01bSIlya Biryukov }
8*600ec01bSIlya Biryukov 
test(N::Color color)9*600ec01bSIlya Biryukov void test(N::Color color) {
10*600ec01bSIlya Biryukov   color = N::Color::Red;
11*600ec01bSIlya Biryukov   test(N::Color::Red);
12*600ec01bSIlya Biryukov   if (color == N::Color::Red) {}
13*600ec01bSIlya Biryukov   // FIXME: ideally, we should not show 'Red' on the next line.
14*600ec01bSIlya Biryukov   else if (color == N::Color::Blue) {}
15*600ec01bSIlya Biryukov 
16*600ec01bSIlya Biryukov   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:10:11 %s -o - | FileCheck %s
17*600ec01bSIlya Biryukov   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:11:8 %s -o - | FileCheck %s
18*600ec01bSIlya Biryukov   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:12:16 %s -o - | FileCheck %s
19*600ec01bSIlya Biryukov   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:14:21 %s -o - | FileCheck %s
20*600ec01bSIlya Biryukov   // CHECK: Blue : [#N::Color#]N::Blue
21*600ec01bSIlya Biryukov   // CHECK: color : [#N::Color#]color
22*600ec01bSIlya Biryukov   // CHECK: Orange : [#N::Color#]N::Orange
23*600ec01bSIlya Biryukov   // CHECK: Red : [#N::Color#]N::Red
24*600ec01bSIlya Biryukov }
25