1*f4a2713aSLionel Sambuc struct X { int x; };
2*f4a2713aSLionel Sambuc void z(int);
3*f4a2713aSLionel Sambuc typedef struct t TYPEDEF;
4*f4a2713aSLionel Sambuc
foo()5*f4a2713aSLionel Sambuc void foo() {
6*f4a2713aSLionel Sambuc int y = 17;
7*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -fcxx-exceptions -code-completion-patterns -code-completion-at=%s:6:14 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
8*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: bool
9*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: char
10*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: class
11*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: const
12*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : const_cast<<#type#>>(<#expression#>)
13*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: Pattern : [#void#]delete <#expression#>
14*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#void#]delete [] <#expression#>
15*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : do{<#statements#>
16*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: double
17*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : dynamic_cast<<#type#>>(<#expression#>)
18*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: enum
19*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: extern
20*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#bool#]false
21*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: float
22*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: foo : [#void#]foo()
23*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : for(<#init-statement#>;<#condition#>;<#inc-expression#>){
24*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: Pattern : goto <#label#>
25*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : if(<#condition#>){<#statements#>
26*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: int
27*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: long
28*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : new <#type#>(<#expressions#>)
29*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : new <#type#>[<#size#>](<#expressions#>)
30*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: operator
31*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : reinterpret_cast<<#type#>>(<#expression#>)
32*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : return
33*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: short
34*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: signed
35*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#size_t#]sizeof(<#expression-or-type#>)
36*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: static
37*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : static_cast<<#type#>>(<#expression#>)
38*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: struct
39*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : switch(<#condition#>){
40*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: t : t
41*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#void#]throw <#expression#>
42*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#bool#]true
43*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : try{<#statements#>
44*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: TYPEDEF : TYPEDEF
45*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : typedef <#type#> <#name#>
46*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : [#std::type_info#]typeid(<#expression-or-type#>)
47*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : typename <#qualifier#>::<#name#>
48*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : typeof <#expression#>
49*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : typeof(<#type#>)
50*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: union
51*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: unsigned
52*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : using namespace <#identifier#>
53*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: void
54*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: volatile
55*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: wchar_t
56*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: Pattern : while(<#condition#>){<#statements#>
57*f4a2713aSLionel Sambuc // CHECK-CC1: COMPLETION: X : X
58*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: y : [#int#]y
59*f4a2713aSLionel Sambuc // CHECK-CC1-NEXT: COMPLETION: z : [#void#]z(<#int#>)
60*f4a2713aSLionel Sambuc
61*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:4:1 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s
62*f4a2713aSLionel Sambuc // CHECK-CC2: COMPLETION: Pattern : asm(<#string-literal#>)
63*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: bool
64*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: char
65*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: class
66*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: const
67*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: double
68*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: enum
69*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: extern
70*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: float
71*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: inline
72*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: int
73*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: long
74*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : namespace <#identifier#>{<#declarations#>
75*f4a2713aSLionel Sambuc // CHECK-CC2: COMPLETION: Pattern : namespace <#name#> = <#namespace#>
76*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: operator
77*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: short
78*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: signed
79*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: static
80*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: struct
81*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: t : t
82*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : template <#declaration#>
83*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : template<<#parameters#>>
84*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: TYPEDEF : TYPEDEF
85*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : typedef <#type#> <#name#>
86*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : typename <#qualifier#>::<#name#>
87*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : typeof <#expression#>
88*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : typeof(<#type#>)
89*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: union
90*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: unsigned
91*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : using namespace <#identifier#>
92*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: Pattern : using <#qualifier#>::<#name#>
93*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: void
94*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: volatile
95*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: wchar_t
96*f4a2713aSLionel Sambuc // CHECK-CC2-NEXT: COMPLETION: X : X
97*f4a2713aSLionel Sambuc
98*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:1:19 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s
99*f4a2713aSLionel Sambuc // CHECK-CC3: COMPLETION: bool
100*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: char
101*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: class
102*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: const
103*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: double
104*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: enum
105*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: explicit
106*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: extern
107*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: float
108*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: friend
109*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: inline
110*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: int
111*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: long
112*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: mutable
113*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: operator
114*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : private:
115*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : protected:
116*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : public:
117*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: short
118*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: signed
119*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: static
120*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: struct
121*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : template<<#parameters#>>
122*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : typedef <#type#> <#name#>
123*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : typename <#qualifier#>::<#name#>
124*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : typeof <#expression#>
125*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : typeof(<#type#>)
126*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: union
127*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: unsigned
128*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: Pattern : using <#qualifier#>::<#name#>
129*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: virtual
130*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: void
131*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: volatile
132*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: wchar_t
133*f4a2713aSLionel Sambuc // CHECK-CC3-NEXT: COMPLETION: X : X
134*f4a2713aSLionel Sambuc
135*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -fcxx-exceptions -code-completion-patterns -code-completion-at=%s:6:11 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s
136*f4a2713aSLionel Sambuc // CHECK-CC4: COMPLETION: bool
137*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: char
138*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: class
139*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: const
140*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : const_cast<<#type#>>(<#expression#>)
141*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#void#]delete <#expression#>
142*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#void#]delete [] <#expression#>
143*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: double
144*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : dynamic_cast<<#type#>>(<#expression#>)
145*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: enum
146*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#bool#]false
147*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: float
148*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: foo : [#void#]foo()
149*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: int
150*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: long
151*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : new <#type#>(<#expressions#>)
152*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : new <#type#>[<#size#>](<#expressions#>)
153*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: operator
154*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : reinterpret_cast<<#type#>>(<#expression#>)
155*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: short
156*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: signed
157*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#size_t#]sizeof(<#expression-or-type#>)
158*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : static_cast<<#type#>>(<#expression#>)
159*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: struct
160*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: t : t
161*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#void#]throw <#expression#>
162*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#bool#]true
163*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: TYPEDEF : TYPEDEF
164*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : [#std::type_info#]typeid(<#expression-or-type#>)
165*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : typename <#qualifier#>::<#name#>
166*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : typeof <#expression#>
167*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: Pattern : typeof(<#type#>)
168*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: union
169*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: unsigned
170*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: void
171*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: volatile
172*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: wchar_t
173*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: X : X
174*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: y : [#int#]y
175*f4a2713aSLionel Sambuc // CHECK-CC4-NEXT: COMPLETION: z : [#void#]z(<#int#>)
176*f4a2713aSLionel Sambuc
177*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -fno-rtti -code-completion-patterns -code-completion-at=%s:6:14 %s -o - | FileCheck -check-prefix=CHECK-NO-RTTI %s
178*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: bool
179*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: char
180*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: class
181*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: const
182*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : const_cast<<#type#>>(<#expression#>)
183*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: Pattern : [#void#]delete <#expression#>
184*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : [#void#]delete [] <#expression#>
185*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : do{<#statements#>
186*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: double
187*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NOT: dynamic_cast
188*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: enum
189*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: extern
190*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : [#bool#]false
191*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: float
192*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: foo : [#void#]foo()
193*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : for(<#init-statement#>;<#condition#>;<#inc-expression#>){
194*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: Pattern : goto <#label#>
195*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : if(<#condition#>){<#statements#>
196*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: int
197*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: long
198*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : new <#type#>(<#expressions#>)
199*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : new <#type#>[<#size#>](<#expressions#>)
200*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: operator
201*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : reinterpret_cast<<#type#>>(<#expression#>)
202*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : return
203*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: short
204*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: signed
205*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : [#size_t#]sizeof(<#expression-or-type#>)
206*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: static
207*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : static_cast<<#type#>>(<#expression#>)
208*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: struct
209*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : switch(<#condition#>){
210*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: t : t
211*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NOT: throw
212*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: Pattern : [#bool#]true
213*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NOT: try
214*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: TYPEDEF : TYPEDEF
215*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : typedef <#type#> <#name#>
216*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NOT: typeid
217*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: Pattern : typename <#qualifier#>::<#name#>
218*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : typeof <#expression#>
219*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : typeof(<#type#>)
220*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: union
221*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: unsigned
222*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : using namespace <#identifier#>
223*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: void
224*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: volatile
225*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: wchar_t
226*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: Pattern : while(<#condition#>){<#statements#>
227*f4a2713aSLionel Sambuc // CHECK-NO-RTTI: COMPLETION: X : X
228*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: y : [#int#]y
229*f4a2713aSLionel Sambuc // CHECK-NO-RTTI-NEXT: COMPLETION: z : [#void#]z(<#int#>)
230