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