1 // Note: the run lines follow their respective tests, since line/column
2 // matter in this test.
3 
4 void foo_1();
5 void foo_2(int);
6 void foo_2(void *);
7 void foo_3(int, int);
8 void foo_3(void *, void *);
9 void foo_4(int, int);
10 void foo_4(void *, int);
11 void foo_5(int, int);
12 void foo_5(int, void *);
13 template<class T> void foo_6();
14 template<class T> void foo_7(T);
15 template<class T> void foo_8(T, T);
16 template<class T> void foo_9(int, T);
17 template<class T> void foo_9(void *, T);
18 template<class T> void foo_10(T, int, int);
19 template<class U> void foo_10(U, void *, void *);
20 template<class T, class U> void foo_11(T, U);
21 template<class T = int> void foo_12(T, T);
22 template<class V>
23 struct S {
24   void foo_1();
25   void foo_2(int);
26   void foo_2(void *);
27   void foo_3(int, int);
28   void foo_3(void *, void *);
29   void foo_4(int, int);
30   void foo_4(void *, int);
31   void foo_5(int, int);
32   void foo_5(int, void *);
33   template<class T> void foo_6();
34   template<class T> void foo_7(T);
35   template<class T> void foo_8(T, T);
36   template<class T> void foo_9(int, T);
37   template<class T> void foo_9(void *, T);
38   template<class T> void foo_10(T, int, int);
39   template<class U> void foo_10(U, void *, void *);
40   template<class T, class U> void foo_11(T, U);
41   template<class T = int> void foo_12(T, T);
42   template<class T> void foo_13(V, T, T);
43 };
44 
45 int main() {
46   void *p = 0;
47   foo_1();
48   foo_2(42);
49   foo_3(42, 42);
50   foo_3(p, p);
51   foo_4(42, 42);
52   foo_4(p, 42);
53   foo_5(42, 42);
54   foo_6<int>();
55   foo_7(42);
56   foo_7<int>(42);
57   foo_8(42, 42);
58   foo_9(42, 42);
59   foo_9(p, 42);
60   foo_10(42, 42, 42);
61   foo_11(42, 42);
62   foo_11<int>(42, 42);
63   foo_11<int, void *>(42, p);
64   foo_12(p, p);
65 
66   S<int> s;
67   s.foo_1();
68   s.foo_2(42);
69   s.foo_3(42, 42);
70   s.foo_3(p, p);
71   s.foo_4(42, 42);
72   s.foo_4(p, 42);
73   s.foo_5(42, 42);
74   s.foo_6<int>();
75   s.foo_7(42);
76   s.foo_7<int>(42);
77   s.foo_8(42, 42);
78   s.foo_9(42, 42);
79   s.foo_9(p, 42);
80   s.foo_10(42, 42, 42);
81   s.foo_11(42, 42);
82   s.foo_11<int>(42, 42);
83   s.foo_11<int, void *>(42, p);
84   s.foo_12(p, p);
85   s.foo_13(42, 42, 42);
86 
87   foo_1(42,);
88   foo_2(42,);
89   foo_6<int>(42,);
90   foo_7(42,);
91   s.foo_1(42,);
92   s.foo_2(42,);
93   s.foo_6<int>(42,);
94   s.foo_7(42,);
95 }
96 
97 struct Bar {
98   static void foo_1();
99   void foo_1(float);
100   static void foo_1(int);
101 };
102 
103 void test() {
104   Bar::foo_1();
105   Bar b;
106   b.foo_1();
107 }
108 
109 struct Bar2 : public Bar {
110   Bar2() {
111     Bar::foo_1();
112   }
113 };
114 
115 // RUN: c-index-test -code-completion-at=%s:47:9 %s | FileCheck -check-prefix=CHECK-CC1 %s
116 // CHECK-CC1: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
117 // CHECK-CC1: Completion contexts:
118 // CHECK-CC1-NEXT: Any type
119 // CHECK-CC1-NEXT: Any value
120 // CHECK-CC1-NEXT: Enum tag
121 // CHECK-CC1-NEXT: Union tag
122 // CHECK-CC1-NEXT: Struct tag
123 // CHECK-CC1-NEXT: Class name
124 // CHECK-CC1-NEXT: Nested name specifier
125 // CHECK-CC1-NEXT: Objective-C interface
126 
127 // RUN: c-index-test -code-completion-at=%s:48:9 %s | FileCheck -check-prefix=CHECK-CC2 %s
128 // CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)
129 // CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
130 // CHECK-CC2: Completion contexts:
131 // CHECK-CC2-NEXT: Any type
132 // CHECK-CC2-NEXT: Any value
133 // CHECK-CC2-NEXT: Enum tag
134 // CHECK-CC2-NEXT: Union tag
135 // CHECK-CC2-NEXT: Struct tag
136 // CHECK-CC2-NEXT: Class name
137 // CHECK-CC2-NEXT: Nested name specifier
138 // CHECK-CC2-NEXT: Objective-C interface
139 
140 // RUN: c-index-test -code-completion-at=%s:49:9 %s | FileCheck -check-prefix=CHECK-CC3 %s
141 // CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
142 // CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
143 // CHECK-CC3: Completion contexts:
144 // CHECK-CC3-NEXT: Any type
145 // CHECK-CC3-NEXT: Any value
146 // CHECK-CC3-NEXT: Enum tag
147 // CHECK-CC3-NEXT: Union tag
148 // CHECK-CC3-NEXT: Struct tag
149 // CHECK-CC3-NEXT: Class name
150 // CHECK-CC3-NEXT: Nested name specifier
151 // CHECK-CC3-NEXT: Objective-C interface
152 
153 // RUN: c-index-test -code-completion-at=%s:49:12 %s | FileCheck -check-prefix=CHECK-CC4 %s
154 // CHECK-CC4: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
155 // CHECK-CC4: Completion contexts:
156 // CHECK-CC4-NEXT: Any type
157 // CHECK-CC4-NEXT: Any value
158 // CHECK-CC4-NEXT: Enum tag
159 // CHECK-CC4-NEXT: Union tag
160 // CHECK-CC4-NEXT: Struct tag
161 // CHECK-CC4-NEXT: Class name
162 // CHECK-CC4-NEXT: Nested name specifier
163 // CHECK-CC4-NEXT: Objective-C interface
164 
165 // RUN: c-index-test -code-completion-at=%s:50:11 %s | FileCheck -check-prefix=CHECK-CC5 %s
166 // CHECK-CC5: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
167 // CHECK-CC5: Completion contexts:
168 // CHECK-CC5-NEXT: Any type
169 // CHECK-CC5-NEXT: Any value
170 // CHECK-CC5-NEXT: Enum tag
171 // CHECK-CC5-NEXT: Union tag
172 // CHECK-CC5-NEXT: Struct tag
173 // CHECK-CC5-NEXT: Class name
174 // CHECK-CC5-NEXT: Nested name specifier
175 // CHECK-CC5-NEXT: Objective-C interface
176 
177 // RUN: c-index-test -code-completion-at=%s:51:12 %s | FileCheck -check-prefix=CHECK-CC6 %s
178 // CHECK-CC6: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
179 // CHECK-CC6: Completion contexts:
180 // CHECK-CC6-NEXT: Any type
181 // CHECK-CC6-NEXT: Any value
182 // CHECK-CC6-NEXT: Enum tag
183 // CHECK-CC6-NEXT: Union tag
184 // CHECK-CC6-NEXT: Struct tag
185 // CHECK-CC6-NEXT: Class name
186 // CHECK-CC6-NEXT: Nested name specifier
187 // CHECK-CC6-NEXT: Objective-C interface
188 
189 // RUN: c-index-test -code-completion-at=%s:52:11 %s | FileCheck -check-prefix=CHECK-CC7 %s
190 // CHECK-CC7: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)
191 // CHECK-CC7: Completion contexts:
192 // CHECK-CC7-NEXT: Any type
193 // CHECK-CC7-NEXT: Any value
194 // CHECK-CC7-NEXT: Enum tag
195 // CHECK-CC7-NEXT: Union tag
196 // CHECK-CC7-NEXT: Struct tag
197 // CHECK-CC7-NEXT: Class name
198 // CHECK-CC7-NEXT: Nested name specifier
199 // CHECK-CC7-NEXT: Objective-C interface
200 
201 // RUN: c-index-test -code-completion-at=%s:53:12 %s | FileCheck -check-prefix=CHECK-CC8 %s
202 // CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
203 // CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
204 // CHECK-CC8: Completion contexts:
205 // CHECK-CC8-NEXT: Any type
206 // CHECK-CC8-NEXT: Any value
207 // CHECK-CC8-NEXT: Enum tag
208 // CHECK-CC8-NEXT: Union tag
209 // CHECK-CC8-NEXT: Struct tag
210 // CHECK-CC8-NEXT: Class name
211 // CHECK-CC8-NEXT: Nested name specifier
212 // CHECK-CC8-NEXT: Objective-C interface
213 
214 // RUN: c-index-test -code-completion-at=%s:54:14 %s | FileCheck -check-prefix=CHECK-CC9 %s
215 // CHECK-CC9: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)
216 // CHECK-CC9: Completion contexts:
217 // CHECK-CC9-NEXT: Any type
218 // CHECK-CC9-NEXT: Any value
219 // CHECK-CC9-NEXT: Enum tag
220 // CHECK-CC9-NEXT: Union tag
221 // CHECK-CC9-NEXT: Struct tag
222 // CHECK-CC9-NEXT: Class name
223 // CHECK-CC9-NEXT: Nested name specifier
224 // CHECK-CC9-NEXT: Objective-C interface
225 
226 // RUN: c-index-test -code-completion-at=%s:55:9 %s | FileCheck -check-prefix=CHECK-CC10 %s
227 // CHECK-CC10: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)
228 // CHECK-CC10: Completion contexts:
229 // CHECK-CC10-NEXT: Any type
230 // CHECK-CC10-NEXT: Any value
231 // CHECK-CC10-NEXT: Enum tag
232 // CHECK-CC10-NEXT: Union tag
233 // CHECK-CC10-NEXT: Struct tag
234 // CHECK-CC10-NEXT: Class name
235 // CHECK-CC10-NEXT: Nested name specifier
236 // CHECK-CC10-NEXT: Objective-C interface
237 
238 // RUN: c-index-test -code-completion-at=%s:56:14 %s | FileCheck -check-prefix=CHECK-CC11 %s
239 // CHECK-CC11: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
240 // CHECK-CC11: Completion contexts:
241 // CHECK-CC11-NEXT: Any type
242 // CHECK-CC11-NEXT: Any value
243 // CHECK-CC11-NEXT: Enum tag
244 // CHECK-CC11-NEXT: Union tag
245 // CHECK-CC11-NEXT: Struct tag
246 // CHECK-CC11-NEXT: Class name
247 // CHECK-CC11-NEXT: Nested name specifier
248 // CHECK-CC11-NEXT: Objective-C interface
249 
250 // RUN: c-index-test -code-completion-at=%s:57:12 %s | FileCheck -check-prefix=CHECK-CC12 %s
251 // CHECK-CC12: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
252 // CHECK-CC12: Completion contexts:
253 // CHECK-CC12-NEXT: Any type
254 // CHECK-CC12-NEXT: Any value
255 // CHECK-CC12-NEXT: Enum tag
256 // CHECK-CC12-NEXT: Union tag
257 // CHECK-CC12-NEXT: Struct tag
258 // CHECK-CC12-NEXT: Class name
259 // CHECK-CC12-NEXT: Nested name specifier
260 // CHECK-CC12-NEXT: Objective-C interface
261 
262 // RUN: c-index-test -code-completion-at=%s:58:12 %s | FileCheck -check-prefix=CHECK-CC13 %s
263 // CHECK-CC13: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)
264 // CHECK-CC13: Completion contexts:
265 // CHECK-CC13-NEXT: Any type
266 // CHECK-CC13-NEXT: Any value
267 // CHECK-CC13-NEXT: Enum tag
268 // CHECK-CC13-NEXT: Union tag
269 // CHECK-CC13-NEXT: Struct tag
270 // CHECK-CC13-NEXT: Class name
271 // CHECK-CC13-NEXT: Nested name specifier
272 // CHECK-CC13-NEXT: Objective-C interface
273 
274 // RUN: c-index-test -code-completion-at=%s:59:11 %s | FileCheck -check-prefix=CHECK-CC14 %s
275 // CHECK-CC14: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)
276 // CHECK-CC14: Completion contexts:
277 // CHECK-CC14-NEXT: Any type
278 // CHECK-CC14-NEXT: Any value
279 // CHECK-CC14-NEXT: Enum tag
280 // CHECK-CC14-NEXT: Union tag
281 // CHECK-CC14-NEXT: Struct tag
282 // CHECK-CC14-NEXT: Class name
283 // CHECK-CC14-NEXT: Nested name specifier
284 // CHECK-CC14-NEXT: Objective-C interface
285 
286 // RUN: c-index-test -code-completion-at=%s:60:10 %s | FileCheck -check-prefix=CHECK-CC15 %s
287 // CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)
288 // CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)
289 // CHECK-CC15: Completion contexts:
290 // CHECK-CC15-NEXT: Any type
291 // CHECK-CC15-NEXT: Any value
292 // CHECK-CC15-NEXT: Enum tag
293 // CHECK-CC15-NEXT: Union tag
294 // CHECK-CC15-NEXT: Struct tag
295 // CHECK-CC15-NEXT: Class name
296 // CHECK-CC15-NEXT: Nested name specifier
297 // CHECK-CC15-NEXT: Objective-C interface
298 
299 // RUN: c-index-test -code-completion-at=%s:60:13 %s | FileCheck -check-prefix=CHECK-CC16 %s
300 // CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
301 // CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
302 // CHECK-CC16: Completion contexts:
303 // CHECK-CC16-NEXT: Any type
304 // CHECK-CC16-NEXT: Any value
305 // CHECK-CC16-NEXT: Enum tag
306 // CHECK-CC16-NEXT: Union tag
307 // CHECK-CC16-NEXT: Struct tag
308 // CHECK-CC16-NEXT: Class name
309 // CHECK-CC16-NEXT: Nested name specifier
310 // CHECK-CC16-NEXT: Objective-C interface
311 
312 // RUN: c-index-test -code-completion-at=%s:60:17 %s | FileCheck -check-prefix=CHECK-CC17 %s
313 // CHECK-CC17: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
314 // CHECK-CC17: Completion contexts:
315 // CHECK-CC17-NEXT: Any type
316 // CHECK-CC17-NEXT: Any value
317 // CHECK-CC17-NEXT: Enum tag
318 // CHECK-CC17-NEXT: Union tag
319 // CHECK-CC17-NEXT: Struct tag
320 // CHECK-CC17-NEXT: Class name
321 // CHECK-CC17-NEXT: Nested name specifier
322 // CHECK-CC17-NEXT: Objective-C interface
323 
324 // RUN: c-index-test -code-completion-at=%s:61:10 %s | FileCheck -check-prefix=CHECK-CC18 %s
325 // CHECK-CC18: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)
326 // CHECK-CC18: Completion contexts:
327 // CHECK-CC18-NEXT: Any type
328 // CHECK-CC18-NEXT: Any value
329 // CHECK-CC18-NEXT: Enum tag
330 // CHECK-CC18-NEXT: Union tag
331 // CHECK-CC18-NEXT: Struct tag
332 // CHECK-CC18-NEXT: Class name
333 // CHECK-CC18-NEXT: Nested name specifier
334 // CHECK-CC18-NEXT: Objective-C interface
335 
336 // RUN: c-index-test -code-completion-at=%s:61:13 %s | FileCheck -check-prefix=CHECK-CC19 %s
337 // CHECK-CC19: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
338 // CHECK-CC19: Completion contexts:
339 // CHECK-CC19-NEXT: Any type
340 // CHECK-CC19-NEXT: Any value
341 // CHECK-CC19-NEXT: Enum tag
342 // CHECK-CC19-NEXT: Union tag
343 // CHECK-CC19-NEXT: Struct tag
344 // CHECK-CC19-NEXT: Class name
345 // CHECK-CC19-NEXT: Nested name specifier
346 // CHECK-CC19-NEXT: Objective-C interface
347 
348 // RUN: c-index-test -code-completion-at=%s:62:15 %s | FileCheck -check-prefix=CHECK-CC20 %s
349 // CHECK-CC20: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)
350 // CHECK-CC20: Completion contexts:
351 // CHECK-CC20-NEXT: Any type
352 // CHECK-CC20-NEXT: Any value
353 // CHECK-CC20-NEXT: Enum tag
354 // CHECK-CC20-NEXT: Union tag
355 // CHECK-CC20-NEXT: Struct tag
356 // CHECK-CC20-NEXT: Class name
357 // CHECK-CC20-NEXT: Nested name specifier
358 // CHECK-CC20-NEXT: Objective-C interface
359 
360 // RUN: c-index-test -code-completion-at=%s:62:18 %s | FileCheck -check-prefix=CHECK-CC21 %s
361 // CHECK-CC21: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
362 // CHECK-CC21: Completion contexts:
363 // CHECK-CC21-NEXT: Any type
364 // CHECK-CC21-NEXT: Any value
365 // CHECK-CC21-NEXT: Enum tag
366 // CHECK-CC21-NEXT: Union tag
367 // CHECK-CC21-NEXT: Struct tag
368 // CHECK-CC21-NEXT: Class name
369 // CHECK-CC21-NEXT: Nested name specifier
370 // CHECK-CC21-NEXT: Objective-C interface
371 
372 // RUN: c-index-test -code-completion-at=%s:63:26 %s | FileCheck -check-prefix=CHECK-CC22 %s
373 // CHECK-CC22: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
374 // CHECK-CC22: Completion contexts:
375 // CHECK-CC22-NEXT: Any type
376 // CHECK-CC22-NEXT: Any value
377 // CHECK-CC22-NEXT: Enum tag
378 // CHECK-CC22-NEXT: Union tag
379 // CHECK-CC22-NEXT: Struct tag
380 // CHECK-CC22-NEXT: Class name
381 // CHECK-CC22-NEXT: Nested name specifier
382 // CHECK-CC22-NEXT: Objective-C interface
383 
384 // RUN: c-index-test -code-completion-at=%s:64:10 %s | FileCheck -check-prefix=CHECK-CC23 %s
385 // CHECK-CC23: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
386 // CHECK-CC23: Completion contexts:
387 // CHECK-CC23-NEXT: Any type
388 // CHECK-CC23-NEXT: Any value
389 // CHECK-CC23-NEXT: Enum tag
390 // CHECK-CC23-NEXT: Union tag
391 // CHECK-CC23-NEXT: Struct tag
392 // CHECK-CC23-NEXT: Class name
393 // CHECK-CC23-NEXT: Nested name specifier
394 // CHECK-CC23-NEXT: Objective-C interface
395 
396 // RUN: c-index-test -code-completion-at=%s:64:12 %s | FileCheck -check-prefix=CHECK-CC24 %s
397 // CHECK-CC24: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
398 // CHECK-CC24: Completion contexts:
399 // CHECK-CC24-NEXT: Any type
400 // CHECK-CC24-NEXT: Any value
401 // CHECK-CC24-NEXT: Enum tag
402 // CHECK-CC24-NEXT: Union tag
403 // CHECK-CC24-NEXT: Struct tag
404 // CHECK-CC24-NEXT: Class name
405 // CHECK-CC24-NEXT: Nested name specifier
406 // CHECK-CC24-NEXT: Objective-C interface
407 
408 // RUN: c-index-test -code-completion-at=%s:67:11 %s | FileCheck -check-prefix=CHECK-CC25 %s
409 // CHECK-CC25: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
410 // CHECK-CC25: Completion contexts:
411 // CHECK-CC25-NEXT: Any type
412 // CHECK-CC25-NEXT: Any value
413 // CHECK-CC25-NEXT: Enum tag
414 // CHECK-CC25-NEXT: Union tag
415 // CHECK-CC25-NEXT: Struct tag
416 // CHECK-CC25-NEXT: Class name
417 // CHECK-CC25-NEXT: Nested name specifier
418 // CHECK-CC25-NEXT: Objective-C interface
419 
420 // RUN: c-index-test -code-completion-at=%s:68:11 %s | FileCheck -check-prefix=CHECK-CC26 %s
421 // CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
422 // CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)
423 // CHECK-CC26: Completion contexts:
424 // CHECK-CC26-NEXT: Any type
425 // CHECK-CC26-NEXT: Any value
426 // CHECK-CC26-NEXT: Enum tag
427 // CHECK-CC26-NEXT: Union tag
428 // CHECK-CC26-NEXT: Struct tag
429 // CHECK-CC26-NEXT: Class name
430 // CHECK-CC26-NEXT: Nested name specifier
431 // CHECK-CC26-NEXT: Objective-C interface
432 
433 // RUN: c-index-test -code-completion-at=%s:69:11 %s | FileCheck -check-prefix=CHECK-CC27 %s
434 // CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
435 // CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
436 // CHECK-CC27: Completion contexts:
437 // CHECK-CC27-NEXT: Any type
438 // CHECK-CC27-NEXT: Any value
439 // CHECK-CC27-NEXT: Enum tag
440 // CHECK-CC27-NEXT: Union tag
441 // CHECK-CC27-NEXT: Struct tag
442 // CHECK-CC27-NEXT: Class name
443 // CHECK-CC27-NEXT: Nested name specifier
444 // CHECK-CC27-NEXT: Objective-C interface
445 
446 // RUN: c-index-test -code-completion-at=%s:69:14 %s | FileCheck -check-prefix=CHECK-CC28 %s
447 // CHECK-CC28: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
448 // CHECK-CC28: Completion contexts:
449 // CHECK-CC28-NEXT: Any type
450 // CHECK-CC28-NEXT: Any value
451 // CHECK-CC28-NEXT: Enum tag
452 // CHECK-CC28-NEXT: Union tag
453 // CHECK-CC28-NEXT: Struct tag
454 // CHECK-CC28-NEXT: Class name
455 // CHECK-CC28-NEXT: Nested name specifier
456 // CHECK-CC28-NEXT: Objective-C interface
457 
458 // RUN: c-index-test -code-completion-at=%s:70:13 %s | FileCheck -check-prefix=CHECK-CC29 %s
459 // CHECK-CC29: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
460 // CHECK-CC29: Completion contexts:
461 // CHECK-CC29-NEXT: Any type
462 // CHECK-CC29-NEXT: Any value
463 // CHECK-CC29-NEXT: Enum tag
464 // CHECK-CC29-NEXT: Union tag
465 // CHECK-CC29-NEXT: Struct tag
466 // CHECK-CC29-NEXT: Class name
467 // CHECK-CC29-NEXT: Nested name specifier
468 // CHECK-CC29-NEXT: Objective-C interface
469 
470 // RUN: c-index-test -code-completion-at=%s:71:14 %s | FileCheck -check-prefix=CHECK-CC30 %s
471 // CHECK-CC30: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
472 // CHECK-CC30: Completion contexts:
473 // CHECK-CC30-NEXT: Any type
474 // CHECK-CC30-NEXT: Any value
475 // CHECK-CC30-NEXT: Enum tag
476 // CHECK-CC30-NEXT: Union tag
477 // CHECK-CC30-NEXT: Struct tag
478 // CHECK-CC30-NEXT: Class name
479 // CHECK-CC30-NEXT: Nested name specifier
480 // CHECK-CC30-NEXT: Objective-C interface
481 
482 // RUN: c-index-test -code-completion-at=%s:72:13 %s | FileCheck -check-prefix=CHECK-CC31 %s
483 // CHECK-CC31: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)
484 // CHECK-CC31: Completion contexts:
485 // CHECK-CC31-NEXT: Any type
486 // CHECK-CC31-NEXT: Any value
487 // CHECK-CC31-NEXT: Enum tag
488 // CHECK-CC31-NEXT: Union tag
489 // CHECK-CC31-NEXT: Struct tag
490 // CHECK-CC31-NEXT: Class name
491 // CHECK-CC31-NEXT: Nested name specifier
492 // CHECK-CC31-NEXT: Objective-C interface
493 
494 // RUN: c-index-test -code-completion-at=%s:73:14 %s | FileCheck -check-prefix=CHECK-CC32 %s
495 // CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
496 // CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
497 // CHECK-CC32: Completion contexts:
498 // CHECK-CC32-NEXT: Any type
499 // CHECK-CC32-NEXT: Any value
500 // CHECK-CC32-NEXT: Enum tag
501 // CHECK-CC32-NEXT: Union tag
502 // CHECK-CC32-NEXT: Struct tag
503 // CHECK-CC32-NEXT: Class name
504 // CHECK-CC32-NEXT: Nested name specifier
505 // CHECK-CC32-NEXT: Objective-C interface
506 
507 // RUN: c-index-test -code-completion-at=%s:74:16 %s | FileCheck -check-prefix=CHECK-CC33 %s
508 // CHECK-CC33: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)
509 // CHECK-CC33: Completion contexts:
510 // CHECK-CC33-NEXT: Any type
511 // CHECK-CC33-NEXT: Any value
512 // CHECK-CC33-NEXT: Enum tag
513 // CHECK-CC33-NEXT: Union tag
514 // CHECK-CC33-NEXT: Struct tag
515 // CHECK-CC33-NEXT: Class name
516 // CHECK-CC33-NEXT: Nested name specifier
517 // CHECK-CC33-NEXT: Objective-C interface
518 
519 // RUN: c-index-test -code-completion-at=%s:75:11 %s | FileCheck -check-prefix=CHECK-CC34 %s
520 // CHECK-CC34: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)
521 // CHECK-CC34: Completion contexts:
522 // CHECK-CC34-NEXT: Any type
523 // CHECK-CC34-NEXT: Any value
524 // CHECK-CC34-NEXT: Enum tag
525 // CHECK-CC34-NEXT: Union tag
526 // CHECK-CC34-NEXT: Struct tag
527 // CHECK-CC34-NEXT: Class name
528 // CHECK-CC34-NEXT: Nested name specifier
529 // CHECK-CC34-NEXT: Objective-C interface
530 
531 // RUN: c-index-test -code-completion-at=%s:76:16 %s | FileCheck -check-prefix=CHECK-CC35 %s
532 // CHECK-CC35: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
533 // CHECK-CC35: Completion contexts:
534 // CHECK-CC35-NEXT: Any type
535 // CHECK-CC35-NEXT: Any value
536 // CHECK-CC35-NEXT: Enum tag
537 // CHECK-CC35-NEXT: Union tag
538 // CHECK-CC35-NEXT: Struct tag
539 // CHECK-CC35-NEXT: Class name
540 // CHECK-CC35-NEXT: Nested name specifier
541 // CHECK-CC35-NEXT: Objective-C interface
542 
543 // RUN: c-index-test -code-completion-at=%s:77:14 %s | FileCheck -check-prefix=CHECK-CC36 %s
544 // CHECK-CC36: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
545 // CHECK-CC36: Completion contexts:
546 // CHECK-CC36-NEXT: Any type
547 // CHECK-CC36-NEXT: Any value
548 // CHECK-CC36-NEXT: Enum tag
549 // CHECK-CC36-NEXT: Union tag
550 // CHECK-CC36-NEXT: Struct tag
551 // CHECK-CC36-NEXT: Class name
552 // CHECK-CC36-NEXT: Nested name specifier
553 // CHECK-CC36-NEXT: Objective-C interface
554 
555 // RUN: c-index-test -code-completion-at=%s:78:14 %s | FileCheck -check-prefix=CHECK-CC37 %s
556 // CHECK-CC37: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)
557 // CHECK-CC37: Completion contexts:
558 // CHECK-CC37-NEXT: Any type
559 // CHECK-CC37-NEXT: Any value
560 // CHECK-CC37-NEXT: Enum tag
561 // CHECK-CC37-NEXT: Union tag
562 // CHECK-CC37-NEXT: Struct tag
563 // CHECK-CC37-NEXT: Class name
564 // CHECK-CC37-NEXT: Nested name specifier
565 // CHECK-CC37-NEXT: Objective-C interface
566 
567 // RUN: c-index-test -code-completion-at=%s:79:13 %s | FileCheck -check-prefix=CHECK-CC38 %s
568 // CHECK-CC38: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)
569 // CHECK-CC38: Completion contexts:
570 // CHECK-CC38-NEXT: Any type
571 // CHECK-CC38-NEXT: Any value
572 // CHECK-CC38-NEXT: Enum tag
573 // CHECK-CC38-NEXT: Union tag
574 // CHECK-CC38-NEXT: Struct tag
575 // CHECK-CC38-NEXT: Class name
576 // CHECK-CC38-NEXT: Nested name specifier
577 // CHECK-CC38-NEXT: Objective-C interface
578 
579 // RUN: c-index-test -code-completion-at=%s:80:12 %s | FileCheck -check-prefix=CHECK-CC39 %s
580 // CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)
581 // CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)
582 // CHECK-CC39: Completion contexts:
583 // CHECK-CC39-NEXT: Any type
584 // CHECK-CC39-NEXT: Any value
585 // CHECK-CC39-NEXT: Enum tag
586 // CHECK-CC39-NEXT: Union tag
587 // CHECK-CC39-NEXT: Struct tag
588 // CHECK-CC39-NEXT: Class name
589 // CHECK-CC39-NEXT: Nested name specifier
590 // CHECK-CC39-NEXT: Objective-C interface
591 
592 // RUN: c-index-test -code-completion-at=%s:80:15 %s | FileCheck -check-prefix=CHECK-CC40 %s
593 // CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
594 // CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
595 // CHECK-CC40: Completion contexts:
596 // CHECK-CC40-NEXT: Any type
597 // CHECK-CC40-NEXT: Any value
598 // CHECK-CC40-NEXT: Enum tag
599 // CHECK-CC40-NEXT: Union tag
600 // CHECK-CC40-NEXT: Struct tag
601 // CHECK-CC40-NEXT: Class name
602 // CHECK-CC40-NEXT: Nested name specifier
603 // CHECK-CC40-NEXT: Objective-C interface
604 
605 // RUN: c-index-test -code-completion-at=%s:80:19 %s | FileCheck -check-prefix=CHECK-CC41 %s
606 // CHECK-CC41: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
607 // CHECK-CC41: Completion contexts:
608 // CHECK-CC41-NEXT: Any type
609 // CHECK-CC41-NEXT: Any value
610 // CHECK-CC41-NEXT: Enum tag
611 // CHECK-CC41-NEXT: Union tag
612 // CHECK-CC41-NEXT: Struct tag
613 // CHECK-CC41-NEXT: Class name
614 // CHECK-CC41-NEXT: Nested name specifier
615 // CHECK-CC41-NEXT: Objective-C interface
616 
617 // RUN: c-index-test -code-completion-at=%s:81:12 %s | FileCheck -check-prefix=CHECK-CC42 %s
618 // CHECK-CC42: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)
619 // CHECK-CC42: Completion contexts:
620 // CHECK-CC42-NEXT: Any type
621 // CHECK-CC42-NEXT: Any value
622 // CHECK-CC42-NEXT: Enum tag
623 // CHECK-CC42-NEXT: Union tag
624 // CHECK-CC42-NEXT: Struct tag
625 // CHECK-CC42-NEXT: Class name
626 // CHECK-CC42-NEXT: Nested name specifier
627 // CHECK-CC42-NEXT: Objective-C interface
628 
629 // RUN: c-index-test -code-completion-at=%s:81:15 %s | FileCheck -check-prefix=CHECK-CC43 %s
630 // CHECK-CC43: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
631 // CHECK-CC43: Completion contexts:
632 // CHECK-CC43-NEXT: Any type
633 // CHECK-CC43-NEXT: Any value
634 // CHECK-CC43-NEXT: Enum tag
635 // CHECK-CC43-NEXT: Union tag
636 // CHECK-CC43-NEXT: Struct tag
637 // CHECK-CC43-NEXT: Class name
638 // CHECK-CC43-NEXT: Nested name specifier
639 // CHECK-CC43-NEXT: Objective-C interface
640 
641 // RUN: c-index-test -code-completion-at=%s:82:17 %s | FileCheck -check-prefix=CHECK-CC44 %s
642 // CHECK-CC44: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)
643 // CHECK-CC44: Completion contexts:
644 // CHECK-CC44-NEXT: Any type
645 // CHECK-CC44-NEXT: Any value
646 // CHECK-CC44-NEXT: Enum tag
647 // CHECK-CC44-NEXT: Union tag
648 // CHECK-CC44-NEXT: Struct tag
649 // CHECK-CC44-NEXT: Class name
650 // CHECK-CC44-NEXT: Nested name specifier
651 // CHECK-CC44-NEXT: Objective-C interface
652 
653 // RUN: c-index-test -code-completion-at=%s:82:20 %s | FileCheck -check-prefix=CHECK-CC45 %s
654 // CHECK-CC45: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
655 // CHECK-CC45: Completion contexts:
656 // CHECK-CC45-NEXT: Any type
657 // CHECK-CC45-NEXT: Any value
658 // CHECK-CC45-NEXT: Enum tag
659 // CHECK-CC45-NEXT: Union tag
660 // CHECK-CC45-NEXT: Struct tag
661 // CHECK-CC45-NEXT: Class name
662 // CHECK-CC45-NEXT: Nested name specifier
663 // CHECK-CC45-NEXT: Objective-C interface
664 
665 // RUN: c-index-test -code-completion-at=%s:83:28 %s | FileCheck -check-prefix=CHECK-CC46 %s
666 // CHECK-CC46: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
667 // CHECK-CC46: Completion contexts:
668 // CHECK-CC46-NEXT: Any type
669 // CHECK-CC46-NEXT: Any value
670 // CHECK-CC46-NEXT: Enum tag
671 // CHECK-CC46-NEXT: Union tag
672 // CHECK-CC46-NEXT: Struct tag
673 // CHECK-CC46-NEXT: Class name
674 // CHECK-CC46-NEXT: Nested name specifier
675 // CHECK-CC46-NEXT: Objective-C interface
676 
677 // RUN: c-index-test -code-completion-at=%s:84:12 %s | FileCheck -check-prefix=CHECK-CC47 %s
678 // CHECK-CC47: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
679 // CHECK-CC47: Completion contexts:
680 // CHECK-CC47-NEXT: Any type
681 // CHECK-CC47-NEXT: Any value
682 // CHECK-CC47-NEXT: Enum tag
683 // CHECK-CC47-NEXT: Union tag
684 // CHECK-CC47-NEXT: Struct tag
685 // CHECK-CC47-NEXT: Class name
686 // CHECK-CC47-NEXT: Nested name specifier
687 // CHECK-CC47-NEXT: Objective-C interface
688 
689 // RUN: c-index-test -code-completion-at=%s:84:14 %s | FileCheck -check-prefix=CHECK-CC48 %s
690 // CHECK-CC48: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
691 // CHECK-CC48: Completion contexts:
692 // CHECK-CC48-NEXT: Any type
693 // CHECK-CC48-NEXT: Any value
694 // CHECK-CC48-NEXT: Enum tag
695 // CHECK-CC48-NEXT: Union tag
696 // CHECK-CC48-NEXT: Struct tag
697 // CHECK-CC48-NEXT: Class name
698 // CHECK-CC48-NEXT: Nested name specifier
699 // CHECK-CC48-NEXT: Objective-C interface
700 
701 // RUN: c-index-test -code-completion-at=%s:85:12 %s | FileCheck -check-prefix=CHECK-CC49 %s
702 // CHECK-CC49: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder T}{Comma , }{Placeholder T}{RightParen )} (1)
703 // CHECK-CC49: Completion contexts:
704 // CHECK-CC49-NEXT: Any type
705 // CHECK-CC49-NEXT: Any value
706 // CHECK-CC49-NEXT: Enum tag
707 // CHECK-CC49-NEXT: Union tag
708 // CHECK-CC49-NEXT: Struct tag
709 // CHECK-CC49-NEXT: Class name
710 // CHECK-CC49-NEXT: Nested name specifier
711 // CHECK-CC49-NEXT: Objective-C interface
712 
713 // RUN: c-index-test -code-completion-at=%s:85:15 %s | FileCheck -check-prefix=CHECK-CC50 %s
714 // CHECK-CC50: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{Comma , }{Placeholder T}{RightParen )} (1)
715 // CHECK-CC50: Completion contexts:
716 // CHECK-CC50-NEXT: Any type
717 // CHECK-CC50-NEXT: Any value
718 // CHECK-CC50-NEXT: Enum tag
719 // CHECK-CC50-NEXT: Union tag
720 // CHECK-CC50-NEXT: Struct tag
721 // CHECK-CC50-NEXT: Class name
722 // CHECK-CC50-NEXT: Nested name specifier
723 // CHECK-CC50-NEXT: Objective-C interface
724 
725 // RUN: c-index-test -code-completion-at=%s:85:19 %s | FileCheck -check-prefix=CHECK-CC51 %s
726 // CHECK-CC51: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
727 // CHECK-CC51: Completion contexts:
728 // CHECK-CC51-NEXT: Any type
729 // CHECK-CC51-NEXT: Any value
730 // CHECK-CC51-NEXT: Enum tag
731 // CHECK-CC51-NEXT: Union tag
732 // CHECK-CC51-NEXT: Struct tag
733 // CHECK-CC51-NEXT: Class name
734 // CHECK-CC51-NEXT: Nested name specifier
735 // CHECK-CC51-NEXT: Objective-C interface
736 
737 // RUN: c-index-test -code-completion-at=%s:87:12 %s | FileCheck -check-prefix=CHECK-CC52 %s
738 // CHECK-CC52: Completion contexts:
739 // CHECK-CC52-NEXT: Any type
740 // CHECK-CC52-NEXT: Any value
741 // CHECK-CC52-NEXT: Enum tag
742 // CHECK-CC52-NEXT: Union tag
743 // CHECK-CC52-NEXT: Struct tag
744 // CHECK-CC52-NEXT: Class name
745 // CHECK-CC52-NEXT: Nested name specifier
746 // CHECK-CC52-NEXT: Objective-C interface
747 
748 // RUN: c-index-test -code-completion-at=%s:88:12 %s | FileCheck -check-prefix=CHECK-CC53 %s
749 // CHECK-CC53: Completion contexts:
750 // CHECK-CC53-NEXT: Any type
751 // CHECK-CC53-NEXT: Any value
752 // CHECK-CC53-NEXT: Enum tag
753 // CHECK-CC53-NEXT: Union tag
754 // CHECK-CC53-NEXT: Struct tag
755 // CHECK-CC53-NEXT: Class name
756 // CHECK-CC53-NEXT: Nested name specifier
757 // CHECK-CC53-NEXT: Objective-C interface
758 
759 // RUN: c-index-test -code-completion-at=%s:89:17 %s | FileCheck -check-prefix=CHECK-CC54 %s
760 // CHECK-CC54: Completion contexts:
761 // CHECK-CC54-NEXT: Any type
762 // CHECK-CC54-NEXT: Any value
763 // CHECK-CC54-NEXT: Enum tag
764 // CHECK-CC54-NEXT: Union tag
765 // CHECK-CC54-NEXT: Struct tag
766 // CHECK-CC54-NEXT: Class name
767 // CHECK-CC54-NEXT: Nested name specifier
768 // CHECK-CC54-NEXT: Objective-C interface
769 
770 // RUN: c-index-test -code-completion-at=%s:90:12 %s | FileCheck -check-prefix=CHECK-CC55 %s
771 // CHECK-CC55: Completion contexts:
772 // CHECK-CC55-NEXT: Any type
773 // CHECK-CC55-NEXT: Any value
774 // CHECK-CC55-NEXT: Enum tag
775 // CHECK-CC55-NEXT: Union tag
776 // CHECK-CC55-NEXT: Struct tag
777 // CHECK-CC55-NEXT: Class name
778 // CHECK-CC55-NEXT: Nested name specifier
779 // CHECK-CC55-NEXT: Objective-C interface
780 
781 // RUN: c-index-test -code-completion-at=%s:91:14 %s | FileCheck -check-prefix=CHECK-CC56 %s
782 // CHECK-CC56: Completion contexts:
783 // CHECK-CC56-NEXT: Any type
784 // CHECK-CC56-NEXT: Any value
785 // CHECK-CC56-NEXT: Enum tag
786 // CHECK-CC56-NEXT: Union tag
787 // CHECK-CC56-NEXT: Struct tag
788 // CHECK-CC56-NEXT: Class name
789 // CHECK-CC56-NEXT: Nested name specifier
790 // CHECK-CC56-NEXT: Objective-C interface
791 
792 // RUN: c-index-test -code-completion-at=%s:92:14 %s | FileCheck -check-prefix=CHECK-CC57 %s
793 // CHECK-CC57: Completion contexts:
794 // CHECK-CC57-NEXT: Any type
795 // CHECK-CC57-NEXT: Any value
796 // CHECK-CC57-NEXT: Enum tag
797 // CHECK-CC57-NEXT: Union tag
798 // CHECK-CC57-NEXT: Struct tag
799 // CHECK-CC57-NEXT: Class name
800 // CHECK-CC57-NEXT: Nested name specifier
801 // CHECK-CC57-NEXT: Objective-C interface
802 
803 // RUN: c-index-test -code-completion-at=%s:93:19 %s | FileCheck -check-prefix=CHECK-CC58 %s
804 // CHECK-CC58: Completion contexts:
805 // CHECK-CC58-NEXT: Any type
806 // CHECK-CC58-NEXT: Any value
807 // CHECK-CC58-NEXT: Enum tag
808 // CHECK-CC58-NEXT: Union tag
809 // CHECK-CC58-NEXT: Struct tag
810 // CHECK-CC58-NEXT: Class name
811 // CHECK-CC58-NEXT: Nested name specifier
812 // CHECK-CC58-NEXT: Objective-C interface
813 
814 // RUN: c-index-test -code-completion-at=%s:94:14 %s | FileCheck -check-prefix=CHECK-CC59 %s
815 // CHECK-CC59: Completion contexts:
816 // CHECK-CC59-NEXT: Any type
817 // CHECK-CC59-NEXT: Any value
818 // CHECK-CC59-NEXT: Enum tag
819 // CHECK-CC59-NEXT: Union tag
820 // CHECK-CC59-NEXT: Struct tag
821 // CHECK-CC59-NEXT: Class name
822 // CHECK-CC59-NEXT: Nested name specifier
823 // CHECK-CC59-NEXT: Objective-C interface
824 
825 // RUN: c-index-test -code-completion-at=%s:104:14 %s | FileCheck -check-prefix=CHECK-CC60 %s
826 // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
827 // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
828 // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
829 // CHECK-CC60: Completion contexts:
830 // CHECK-CC60-NEXT: Any type
831 // CHECK-CC60-NEXT: Any value
832 // CHECK-CC60-NEXT: Enum tag
833 // CHECK-CC60-NEXT: Union tag
834 // CHECK-CC60-NEXT: Struct tag
835 // CHECK-CC60-NEXT: Class name
836 // CHECK-CC60-NEXT: Nested name specifier
837 // CHECK-CC60-NEXT: Objective-C interface
838 
839 // RUN: c-index-test -code-completion-at=%s:106:11 %s | FileCheck -check-prefix=CHECK-CC61 %s
840 // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
841 // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
842 // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
843 // CHECK-CC61: Completion contexts:
844 // CHECK-CC61-NEXT: Any type
845 // CHECK-CC61-NEXT: Any value
846 // CHECK-CC61-NEXT: Enum tag
847 // CHECK-CC61-NEXT: Union tag
848 // CHECK-CC61-NEXT: Struct tag
849 // CHECK-CC61-NEXT: Class name
850 // CHECK-CC61-NEXT: Nested name specifier
851 // CHECK-CC61-NEXT: Objective-C interface
852 
853 // RUN: c-index-test -code-completion-at=%s:111:16 %s | FileCheck -check-prefix=CHECK-CC62 %s
854 // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
855 // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
856 // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
857 // CHECK-CC62: Completion contexts:
858 // CHECK-CC62-NEXT: Any type
859 // CHECK-CC62-NEXT: Any value
860 // CHECK-CC62-NEXT: Enum tag
861 // CHECK-CC62-NEXT: Union tag
862 // CHECK-CC62-NEXT: Struct tag
863 // CHECK-CC62-NEXT: Class name
864 // CHECK-CC62-NEXT: Nested name specifier
865 // CHECK-CC62-NEXT: Objective-C interface
866 
867