1975a9f6eSFrancisco Lopes da Silva // Note: the run lines follow their respective tests, since line/column
2975a9f6eSFrancisco Lopes da Silva // matter in this test.
3975a9f6eSFrancisco Lopes da Silva
4975a9f6eSFrancisco Lopes da Silva void foo_1();
5975a9f6eSFrancisco Lopes da Silva void foo_2(int);
6975a9f6eSFrancisco Lopes da Silva void foo_2(void *);
7975a9f6eSFrancisco Lopes da Silva void foo_3(int, int);
8975a9f6eSFrancisco Lopes da Silva void foo_3(void *, void *);
9975a9f6eSFrancisco Lopes da Silva void foo_4(int, int);
10975a9f6eSFrancisco Lopes da Silva void foo_4(void *, int);
11975a9f6eSFrancisco Lopes da Silva void foo_5(int, int);
12975a9f6eSFrancisco Lopes da Silva void foo_5(int, void *);
13975a9f6eSFrancisco Lopes da Silva template<class T> void foo_6();
14975a9f6eSFrancisco Lopes da Silva template<class T> void foo_7(T);
15975a9f6eSFrancisco Lopes da Silva template<class T> void foo_8(T, T);
16975a9f6eSFrancisco Lopes da Silva template<class T> void foo_9(int, T);
17975a9f6eSFrancisco Lopes da Silva template<class T> void foo_9(void *, T);
18975a9f6eSFrancisco Lopes da Silva template<class T> void foo_10(T, int, int);
19975a9f6eSFrancisco Lopes da Silva template<class U> void foo_10(U, void *, void *);
20975a9f6eSFrancisco Lopes da Silva template<class T, class U> void foo_11(T, U);
21975a9f6eSFrancisco Lopes da Silva template<class T = int> void foo_12(T, T);
22975a9f6eSFrancisco Lopes da Silva template<class V>
23975a9f6eSFrancisco Lopes da Silva struct S {
24975a9f6eSFrancisco Lopes da Silva void foo_1();
25975a9f6eSFrancisco Lopes da Silva void foo_2(int);
26975a9f6eSFrancisco Lopes da Silva void foo_2(void *);
27975a9f6eSFrancisco Lopes da Silva void foo_3(int, int);
28975a9f6eSFrancisco Lopes da Silva void foo_3(void *, void *);
29975a9f6eSFrancisco Lopes da Silva void foo_4(int, int);
30975a9f6eSFrancisco Lopes da Silva void foo_4(void *, int);
31975a9f6eSFrancisco Lopes da Silva void foo_5(int, int);
32975a9f6eSFrancisco Lopes da Silva void foo_5(int, void *);
33975a9f6eSFrancisco Lopes da Silva template<class T> void foo_6();
34975a9f6eSFrancisco Lopes da Silva template<class T> void foo_7(T);
35975a9f6eSFrancisco Lopes da Silva template<class T> void foo_8(T, T);
36975a9f6eSFrancisco Lopes da Silva template<class T> void foo_9(int, T);
37975a9f6eSFrancisco Lopes da Silva template<class T> void foo_9(void *, T);
38975a9f6eSFrancisco Lopes da Silva template<class T> void foo_10(T, int, int);
39975a9f6eSFrancisco Lopes da Silva template<class U> void foo_10(U, void *, void *);
40975a9f6eSFrancisco Lopes da Silva template<class T, class U> void foo_11(T, U);
41975a9f6eSFrancisco Lopes da Silva template<class T = int> void foo_12(T, T);
42975a9f6eSFrancisco Lopes da Silva template<class T> void foo_13(V, T, T);
43975a9f6eSFrancisco Lopes da Silva };
44975a9f6eSFrancisco Lopes da Silva
main()45975a9f6eSFrancisco Lopes da Silva int main() {
46975a9f6eSFrancisco Lopes da Silva void *p = 0;
47975a9f6eSFrancisco Lopes da Silva foo_1();
48975a9f6eSFrancisco Lopes da Silva foo_2(42);
49975a9f6eSFrancisco Lopes da Silva foo_3(42, 42);
50975a9f6eSFrancisco Lopes da Silva foo_3(p, p);
51975a9f6eSFrancisco Lopes da Silva foo_4(42, 42);
52975a9f6eSFrancisco Lopes da Silva foo_4(p, 42);
53975a9f6eSFrancisco Lopes da Silva foo_5(42, 42);
54975a9f6eSFrancisco Lopes da Silva foo_6<int>();
55975a9f6eSFrancisco Lopes da Silva foo_7(42);
56975a9f6eSFrancisco Lopes da Silva foo_7<int>(42);
57975a9f6eSFrancisco Lopes da Silva foo_8(42, 42);
58975a9f6eSFrancisco Lopes da Silva foo_9(42, 42);
59975a9f6eSFrancisco Lopes da Silva foo_9(p, 42);
60975a9f6eSFrancisco Lopes da Silva foo_10(42, 42, 42);
61975a9f6eSFrancisco Lopes da Silva foo_11(42, 42);
62975a9f6eSFrancisco Lopes da Silva foo_11<int>(42, 42);
63975a9f6eSFrancisco Lopes da Silva foo_11<int, void *>(42, p);
64975a9f6eSFrancisco Lopes da Silva foo_12(p, p);
65975a9f6eSFrancisco Lopes da Silva
66975a9f6eSFrancisco Lopes da Silva S<int> s;
67975a9f6eSFrancisco Lopes da Silva s.foo_1();
68975a9f6eSFrancisco Lopes da Silva s.foo_2(42);
69975a9f6eSFrancisco Lopes da Silva s.foo_3(42, 42);
70975a9f6eSFrancisco Lopes da Silva s.foo_3(p, p);
71975a9f6eSFrancisco Lopes da Silva s.foo_4(42, 42);
72975a9f6eSFrancisco Lopes da Silva s.foo_4(p, 42);
73975a9f6eSFrancisco Lopes da Silva s.foo_5(42, 42);
74975a9f6eSFrancisco Lopes da Silva s.foo_6<int>();
75975a9f6eSFrancisco Lopes da Silva s.foo_7(42);
76975a9f6eSFrancisco Lopes da Silva s.foo_7<int>(42);
77975a9f6eSFrancisco Lopes da Silva s.foo_8(42, 42);
78975a9f6eSFrancisco Lopes da Silva s.foo_9(42, 42);
79975a9f6eSFrancisco Lopes da Silva s.foo_9(p, 42);
80975a9f6eSFrancisco Lopes da Silva s.foo_10(42, 42, 42);
81975a9f6eSFrancisco Lopes da Silva s.foo_11(42, 42);
82975a9f6eSFrancisco Lopes da Silva s.foo_11<int>(42, 42);
83975a9f6eSFrancisco Lopes da Silva s.foo_11<int, void *>(42, p);
84975a9f6eSFrancisco Lopes da Silva s.foo_12(p, p);
85975a9f6eSFrancisco Lopes da Silva s.foo_13(42, 42, 42);
86975a9f6eSFrancisco Lopes da Silva
87975a9f6eSFrancisco Lopes da Silva foo_1(42,);
88975a9f6eSFrancisco Lopes da Silva foo_2(42,);
89975a9f6eSFrancisco Lopes da Silva foo_6<int>(42,);
90975a9f6eSFrancisco Lopes da Silva foo_7(42,);
91975a9f6eSFrancisco Lopes da Silva s.foo_1(42,);
92975a9f6eSFrancisco Lopes da Silva s.foo_2(42,);
93975a9f6eSFrancisco Lopes da Silva s.foo_6<int>(42,);
94975a9f6eSFrancisco Lopes da Silva s.foo_7(42,);
95975a9f6eSFrancisco Lopes da Silva }
96975a9f6eSFrancisco Lopes da Silva
97e3962aebSBenjamin Kramer struct Bar {
98e3962aebSBenjamin Kramer static void foo_1();
99e3962aebSBenjamin Kramer void foo_1(float);
100e3962aebSBenjamin Kramer static void foo_1(int);
101e3962aebSBenjamin Kramer };
102e3962aebSBenjamin Kramer
test()103e3962aebSBenjamin Kramer void test() {
104e3962aebSBenjamin Kramer Bar::foo_1();
105e3962aebSBenjamin Kramer Bar b;
106e3962aebSBenjamin Kramer b.foo_1();
107e3962aebSBenjamin Kramer }
108e3962aebSBenjamin Kramer
109e3962aebSBenjamin Kramer struct Bar2 : public Bar {
Bar2Bar2110e3962aebSBenjamin Kramer Bar2() {
111e3962aebSBenjamin Kramer Bar::foo_1();
112e3962aebSBenjamin Kramer }
113e3962aebSBenjamin Kramer };
114e3962aebSBenjamin Kramer
115*f83cfda0SIvan Donchevskii struct BarTemplates {
foo_1BarTemplates116*f83cfda0SIvan Donchevskii static void foo_1() {}
foo_1BarTemplates117*f83cfda0SIvan Donchevskii void foo_1(float) {}
foo_1BarTemplates118*f83cfda0SIvan Donchevskii static void foo_1(int) {}
119*f83cfda0SIvan Donchevskii
120*f83cfda0SIvan Donchevskii template<class T1, class T2>
foo_1BarTemplates121*f83cfda0SIvan Donchevskii static void foo_1(T1 a, T2 b) { a + b; }
122*f83cfda0SIvan Donchevskii
123*f83cfda0SIvan Donchevskii template<class T1, class T2>
foo_1BarTemplates124*f83cfda0SIvan Donchevskii void foo_1(T1 a, T2 b, float c) { a + b + c; }
125*f83cfda0SIvan Donchevskii
126*f83cfda0SIvan Donchevskii template<class T1, class T2>
foo_1BarTemplates127*f83cfda0SIvan Donchevskii static void foo_1(T2 a, int b, T1 c) { a + b + c; }
128*f83cfda0SIvan Donchevskii };
129*f83cfda0SIvan Donchevskii
testTemplates()130*f83cfda0SIvan Donchevskii void testTemplates() {
131*f83cfda0SIvan Donchevskii BarTemplates::foo_1();
132*f83cfda0SIvan Donchevskii BarTemplates b;
133*f83cfda0SIvan Donchevskii b.foo_1();
134*f83cfda0SIvan Donchevskii }
135*f83cfda0SIvan Donchevskii
136*f83cfda0SIvan Donchevskii struct Bar2Template : public BarTemplates {
Bar2TemplateBar2Template137*f83cfda0SIvan Donchevskii Bar2Template() {
138*f83cfda0SIvan Donchevskii BarTemplates::foo_1();
139*f83cfda0SIvan Donchevskii }
140*f83cfda0SIvan Donchevskii };
141*f83cfda0SIvan Donchevskii
142975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:47:9 %s | FileCheck -check-prefix=CHECK-CC1 %s
143975a9f6eSFrancisco Lopes da Silva // CHECK-CC1: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
144975a9f6eSFrancisco Lopes da Silva // CHECK-CC1: Completion contexts:
145975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Any type
146975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Any value
147975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Enum tag
148975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Union tag
149975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Struct tag
150975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Class name
151975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Nested name specifier
152975a9f6eSFrancisco Lopes da Silva // CHECK-CC1-NEXT: Objective-C interface
153975a9f6eSFrancisco Lopes da Silva
154975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:48:9 %s | FileCheck -check-prefix=CHECK-CC2 %s
155975a9f6eSFrancisco Lopes da Silva // CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)
156975a9f6eSFrancisco Lopes da Silva // CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
157975a9f6eSFrancisco Lopes da Silva // CHECK-CC2: Completion contexts:
158975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Any type
159975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Any value
160975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Enum tag
161975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Union tag
162975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Struct tag
163975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Class name
164975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Nested name specifier
165975a9f6eSFrancisco Lopes da Silva // CHECK-CC2-NEXT: Objective-C interface
166975a9f6eSFrancisco Lopes da Silva
167975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:49:9 %s | FileCheck -check-prefix=CHECK-CC3 %s
1680c010cddSFrancisco Lopes da Silva // CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
1690c010cddSFrancisco Lopes da Silva // CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
170975a9f6eSFrancisco Lopes da Silva // CHECK-CC3: Completion contexts:
171975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Any type
172975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Any value
173975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Enum tag
174975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Union tag
175975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Struct tag
176975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Class name
177975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Nested name specifier
178975a9f6eSFrancisco Lopes da Silva // CHECK-CC3-NEXT: Objective-C interface
179975a9f6eSFrancisco Lopes da Silva
180975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:49:12 %s | FileCheck -check-prefix=CHECK-CC4 %s
1810c010cddSFrancisco Lopes da Silva // CHECK-CC4: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
182975a9f6eSFrancisco Lopes da Silva // CHECK-CC4: Completion contexts:
183975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Any type
184975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Any value
185975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Enum tag
186975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Union tag
187975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Struct tag
188975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Class name
189975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Nested name specifier
190975a9f6eSFrancisco Lopes da Silva // CHECK-CC4-NEXT: Objective-C interface
191975a9f6eSFrancisco Lopes da Silva
192975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:50:11 %s | FileCheck -check-prefix=CHECK-CC5 %s
1930c010cddSFrancisco Lopes da Silva // CHECK-CC5: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
194975a9f6eSFrancisco Lopes da Silva // CHECK-CC5: Completion contexts:
195975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Any type
196975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Any value
197975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Enum tag
198975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Union tag
199975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Struct tag
200975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Class name
201975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Nested name specifier
202975a9f6eSFrancisco Lopes da Silva // CHECK-CC5-NEXT: Objective-C interface
203975a9f6eSFrancisco Lopes da Silva
204975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:51:12 %s | FileCheck -check-prefix=CHECK-CC6 %s
2050c010cddSFrancisco Lopes da Silva // CHECK-CC6: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
206975a9f6eSFrancisco Lopes da Silva // CHECK-CC6: Completion contexts:
207975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Any type
208975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Any value
209975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Enum tag
210975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Union tag
211975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Struct tag
212975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Class name
213975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Nested name specifier
214975a9f6eSFrancisco Lopes da Silva // CHECK-CC6-NEXT: Objective-C interface
215975a9f6eSFrancisco Lopes da Silva
216975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:52:11 %s | FileCheck -check-prefix=CHECK-CC7 %s
2170c010cddSFrancisco Lopes da Silva // CHECK-CC7: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)
218975a9f6eSFrancisco Lopes da Silva // CHECK-CC7: Completion contexts:
219975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Any type
220975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Any value
221975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Enum tag
222975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Union tag
223975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Struct tag
224975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Class name
225975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Nested name specifier
226975a9f6eSFrancisco Lopes da Silva // CHECK-CC7-NEXT: Objective-C interface
227975a9f6eSFrancisco Lopes da Silva
228975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:53:12 %s | FileCheck -check-prefix=CHECK-CC8 %s
2290c010cddSFrancisco Lopes da Silva // CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
2300c010cddSFrancisco Lopes da Silva // CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
231975a9f6eSFrancisco Lopes da Silva // CHECK-CC8: Completion contexts:
232975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Any type
233975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Any value
234975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Enum tag
235975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Union tag
236975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Struct tag
237975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Class name
238975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Nested name specifier
239975a9f6eSFrancisco Lopes da Silva // CHECK-CC8-NEXT: Objective-C interface
240975a9f6eSFrancisco Lopes da Silva
241975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:54:14 %s | FileCheck -check-prefix=CHECK-CC9 %s
242975a9f6eSFrancisco Lopes da Silva // CHECK-CC9: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)
243975a9f6eSFrancisco Lopes da Silva // CHECK-CC9: Completion contexts:
244975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Any type
245975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Any value
246975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Enum tag
247975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Union tag
248975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Struct tag
249975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Class name
250975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Nested name specifier
251975a9f6eSFrancisco Lopes da Silva // CHECK-CC9-NEXT: Objective-C interface
252975a9f6eSFrancisco Lopes da Silva
253975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:55:9 %s | FileCheck -check-prefix=CHECK-CC10 %s
254975a9f6eSFrancisco Lopes da Silva // CHECK-CC10: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)
255975a9f6eSFrancisco Lopes da Silva // CHECK-CC10: Completion contexts:
256975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Any type
257975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Any value
258975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Enum tag
259975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Union tag
260975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Struct tag
261975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Class name
262975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Nested name specifier
263975a9f6eSFrancisco Lopes da Silva // CHECK-CC10-NEXT: Objective-C interface
264975a9f6eSFrancisco Lopes da Silva
265975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:56:14 %s | FileCheck -check-prefix=CHECK-CC11 %s
266975a9f6eSFrancisco Lopes da Silva // CHECK-CC11: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
267975a9f6eSFrancisco Lopes da Silva // CHECK-CC11: Completion contexts:
268975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Any type
269975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Any value
270975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Enum tag
271975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Union tag
272975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Struct tag
273975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Class name
274975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Nested name specifier
275975a9f6eSFrancisco Lopes da Silva // CHECK-CC11-NEXT: Objective-C interface
276975a9f6eSFrancisco Lopes da Silva
277975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:57:12 %s | FileCheck -check-prefix=CHECK-CC12 %s
2780c010cddSFrancisco Lopes da Silva // CHECK-CC12: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
279975a9f6eSFrancisco Lopes da Silva // CHECK-CC12: Completion contexts:
280975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Any type
281975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Any value
282975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Enum tag
283975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Union tag
284975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Struct tag
285975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Class name
286975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Nested name specifier
287975a9f6eSFrancisco Lopes da Silva // CHECK-CC12-NEXT: Objective-C interface
288975a9f6eSFrancisco Lopes da Silva
289975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:58:12 %s | FileCheck -check-prefix=CHECK-CC13 %s
2900c010cddSFrancisco Lopes da Silva // CHECK-CC13: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)
291975a9f6eSFrancisco Lopes da Silva // CHECK-CC13: Completion contexts:
292975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Any type
293975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Any value
294975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Enum tag
295975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Union tag
296975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Struct tag
297975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Class name
298975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Nested name specifier
299975a9f6eSFrancisco Lopes da Silva // CHECK-CC13-NEXT: Objective-C interface
300975a9f6eSFrancisco Lopes da Silva
301975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:59:11 %s | FileCheck -check-prefix=CHECK-CC14 %s
3020c010cddSFrancisco Lopes da Silva // CHECK-CC14: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)
303975a9f6eSFrancisco Lopes da Silva // CHECK-CC14: Completion contexts:
304975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Any type
305975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Any value
306975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Enum tag
307975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Union tag
308975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Struct tag
309975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Class name
310975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Nested name specifier
311975a9f6eSFrancisco Lopes da Silva // CHECK-CC14-NEXT: Objective-C interface
312975a9f6eSFrancisco Lopes da Silva
313975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:60:10 %s | FileCheck -check-prefix=CHECK-CC15 %s
3140c010cddSFrancisco Lopes da Silva // CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)
3150c010cddSFrancisco Lopes da Silva // CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)
316975a9f6eSFrancisco Lopes da Silva // CHECK-CC15: Completion contexts:
317975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Any type
318975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Any value
319975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Enum tag
320975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Union tag
321975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Struct tag
322975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Class name
323975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Nested name specifier
324975a9f6eSFrancisco Lopes da Silva // CHECK-CC15-NEXT: Objective-C interface
325975a9f6eSFrancisco Lopes da Silva
326975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:60:13 %s | FileCheck -check-prefix=CHECK-CC16 %s
3270c010cddSFrancisco Lopes da Silva // CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
3280c010cddSFrancisco Lopes da Silva // CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
329975a9f6eSFrancisco Lopes da Silva // CHECK-CC16: Completion contexts:
330975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Any type
331975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Any value
332975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Enum tag
333975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Union tag
334975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Struct tag
335975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Class name
336975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Nested name specifier
337975a9f6eSFrancisco Lopes da Silva // CHECK-CC16-NEXT: Objective-C interface
338975a9f6eSFrancisco Lopes da Silva
339975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:60:17 %s | FileCheck -check-prefix=CHECK-CC17 %s
3400c010cddSFrancisco Lopes da Silva // CHECK-CC17: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
341975a9f6eSFrancisco Lopes da Silva // CHECK-CC17: Completion contexts:
342975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Any type
343975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Any value
344975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Enum tag
345975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Union tag
346975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Struct tag
347975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Class name
348975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Nested name specifier
349975a9f6eSFrancisco Lopes da Silva // CHECK-CC17-NEXT: Objective-C interface
350975a9f6eSFrancisco Lopes da Silva
351975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:61:10 %s | FileCheck -check-prefix=CHECK-CC18 %s
3520c010cddSFrancisco Lopes da Silva // CHECK-CC18: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)
353975a9f6eSFrancisco Lopes da Silva // CHECK-CC18: Completion contexts:
354975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Any type
355975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Any value
356975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Enum tag
357975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Union tag
358975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Struct tag
359975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Class name
360975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Nested name specifier
361975a9f6eSFrancisco Lopes da Silva // CHECK-CC18-NEXT: Objective-C interface
362975a9f6eSFrancisco Lopes da Silva
363975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:61:13 %s | FileCheck -check-prefix=CHECK-CC19 %s
3640c010cddSFrancisco Lopes da Silva // CHECK-CC19: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
365975a9f6eSFrancisco Lopes da Silva // CHECK-CC19: Completion contexts:
366975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Any type
367975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Any value
368975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Enum tag
369975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Union tag
370975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Struct tag
371975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Class name
372975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Nested name specifier
373975a9f6eSFrancisco Lopes da Silva // CHECK-CC19-NEXT: Objective-C interface
374975a9f6eSFrancisco Lopes da Silva
375975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:62:15 %s | FileCheck -check-prefix=CHECK-CC20 %s
3760c010cddSFrancisco Lopes da Silva // CHECK-CC20: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)
377975a9f6eSFrancisco Lopes da Silva // CHECK-CC20: Completion contexts:
378975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Any type
379975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Any value
380975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Enum tag
381975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Union tag
382975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Struct tag
383975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Class name
384975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Nested name specifier
385975a9f6eSFrancisco Lopes da Silva // CHECK-CC20-NEXT: Objective-C interface
386975a9f6eSFrancisco Lopes da Silva
387975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:62:18 %s | FileCheck -check-prefix=CHECK-CC21 %s
3880c010cddSFrancisco Lopes da Silva // CHECK-CC21: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
389975a9f6eSFrancisco Lopes da Silva // CHECK-CC21: Completion contexts:
390975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Any type
391975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Any value
392975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Enum tag
393975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Union tag
394975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Struct tag
395975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Class name
396975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Nested name specifier
397975a9f6eSFrancisco Lopes da Silva // CHECK-CC21-NEXT: Objective-C interface
398975a9f6eSFrancisco Lopes da Silva
399975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:63:26 %s | FileCheck -check-prefix=CHECK-CC22 %s
4000c010cddSFrancisco Lopes da Silva // CHECK-CC22: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
401975a9f6eSFrancisco Lopes da Silva // CHECK-CC22: Completion contexts:
402975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Any type
403975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Any value
404975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Enum tag
405975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Union tag
406975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Struct tag
407975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Class name
408975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Nested name specifier
409975a9f6eSFrancisco Lopes da Silva // CHECK-CC22-NEXT: Objective-C interface
410975a9f6eSFrancisco Lopes da Silva
411975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:64:10 %s | FileCheck -check-prefix=CHECK-CC23 %s
4120c010cddSFrancisco Lopes da Silva // CHECK-CC23: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
413975a9f6eSFrancisco Lopes da Silva // CHECK-CC23: Completion contexts:
414975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Any type
415975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Any value
416975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Enum tag
417975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Union tag
418975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Struct tag
419975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Class name
420975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Nested name specifier
421975a9f6eSFrancisco Lopes da Silva // CHECK-CC23-NEXT: Objective-C interface
422975a9f6eSFrancisco Lopes da Silva
423975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:64:12 %s | FileCheck -check-prefix=CHECK-CC24 %s
4240c010cddSFrancisco Lopes da Silva // CHECK-CC24: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
425975a9f6eSFrancisco Lopes da Silva // CHECK-CC24: Completion contexts:
426975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Any type
427975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Any value
428975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Enum tag
429975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Union tag
430975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Struct tag
431975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Class name
432975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Nested name specifier
433975a9f6eSFrancisco Lopes da Silva // CHECK-CC24-NEXT: Objective-C interface
434975a9f6eSFrancisco Lopes da Silva
435975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:67:11 %s | FileCheck -check-prefix=CHECK-CC25 %s
436975a9f6eSFrancisco Lopes da Silva // CHECK-CC25: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
437975a9f6eSFrancisco Lopes da Silva // CHECK-CC25: Completion contexts:
438975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Any type
439975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Any value
440975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Enum tag
441975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Union tag
442975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Struct tag
443975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Class name
444975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Nested name specifier
445975a9f6eSFrancisco Lopes da Silva // CHECK-CC25-NEXT: Objective-C interface
446975a9f6eSFrancisco Lopes da Silva
447975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:68:11 %s | FileCheck -check-prefix=CHECK-CC26 %s
448975a9f6eSFrancisco Lopes da Silva // CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
449975a9f6eSFrancisco Lopes da Silva // CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)
450975a9f6eSFrancisco Lopes da Silva // CHECK-CC26: Completion contexts:
451975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Any type
452975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Any value
453975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Enum tag
454975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Union tag
455975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Struct tag
456975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Class name
457975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Nested name specifier
458975a9f6eSFrancisco Lopes da Silva // CHECK-CC26-NEXT: Objective-C interface
459975a9f6eSFrancisco Lopes da Silva
460975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:69:11 %s | FileCheck -check-prefix=CHECK-CC27 %s
4610c010cddSFrancisco Lopes da Silva // CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
4620c010cddSFrancisco Lopes da Silva // CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
463975a9f6eSFrancisco Lopes da Silva // CHECK-CC27: Completion contexts:
464975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Any type
465975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Any value
466975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Enum tag
467975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Union tag
468975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Struct tag
469975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Class name
470975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Nested name specifier
471975a9f6eSFrancisco Lopes da Silva // CHECK-CC27-NEXT: Objective-C interface
472975a9f6eSFrancisco Lopes da Silva
473975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:69:14 %s | FileCheck -check-prefix=CHECK-CC28 %s
4740c010cddSFrancisco Lopes da Silva // CHECK-CC28: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
475975a9f6eSFrancisco Lopes da Silva // CHECK-CC28: Completion contexts:
476975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Any type
477975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Any value
478975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Enum tag
479975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Union tag
480975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Struct tag
481975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Class name
482975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Nested name specifier
483975a9f6eSFrancisco Lopes da Silva // CHECK-CC28-NEXT: Objective-C interface
484975a9f6eSFrancisco Lopes da Silva
485975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:70:13 %s | FileCheck -check-prefix=CHECK-CC29 %s
4860c010cddSFrancisco Lopes da Silva // CHECK-CC29: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
487975a9f6eSFrancisco Lopes da Silva // CHECK-CC29: Completion contexts:
488975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Any type
489975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Any value
490975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Enum tag
491975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Union tag
492975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Struct tag
493975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Class name
494975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Nested name specifier
495975a9f6eSFrancisco Lopes da Silva // CHECK-CC29-NEXT: Objective-C interface
496975a9f6eSFrancisco Lopes da Silva
497975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:71:14 %s | FileCheck -check-prefix=CHECK-CC30 %s
4980c010cddSFrancisco Lopes da Silva // CHECK-CC30: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
499975a9f6eSFrancisco Lopes da Silva // CHECK-CC30: Completion contexts:
500975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Any type
501975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Any value
502975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Enum tag
503975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Union tag
504975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Struct tag
505975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Class name
506975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Nested name specifier
507975a9f6eSFrancisco Lopes da Silva // CHECK-CC30-NEXT: Objective-C interface
508975a9f6eSFrancisco Lopes da Silva
509975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:72:13 %s | FileCheck -check-prefix=CHECK-CC31 %s
5100c010cddSFrancisco Lopes da Silva // CHECK-CC31: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)
511975a9f6eSFrancisco Lopes da Silva // CHECK-CC31: Completion contexts:
512975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Any type
513975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Any value
514975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Enum tag
515975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Union tag
516975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Struct tag
517975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Class name
518975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Nested name specifier
519975a9f6eSFrancisco Lopes da Silva // CHECK-CC31-NEXT: Objective-C interface
520975a9f6eSFrancisco Lopes da Silva
521975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:73:14 %s | FileCheck -check-prefix=CHECK-CC32 %s
5220c010cddSFrancisco Lopes da Silva // CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
5230c010cddSFrancisco Lopes da Silva // CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
524975a9f6eSFrancisco Lopes da Silva // CHECK-CC32: Completion contexts:
525975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Any type
526975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Any value
527975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Enum tag
528975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Union tag
529975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Struct tag
530975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Class name
531975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Nested name specifier
532975a9f6eSFrancisco Lopes da Silva // CHECK-CC32-NEXT: Objective-C interface
533975a9f6eSFrancisco Lopes da Silva
534975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:74:16 %s | FileCheck -check-prefix=CHECK-CC33 %s
535975a9f6eSFrancisco Lopes da Silva // CHECK-CC33: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)
536975a9f6eSFrancisco Lopes da Silva // CHECK-CC33: Completion contexts:
537975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Any type
538975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Any value
539975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Enum tag
540975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Union tag
541975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Struct tag
542975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Class name
543975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Nested name specifier
544975a9f6eSFrancisco Lopes da Silva // CHECK-CC33-NEXT: Objective-C interface
545975a9f6eSFrancisco Lopes da Silva
546975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:75:11 %s | FileCheck -check-prefix=CHECK-CC34 %s
547975a9f6eSFrancisco Lopes da Silva // CHECK-CC34: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)
548975a9f6eSFrancisco Lopes da Silva // CHECK-CC34: Completion contexts:
549975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Any type
550975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Any value
551975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Enum tag
552975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Union tag
553975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Struct tag
554975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Class name
555975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Nested name specifier
556975a9f6eSFrancisco Lopes da Silva // CHECK-CC34-NEXT: Objective-C interface
557975a9f6eSFrancisco Lopes da Silva
558975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:76:16 %s | FileCheck -check-prefix=CHECK-CC35 %s
559975a9f6eSFrancisco Lopes da Silva // CHECK-CC35: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
560975a9f6eSFrancisco Lopes da Silva // CHECK-CC35: Completion contexts:
561975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Any type
562975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Any value
563975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Enum tag
564975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Union tag
565975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Struct tag
566975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Class name
567975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Nested name specifier
568975a9f6eSFrancisco Lopes da Silva // CHECK-CC35-NEXT: Objective-C interface
569975a9f6eSFrancisco Lopes da Silva
570975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:77:14 %s | FileCheck -check-prefix=CHECK-CC36 %s
5710c010cddSFrancisco Lopes da Silva // CHECK-CC36: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
572975a9f6eSFrancisco Lopes da Silva // CHECK-CC36: Completion contexts:
573975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Any type
574975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Any value
575975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Enum tag
576975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Union tag
577975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Struct tag
578975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Class name
579975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Nested name specifier
580975a9f6eSFrancisco Lopes da Silva // CHECK-CC36-NEXT: Objective-C interface
581975a9f6eSFrancisco Lopes da Silva
582975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:78:14 %s | FileCheck -check-prefix=CHECK-CC37 %s
5830c010cddSFrancisco Lopes da Silva // CHECK-CC37: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)
584975a9f6eSFrancisco Lopes da Silva // CHECK-CC37: Completion contexts:
585975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Any type
586975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Any value
587975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Enum tag
588975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Union tag
589975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Struct tag
590975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Class name
591975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Nested name specifier
592975a9f6eSFrancisco Lopes da Silva // CHECK-CC37-NEXT: Objective-C interface
593975a9f6eSFrancisco Lopes da Silva
594975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:79:13 %s | FileCheck -check-prefix=CHECK-CC38 %s
5950c010cddSFrancisco Lopes da Silva // CHECK-CC38: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)
596975a9f6eSFrancisco Lopes da Silva // CHECK-CC38: Completion contexts:
597975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Any type
598975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Any value
599975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Enum tag
600975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Union tag
601975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Struct tag
602975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Class name
603975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Nested name specifier
604975a9f6eSFrancisco Lopes da Silva // CHECK-CC38-NEXT: Objective-C interface
605975a9f6eSFrancisco Lopes da Silva
606975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:80:12 %s | FileCheck -check-prefix=CHECK-CC39 %s
6070c010cddSFrancisco Lopes da Silva // CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)
6080c010cddSFrancisco Lopes da Silva // CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)
609975a9f6eSFrancisco Lopes da Silva // CHECK-CC39: Completion contexts:
610975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Any type
611975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Any value
612975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Enum tag
613975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Union tag
614975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Struct tag
615975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Class name
616975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Nested name specifier
617975a9f6eSFrancisco Lopes da Silva // CHECK-CC39-NEXT: Objective-C interface
618975a9f6eSFrancisco Lopes da Silva
619975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:80:15 %s | FileCheck -check-prefix=CHECK-CC40 %s
6200c010cddSFrancisco Lopes da Silva // CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
6210c010cddSFrancisco Lopes da Silva // CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)
622975a9f6eSFrancisco Lopes da Silva // CHECK-CC40: Completion contexts:
623975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Any type
624975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Any value
625975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Enum tag
626975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Union tag
627975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Struct tag
628975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Class name
629975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Nested name specifier
630975a9f6eSFrancisco Lopes da Silva // CHECK-CC40-NEXT: Objective-C interface
631975a9f6eSFrancisco Lopes da Silva
632975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:80:19 %s | FileCheck -check-prefix=CHECK-CC41 %s
6330c010cddSFrancisco Lopes da Silva // CHECK-CC41: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
634975a9f6eSFrancisco Lopes da Silva // CHECK-CC41: Completion contexts:
635975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Any type
636975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Any value
637975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Enum tag
638975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Union tag
639975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Struct tag
640975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Class name
641975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Nested name specifier
642975a9f6eSFrancisco Lopes da Silva // CHECK-CC41-NEXT: Objective-C interface
643975a9f6eSFrancisco Lopes da Silva
644975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:81:12 %s | FileCheck -check-prefix=CHECK-CC42 %s
6450c010cddSFrancisco Lopes da Silva // CHECK-CC42: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)
646975a9f6eSFrancisco Lopes da Silva // CHECK-CC42: Completion contexts:
647975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Any type
648975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Any value
649975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Enum tag
650975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Union tag
651975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Struct tag
652975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Class name
653975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Nested name specifier
654975a9f6eSFrancisco Lopes da Silva // CHECK-CC42-NEXT: Objective-C interface
655975a9f6eSFrancisco Lopes da Silva
656975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:81:15 %s | FileCheck -check-prefix=CHECK-CC43 %s
6570c010cddSFrancisco Lopes da Silva // CHECK-CC43: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
658975a9f6eSFrancisco Lopes da Silva // CHECK-CC43: Completion contexts:
659975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Any type
660975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Any value
661975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Enum tag
662975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Union tag
663975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Struct tag
664975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Class name
665975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Nested name specifier
666975a9f6eSFrancisco Lopes da Silva // CHECK-CC43-NEXT: Objective-C interface
667975a9f6eSFrancisco Lopes da Silva
668975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:82:17 %s | FileCheck -check-prefix=CHECK-CC44 %s
6690c010cddSFrancisco Lopes da Silva // CHECK-CC44: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)
670975a9f6eSFrancisco Lopes da Silva // CHECK-CC44: Completion contexts:
671975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Any type
672975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Any value
673975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Enum tag
674975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Union tag
675975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Struct tag
676975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Class name
677975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Nested name specifier
678975a9f6eSFrancisco Lopes da Silva // CHECK-CC44-NEXT: Objective-C interface
679975a9f6eSFrancisco Lopes da Silva
680975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:82:20 %s | FileCheck -check-prefix=CHECK-CC45 %s
6810c010cddSFrancisco Lopes da Silva // CHECK-CC45: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)
682975a9f6eSFrancisco Lopes da Silva // CHECK-CC45: Completion contexts:
683975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Any type
684975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Any value
685975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Enum tag
686975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Union tag
687975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Struct tag
688975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Class name
689975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Nested name specifier
690975a9f6eSFrancisco Lopes da Silva // CHECK-CC45-NEXT: Objective-C interface
691975a9f6eSFrancisco Lopes da Silva
692975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:83:28 %s | FileCheck -check-prefix=CHECK-CC46 %s
6930c010cddSFrancisco Lopes da Silva // CHECK-CC46: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)
694975a9f6eSFrancisco Lopes da Silva // CHECK-CC46: Completion contexts:
695975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Any type
696975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Any value
697975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Enum tag
698975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Union tag
699975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Struct tag
700975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Class name
701975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Nested name specifier
702975a9f6eSFrancisco Lopes da Silva // CHECK-CC46-NEXT: Objective-C interface
703975a9f6eSFrancisco Lopes da Silva
704975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:84:12 %s | FileCheck -check-prefix=CHECK-CC47 %s
7050c010cddSFrancisco Lopes da Silva // CHECK-CC47: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)
706975a9f6eSFrancisco Lopes da Silva // CHECK-CC47: Completion contexts:
707975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Any type
708975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Any value
709975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Enum tag
710975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Union tag
711975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Struct tag
712975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Class name
713975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Nested name specifier
714975a9f6eSFrancisco Lopes da Silva // CHECK-CC47-NEXT: Objective-C interface
715975a9f6eSFrancisco Lopes da Silva
716975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:84:14 %s | FileCheck -check-prefix=CHECK-CC48 %s
7170c010cddSFrancisco Lopes da Silva // CHECK-CC48: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)
718975a9f6eSFrancisco Lopes da Silva // CHECK-CC48: Completion contexts:
719975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Any type
720975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Any value
721975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Enum tag
722975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Union tag
723975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Struct tag
724975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Class name
725975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Nested name specifier
726975a9f6eSFrancisco Lopes da Silva // CHECK-CC48-NEXT: Objective-C interface
727975a9f6eSFrancisco Lopes da Silva
728975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:85:12 %s | FileCheck -check-prefix=CHECK-CC49 %s
7290c010cddSFrancisco Lopes da Silva // CHECK-CC49: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder T}{Comma , }{Placeholder T}{RightParen )} (1)
730975a9f6eSFrancisco Lopes da Silva // CHECK-CC49: Completion contexts:
731975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Any type
732975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Any value
733975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Enum tag
734975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Union tag
735975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Struct tag
736975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Class name
737975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Nested name specifier
738975a9f6eSFrancisco Lopes da Silva // CHECK-CC49-NEXT: Objective-C interface
739975a9f6eSFrancisco Lopes da Silva
740975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:85:15 %s | FileCheck -check-prefix=CHECK-CC50 %s
7410c010cddSFrancisco Lopes da Silva // CHECK-CC50: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{Comma , }{Placeholder T}{RightParen )} (1)
742975a9f6eSFrancisco Lopes da Silva // CHECK-CC50: Completion contexts:
743975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Any type
744975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Any value
745975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Enum tag
746975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Union tag
747975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Struct tag
748975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Class name
749975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Nested name specifier
750975a9f6eSFrancisco Lopes da Silva // CHECK-CC50-NEXT: Objective-C interface
751975a9f6eSFrancisco Lopes da Silva
752975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:85:19 %s | FileCheck -check-prefix=CHECK-CC51 %s
7530c010cddSFrancisco Lopes da Silva // CHECK-CC51: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)
754975a9f6eSFrancisco Lopes da Silva // CHECK-CC51: Completion contexts:
755975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Any type
756975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Any value
757975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Enum tag
758975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Union tag
759975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Struct tag
760975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Class name
761975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Nested name specifier
762975a9f6eSFrancisco Lopes da Silva // CHECK-CC51-NEXT: Objective-C interface
763975a9f6eSFrancisco Lopes da Silva
764975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:87:12 %s | FileCheck -check-prefix=CHECK-CC52 %s
765975a9f6eSFrancisco Lopes da Silva // CHECK-CC52: Completion contexts:
766975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Any type
767975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Any value
768975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Enum tag
769975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Union tag
770975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Struct tag
771975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Class name
772975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Nested name specifier
773975a9f6eSFrancisco Lopes da Silva // CHECK-CC52-NEXT: Objective-C interface
774975a9f6eSFrancisco Lopes da Silva
775975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:88:12 %s | FileCheck -check-prefix=CHECK-CC53 %s
776975a9f6eSFrancisco Lopes da Silva // CHECK-CC53: Completion contexts:
777975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Any type
778975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Any value
779975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Enum tag
780975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Union tag
781975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Struct tag
782975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Class name
783975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Nested name specifier
784975a9f6eSFrancisco Lopes da Silva // CHECK-CC53-NEXT: Objective-C interface
785975a9f6eSFrancisco Lopes da Silva
786975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:89:17 %s | FileCheck -check-prefix=CHECK-CC54 %s
787975a9f6eSFrancisco Lopes da Silva // CHECK-CC54: Completion contexts:
788975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Any type
789975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Any value
790975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Enum tag
791975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Union tag
792975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Struct tag
793975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Class name
794975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Nested name specifier
795975a9f6eSFrancisco Lopes da Silva // CHECK-CC54-NEXT: Objective-C interface
796975a9f6eSFrancisco Lopes da Silva
797975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:90:12 %s | FileCheck -check-prefix=CHECK-CC55 %s
798975a9f6eSFrancisco Lopes da Silva // CHECK-CC55: Completion contexts:
799975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Any type
800975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Any value
801975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Enum tag
802975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Union tag
803975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Struct tag
804975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Class name
805975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Nested name specifier
806975a9f6eSFrancisco Lopes da Silva // CHECK-CC55-NEXT: Objective-C interface
807975a9f6eSFrancisco Lopes da Silva
808975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:91:14 %s | FileCheck -check-prefix=CHECK-CC56 %s
809975a9f6eSFrancisco Lopes da Silva // CHECK-CC56: Completion contexts:
810975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Any type
811975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Any value
812975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Enum tag
813975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Union tag
814975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Struct tag
815975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Class name
816975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Nested name specifier
817975a9f6eSFrancisco Lopes da Silva // CHECK-CC56-NEXT: Objective-C interface
818975a9f6eSFrancisco Lopes da Silva
819975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:92:14 %s | FileCheck -check-prefix=CHECK-CC57 %s
820975a9f6eSFrancisco Lopes da Silva // CHECK-CC57: Completion contexts:
821975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Any type
822975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Any value
823975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Enum tag
824975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Union tag
825975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Struct tag
826975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Class name
827975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Nested name specifier
828975a9f6eSFrancisco Lopes da Silva // CHECK-CC57-NEXT: Objective-C interface
829975a9f6eSFrancisco Lopes da Silva
830975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:93:19 %s | FileCheck -check-prefix=CHECK-CC58 %s
831975a9f6eSFrancisco Lopes da Silva // CHECK-CC58: Completion contexts:
832975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Any type
833975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Any value
834975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Enum tag
835975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Union tag
836975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Struct tag
837975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Class name
838975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Nested name specifier
839975a9f6eSFrancisco Lopes da Silva // CHECK-CC58-NEXT: Objective-C interface
840975a9f6eSFrancisco Lopes da Silva
841975a9f6eSFrancisco Lopes da Silva // RUN: c-index-test -code-completion-at=%s:94:14 %s | FileCheck -check-prefix=CHECK-CC59 %s
842975a9f6eSFrancisco Lopes da Silva // CHECK-CC59: Completion contexts:
843975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Any type
844975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Any value
845975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Enum tag
846975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Union tag
847975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Struct tag
848975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Class name
849975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Nested name specifier
850975a9f6eSFrancisco Lopes da Silva // CHECK-CC59-NEXT: Objective-C interface
851e3962aebSBenjamin Kramer
852e3962aebSBenjamin Kramer // RUN: c-index-test -code-completion-at=%s:104:14 %s | FileCheck -check-prefix=CHECK-CC60 %s
853e3962aebSBenjamin Kramer // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
854e3962aebSBenjamin Kramer // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
855e3962aebSBenjamin Kramer // CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
856e3962aebSBenjamin Kramer // CHECK-CC60: Completion contexts:
857e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Any type
858e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Any value
859e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Enum tag
860e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Union tag
861e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Struct tag
862e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Class name
863e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Nested name specifier
864e3962aebSBenjamin Kramer // CHECK-CC60-NEXT: Objective-C interface
865e3962aebSBenjamin Kramer
866e3962aebSBenjamin Kramer // RUN: c-index-test -code-completion-at=%s:106:11 %s | FileCheck -check-prefix=CHECK-CC61 %s
867e3962aebSBenjamin Kramer // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
868e3962aebSBenjamin Kramer // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
869e3962aebSBenjamin Kramer // CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
870e3962aebSBenjamin Kramer // CHECK-CC61: Completion contexts:
871e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Any type
872e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Any value
873e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Enum tag
874e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Union tag
875e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Struct tag
876e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Class name
877e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Nested name specifier
878e3962aebSBenjamin Kramer // CHECK-CC61-NEXT: Objective-C interface
879e3962aebSBenjamin Kramer
880e3962aebSBenjamin Kramer // RUN: c-index-test -code-completion-at=%s:111:16 %s | FileCheck -check-prefix=CHECK-CC62 %s
881e3962aebSBenjamin Kramer // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
882e3962aebSBenjamin Kramer // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
883e3962aebSBenjamin Kramer // CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
884e3962aebSBenjamin Kramer // CHECK-CC62: Completion contexts:
885e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Any type
886e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Any value
887e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Enum tag
888e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Union tag
889e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Struct tag
890e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Class name
891e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Nested name specifier
892e3962aebSBenjamin Kramer // CHECK-CC62-NEXT: Objective-C interface
893e3962aebSBenjamin Kramer
894*f83cfda0SIvan Donchevskii // RUN: c-index-test -code-completion-at=%s:131:23 %s | FileCheck -check-prefix=CHECK-CC63 %s
895*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
896*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
897*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
898*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)
899*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{Comma , }{Placeholder float c}{RightParen )} (1)
900*f83cfda0SIvan Donchevskii // CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)
901*f83cfda0SIvan Donchevskii
902*f83cfda0SIvan Donchevskii // RUN: c-index-test -code-completion-at=%s:133:11 %s | FileCheck -check-prefix=CHECK-CC64 %s
903*f83cfda0SIvan Donchevskii // CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
904*f83cfda0SIvan Donchevskii // CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
905*f83cfda0SIvan Donchevskii // CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
906*f83cfda0SIvan Donchevskii // CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)
907*f83cfda0SIvan Donchevskii // CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)
908*f83cfda0SIvan Donchevskii
909*f83cfda0SIvan Donchevskii // RUN: c-index-test -code-completion-at=%s:138:25 %s | FileCheck -check-prefix=CHECK-CC65 %s
910*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)
911*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)
912*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
913*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)
914*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{Comma , }{Placeholder float c}{RightParen )} (1)
915*f83cfda0SIvan Donchevskii // CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)
916*f83cfda0SIvan Donchevskii
917