blob: 9750bd6f710042de6519ad50ccb683648b88418f [file] [log] [blame]
Stephen Hines0e2c34f2015-03-23 12:09:02 -07001// Note: the run lines follow their respective tests, since line/column
2// matter in this test.
3
4void foo_1();
5void foo_2(int);
6void foo_2(void *);
7void foo_3(int, int);
8void foo_3(void *, void *);
9void foo_4(int, int);
10void foo_4(void *, int);
11void foo_5(int, int);
12void foo_5(int, void *);
13template<class T> void foo_6();
14template<class T> void foo_7(T);
15template<class T> void foo_8(T, T);
16template<class T> void foo_9(int, T);
17template<class T> void foo_9(void *, T);
18template<class T> void foo_10(T, int, int);
19template<class U> void foo_10(U, void *, void *);
20template<class T, class U> void foo_11(T, U);
21template<class T = int> void foo_12(T, T);
22template<class V>
23struct 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
45int 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