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