918 lines · cpp
1// Note: the run lines follow their respective tests, since line/column2// matter in this test.3 4void foo_1();5void foo_2(int);6void foo_2(void *);7void foo_3(int, int);8void foo_3(void *, void *);9void foo_4(int, int);10void foo_4(void *, int);11void foo_5(int, int);12void foo_5(int, void *);13template<class T> void foo_6();14template<class T> void foo_7(T);15template<class T> void foo_8(T, T);16template<class T> void foo_9(int, T);17template<class T> void foo_9(void *, T);18template<class T> void foo_10(T, int, int);19template<class U> void foo_10(U, void *, void *);20template<class T, class U> void foo_11(T, U);21template<class T = int> void foo_12(T, T);22template<class V>23struct S {24 void foo_1();25 void foo_2(int);26 void foo_2(void *);27 void foo_3(int, int);28 void foo_3(void *, void *);29 void foo_4(int, int);30 void foo_4(void *, int);31 void foo_5(int, int);32 void foo_5(int, void *);33 template<class T> void foo_6();34 template<class T> void foo_7(T);35 template<class T> void foo_8(T, T);36 template<class T> void foo_9(int, T);37 template<class T> void foo_9(void *, T);38 template<class T> void foo_10(T, int, int);39 template<class U> void foo_10(U, void *, void *);40 template<class T, class U> void foo_11(T, U);41 template<class T = int> void foo_12(T, T);42 template<class T> void foo_13(V, T, T);43};44 45int main() {46 void *p = 0;47 foo_1();48 foo_2(42);49 foo_3(42, 42);50 foo_3(p, p);51 foo_4(42, 42);52 foo_4(p, 42);53 foo_5(42, 42);54 foo_6<int>();55 foo_7(42);56 foo_7<int>(42);57 foo_8(42, 42);58 foo_9(42, 42);59 foo_9(p, 42);60 foo_10(42, 42, 42);61 foo_11(42, 42);62 foo_11<int>(42, 42);63 foo_11<int, void *>(42, p);64 foo_12(p, p);65 66 S<int> s;67 s.foo_1();68 s.foo_2(42);69 s.foo_3(42, 42);70 s.foo_3(p, p);71 s.foo_4(42, 42);72 s.foo_4(p, 42);73 s.foo_5(42, 42);74 s.foo_6<int>();75 s.foo_7(42);76 s.foo_7<int>(42);77 s.foo_8(42, 42);78 s.foo_9(42, 42);79 s.foo_9(p, 42);80 s.foo_10(42, 42, 42);81 s.foo_11(42, 42);82 s.foo_11<int>(42, 42);83 s.foo_11<int, void *>(42, p);84 s.foo_12(p, p);85 s.foo_13(42, 42, 42);86 87 foo_1(42,);88 foo_2(42,);89 foo_6<int>(42,);90 foo_7(42,);91 s.foo_1(42,);92 s.foo_2(42,);93 s.foo_6<int>(42,);94 s.foo_7(42,);95}96 97struct Bar {98 static void foo_1();99 void foo_1(float);100 static void foo_1(int);101};102 103void test() {104 Bar::foo_1();105 Bar b;106 b.foo_1();107}108 109struct Bar2 : public Bar {110 Bar2() {111 Bar::foo_1();112 }113};114 115struct BarTemplates {116 static void foo_1() {}117 void foo_1(float) {}118 static void foo_1(int) {}119 120 template<class T1, class T2>121 static void foo_1(T1 a, T2 b) { a + b; }122 123 template<class T1, class T2>124 void foo_1(T1 a, T2 b, float c) { a + b + c; }125 126 template<class T1, class T2>127 static void foo_1(T2 a, int b, T1 c) { a + b + c; }128};129 130void testTemplates() {131 BarTemplates::foo_1();132 BarTemplates b;133 b.foo_1();134}135 136struct Bar2Template : public BarTemplates {137 Bar2Template() {138 BarTemplates::foo_1();139 }140};141 142// RUN: c-index-test -code-completion-at=%s:47:9 %s | FileCheck -check-prefix=CHECK-CC1 %s143// CHECK-CC1: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)144// CHECK-CC1: Completion contexts:145// CHECK-CC1-NEXT: Any type146// CHECK-CC1-NEXT: Any value147// CHECK-CC1-NEXT: Enum tag148// CHECK-CC1-NEXT: Union tag149// CHECK-CC1-NEXT: Struct tag150// CHECK-CC1-NEXT: Class name151// CHECK-CC1-NEXT: Nested name specifier152// CHECK-CC1-NEXT: Objective-C interface153 154// RUN: c-index-test -code-completion-at=%s:48:9 %s | FileCheck -check-prefix=CHECK-CC2 %s155// CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)156// CHECK-CC2: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)157// CHECK-CC2: Completion contexts:158// CHECK-CC2-NEXT: Any type159// CHECK-CC2-NEXT: Any value160// CHECK-CC2-NEXT: Enum tag161// CHECK-CC2-NEXT: Union tag162// CHECK-CC2-NEXT: Struct tag163// CHECK-CC2-NEXT: Class name164// CHECK-CC2-NEXT: Nested name specifier165// CHECK-CC2-NEXT: Objective-C interface166 167// RUN: c-index-test -code-completion-at=%s:49:9 %s | FileCheck -check-prefix=CHECK-CC3 %s168// CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)169// CHECK-CC3: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)170// CHECK-CC3: Completion contexts:171// CHECK-CC3-NEXT: Any type172// CHECK-CC3-NEXT: Any value173// CHECK-CC3-NEXT: Enum tag174// CHECK-CC3-NEXT: Union tag175// CHECK-CC3-NEXT: Struct tag176// CHECK-CC3-NEXT: Class name177// CHECK-CC3-NEXT: Nested name specifier178// CHECK-CC3-NEXT: Objective-C interface179 180// RUN: c-index-test -code-completion-at=%s:49:12 %s | FileCheck -check-prefix=CHECK-CC4 %s181// CHECK-CC4: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)182// CHECK-CC4: Completion contexts:183// CHECK-CC4-NEXT: Any type184// CHECK-CC4-NEXT: Any value185// CHECK-CC4-NEXT: Enum tag186// CHECK-CC4-NEXT: Union tag187// CHECK-CC4-NEXT: Struct tag188// CHECK-CC4-NEXT: Class name189// CHECK-CC4-NEXT: Nested name specifier190// CHECK-CC4-NEXT: Objective-C interface191 192// RUN: c-index-test -code-completion-at=%s:50:11 %s | FileCheck -check-prefix=CHECK-CC5 %s193// CHECK-CC5: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)194// CHECK-CC5: Completion contexts:195// CHECK-CC5-NEXT: Any type196// CHECK-CC5-NEXT: Any value197// CHECK-CC5-NEXT: Enum tag198// CHECK-CC5-NEXT: Union tag199// CHECK-CC5-NEXT: Struct tag200// CHECK-CC5-NEXT: Class name201// CHECK-CC5-NEXT: Nested name specifier202// CHECK-CC5-NEXT: Objective-C interface203 204// RUN: c-index-test -code-completion-at=%s:51:12 %s | FileCheck -check-prefix=CHECK-CC6 %s205// CHECK-CC6: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)206// CHECK-CC6: Completion contexts:207// CHECK-CC6-NEXT: Any type208// CHECK-CC6-NEXT: Any value209// CHECK-CC6-NEXT: Enum tag210// CHECK-CC6-NEXT: Union tag211// CHECK-CC6-NEXT: Struct tag212// CHECK-CC6-NEXT: Class name213// CHECK-CC6-NEXT: Nested name specifier214// CHECK-CC6-NEXT: Objective-C interface215 216// RUN: c-index-test -code-completion-at=%s:52:11 %s | FileCheck -check-prefix=CHECK-CC7 %s217// CHECK-CC7: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)218// CHECK-CC7: Completion contexts:219// CHECK-CC7-NEXT: Any type220// CHECK-CC7-NEXT: Any value221// CHECK-CC7-NEXT: Enum tag222// CHECK-CC7-NEXT: Union tag223// CHECK-CC7-NEXT: Struct tag224// CHECK-CC7-NEXT: Class name225// CHECK-CC7-NEXT: Nested name specifier226// CHECK-CC7-NEXT: Objective-C interface227 228// RUN: c-index-test -code-completion-at=%s:53:12 %s | FileCheck -check-prefix=CHECK-CC8 %s229// CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)230// CHECK-CC8: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)231// CHECK-CC8: Completion contexts:232// CHECK-CC8-NEXT: Any type233// CHECK-CC8-NEXT: Any value234// CHECK-CC8-NEXT: Enum tag235// CHECK-CC8-NEXT: Union tag236// CHECK-CC8-NEXT: Struct tag237// CHECK-CC8-NEXT: Class name238// CHECK-CC8-NEXT: Nested name specifier239// CHECK-CC8-NEXT: Objective-C interface240 241// RUN: c-index-test -code-completion-at=%s:54:14 %s | FileCheck -check-prefix=CHECK-CC9 %s242// CHECK-CC9: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)243// CHECK-CC9: Completion contexts:244// CHECK-CC9-NEXT: Any type245// CHECK-CC9-NEXT: Any value246// CHECK-CC9-NEXT: Enum tag247// CHECK-CC9-NEXT: Union tag248// CHECK-CC9-NEXT: Struct tag249// CHECK-CC9-NEXT: Class name250// CHECK-CC9-NEXT: Nested name specifier251// CHECK-CC9-NEXT: Objective-C interface252 253// RUN: c-index-test -code-completion-at=%s:55:9 %s | FileCheck -check-prefix=CHECK-CC10 %s254// CHECK-CC10: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)255// CHECK-CC10: Completion contexts:256// CHECK-CC10-NEXT: Any type257// CHECK-CC10-NEXT: Any value258// CHECK-CC10-NEXT: Enum tag259// CHECK-CC10-NEXT: Union tag260// CHECK-CC10-NEXT: Struct tag261// CHECK-CC10-NEXT: Class name262// CHECK-CC10-NEXT: Nested name specifier263// CHECK-CC10-NEXT: Objective-C interface264 265// RUN: c-index-test -code-completion-at=%s:56:14 %s | FileCheck -check-prefix=CHECK-CC11 %s266// CHECK-CC11: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)267// CHECK-CC11: Completion contexts:268// CHECK-CC11-NEXT: Any type269// CHECK-CC11-NEXT: Any value270// CHECK-CC11-NEXT: Enum tag271// CHECK-CC11-NEXT: Union tag272// CHECK-CC11-NEXT: Struct tag273// CHECK-CC11-NEXT: Class name274// CHECK-CC11-NEXT: Nested name specifier275// CHECK-CC11-NEXT: Objective-C interface276 277// RUN: c-index-test -code-completion-at=%s:57:12 %s | FileCheck -check-prefix=CHECK-CC12 %s278// CHECK-CC12: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)279// CHECK-CC12: Completion contexts:280// CHECK-CC12-NEXT: Any type281// CHECK-CC12-NEXT: Any value282// CHECK-CC12-NEXT: Enum tag283// CHECK-CC12-NEXT: Union tag284// CHECK-CC12-NEXT: Struct tag285// CHECK-CC12-NEXT: Class name286// CHECK-CC12-NEXT: Nested name specifier287// CHECK-CC12-NEXT: Objective-C interface288 289// RUN: c-index-test -code-completion-at=%s:58:12 %s | FileCheck -check-prefix=CHECK-CC13 %s290// CHECK-CC13: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)291// CHECK-CC13: Completion contexts:292// CHECK-CC13-NEXT: Any type293// CHECK-CC13-NEXT: Any value294// CHECK-CC13-NEXT: Enum tag295// CHECK-CC13-NEXT: Union tag296// CHECK-CC13-NEXT: Struct tag297// CHECK-CC13-NEXT: Class name298// CHECK-CC13-NEXT: Nested name specifier299// CHECK-CC13-NEXT: Objective-C interface300 301// RUN: c-index-test -code-completion-at=%s:59:11 %s | FileCheck -check-prefix=CHECK-CC14 %s302// CHECK-CC14: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)303// CHECK-CC14: Completion contexts:304// CHECK-CC14-NEXT: Any type305// CHECK-CC14-NEXT: Any value306// CHECK-CC14-NEXT: Enum tag307// CHECK-CC14-NEXT: Union tag308// CHECK-CC14-NEXT: Struct tag309// CHECK-CC14-NEXT: Class name310// CHECK-CC14-NEXT: Nested name specifier311// CHECK-CC14-NEXT: Objective-C interface312 313// RUN: c-index-test -code-completion-at=%s:60:10 %s | FileCheck -check-prefix=CHECK-CC15 %s314// CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)315// CHECK-CC15: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)316// CHECK-CC15: Completion contexts:317// CHECK-CC15-NEXT: Any type318// CHECK-CC15-NEXT: Any value319// CHECK-CC15-NEXT: Enum tag320// CHECK-CC15-NEXT: Union tag321// CHECK-CC15-NEXT: Struct tag322// CHECK-CC15-NEXT: Class name323// CHECK-CC15-NEXT: Nested name specifier324// CHECK-CC15-NEXT: Objective-C interface325 326// RUN: c-index-test -code-completion-at=%s:60:13 %s | FileCheck -check-prefix=CHECK-CC16 %s327// CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)328// CHECK-CC16: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)329// CHECK-CC16: Completion contexts:330// CHECK-CC16-NEXT: Any type331// CHECK-CC16-NEXT: Any value332// CHECK-CC16-NEXT: Enum tag333// CHECK-CC16-NEXT: Union tag334// CHECK-CC16-NEXT: Struct tag335// CHECK-CC16-NEXT: Class name336// CHECK-CC16-NEXT: Nested name specifier337// CHECK-CC16-NEXT: Objective-C interface338 339// RUN: c-index-test -code-completion-at=%s:60:17 %s | FileCheck -check-prefix=CHECK-CC17 %s340// CHECK-CC17: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)341// CHECK-CC17: Completion contexts:342// CHECK-CC17-NEXT: Any type343// CHECK-CC17-NEXT: Any value344// CHECK-CC17-NEXT: Enum tag345// CHECK-CC17-NEXT: Union tag346// CHECK-CC17-NEXT: Struct tag347// CHECK-CC17-NEXT: Class name348// CHECK-CC17-NEXT: Nested name specifier349// CHECK-CC17-NEXT: Objective-C interface350 351// RUN: c-index-test -code-completion-at=%s:61:10 %s | FileCheck -check-prefix=CHECK-CC18 %s352// CHECK-CC18: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)353// CHECK-CC18: Completion contexts:354// CHECK-CC18-NEXT: Any type355// CHECK-CC18-NEXT: Any value356// CHECK-CC18-NEXT: Enum tag357// CHECK-CC18-NEXT: Union tag358// CHECK-CC18-NEXT: Struct tag359// CHECK-CC18-NEXT: Class name360// CHECK-CC18-NEXT: Nested name specifier361// CHECK-CC18-NEXT: Objective-C interface362 363// RUN: c-index-test -code-completion-at=%s:61:13 %s | FileCheck -check-prefix=CHECK-CC19 %s364// CHECK-CC19: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)365// CHECK-CC19: Completion contexts:366// CHECK-CC19-NEXT: Any type367// CHECK-CC19-NEXT: Any value368// CHECK-CC19-NEXT: Enum tag369// CHECK-CC19-NEXT: Union tag370// CHECK-CC19-NEXT: Struct tag371// CHECK-CC19-NEXT: Class name372// CHECK-CC19-NEXT: Nested name specifier373// CHECK-CC19-NEXT: Objective-C interface374 375// RUN: c-index-test -code-completion-at=%s:62:15 %s | FileCheck -check-prefix=CHECK-CC20 %s376// CHECK-CC20: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)377// CHECK-CC20: Completion contexts:378// CHECK-CC20-NEXT: Any type379// CHECK-CC20-NEXT: Any value380// CHECK-CC20-NEXT: Enum tag381// CHECK-CC20-NEXT: Union tag382// CHECK-CC20-NEXT: Struct tag383// CHECK-CC20-NEXT: Class name384// CHECK-CC20-NEXT: Nested name specifier385// CHECK-CC20-NEXT: Objective-C interface386 387// RUN: c-index-test -code-completion-at=%s:62:18 %s | FileCheck -check-prefix=CHECK-CC21 %s388// CHECK-CC21: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)389// CHECK-CC21: Completion contexts:390// CHECK-CC21-NEXT: Any type391// CHECK-CC21-NEXT: Any value392// CHECK-CC21-NEXT: Enum tag393// CHECK-CC21-NEXT: Union tag394// CHECK-CC21-NEXT: Struct tag395// CHECK-CC21-NEXT: Class name396// CHECK-CC21-NEXT: Nested name specifier397// CHECK-CC21-NEXT: Objective-C interface398 399// RUN: c-index-test -code-completion-at=%s:63:26 %s | FileCheck -check-prefix=CHECK-CC22 %s400// CHECK-CC22: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)401// CHECK-CC22: Completion contexts:402// CHECK-CC22-NEXT: Any type403// CHECK-CC22-NEXT: Any value404// CHECK-CC22-NEXT: Enum tag405// CHECK-CC22-NEXT: Union tag406// CHECK-CC22-NEXT: Struct tag407// CHECK-CC22-NEXT: Class name408// CHECK-CC22-NEXT: Nested name specifier409// CHECK-CC22-NEXT: Objective-C interface410 411// RUN: c-index-test -code-completion-at=%s:64:10 %s | FileCheck -check-prefix=CHECK-CC23 %s412 413// CHECK-CC23: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder T}{RightParen )} (1)414// CHECK-CC23: Completion contexts:415// CHECK-CC23-NEXT: Any type416// CHECK-CC23-NEXT: Any value417// CHECK-CC23-NEXT: Enum tag418// CHECK-CC23-NEXT: Union tag419// CHECK-CC23-NEXT: Struct tag420// CHECK-CC23-NEXT: Class name421// CHECK-CC23-NEXT: Nested name specifier422// CHECK-CC23-NEXT: Objective-C interface423 424// RUN: c-index-test -code-completion-at=%s:64:12 %s | FileCheck -check-prefix=CHECK-CC24 %s425// CHECK-CC24: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)426// CHECK-CC24: Completion contexts:427// CHECK-CC24-NEXT: Any type428// CHECK-CC24-NEXT: Any value429// CHECK-CC24-NEXT: Enum tag430// CHECK-CC24-NEXT: Union tag431// CHECK-CC24-NEXT: Struct tag432// CHECK-CC24-NEXT: Class name433// CHECK-CC24-NEXT: Nested name specifier434// CHECK-CC24-NEXT: Objective-C interface435 436// RUN: c-index-test -code-completion-at=%s:67:11 %s | FileCheck -check-prefix=CHECK-CC25 %s437// CHECK-CC25: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)438// CHECK-CC25: Completion contexts:439// CHECK-CC25-NEXT: Any type440// CHECK-CC25-NEXT: Any value441// CHECK-CC25-NEXT: Enum tag442// CHECK-CC25-NEXT: Union tag443// CHECK-CC25-NEXT: Struct tag444// CHECK-CC25-NEXT: Class name445// CHECK-CC25-NEXT: Nested name specifier446// CHECK-CC25-NEXT: Objective-C interface447 448// RUN: c-index-test -code-completion-at=%s:68:11 %s | FileCheck -check-prefix=CHECK-CC26 %s449// CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter int}{RightParen )} (1)450// CHECK-CC26: OverloadCandidate:{ResultType void}{Text foo_2}{LeftParen (}{CurrentParameter void *}{RightParen )} (1)451// CHECK-CC26: Completion contexts:452// CHECK-CC26-NEXT: Any type453// CHECK-CC26-NEXT: Any value454// CHECK-CC26-NEXT: Enum tag455// CHECK-CC26-NEXT: Union tag456// CHECK-CC26-NEXT: Struct tag457// CHECK-CC26-NEXT: Class name458// CHECK-CC26-NEXT: Nested name specifier459// CHECK-CC26-NEXT: Objective-C interface460 461// RUN: c-index-test -code-completion-at=%s:69:11 %s | FileCheck -check-prefix=CHECK-CC27 %s462// CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)463// CHECK-CC27: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)464// CHECK-CC27: Completion contexts:465// CHECK-CC27-NEXT: Any type466// CHECK-CC27-NEXT: Any value467// CHECK-CC27-NEXT: Enum tag468// CHECK-CC27-NEXT: Union tag469// CHECK-CC27-NEXT: Struct tag470// CHECK-CC27-NEXT: Class name471// CHECK-CC27-NEXT: Nested name specifier472// CHECK-CC27-NEXT: Objective-C interface473 474// RUN: c-index-test -code-completion-at=%s:69:14 %s | FileCheck -check-prefix=CHECK-CC28 %s475// CHECK-CC28: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)476// CHECK-CC28: Completion contexts:477// CHECK-CC28-NEXT: Any type478// CHECK-CC28-NEXT: Any value479// CHECK-CC28-NEXT: Enum tag480// CHECK-CC28-NEXT: Union tag481// CHECK-CC28-NEXT: Struct tag482// CHECK-CC28-NEXT: Class name483// CHECK-CC28-NEXT: Nested name specifier484// CHECK-CC28-NEXT: Objective-C interface485 486// RUN: c-index-test -code-completion-at=%s:70:13 %s | FileCheck -check-prefix=CHECK-CC29 %s487// CHECK-CC29: OverloadCandidate:{ResultType void}{Text foo_3}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)488// CHECK-CC29: Completion contexts:489// CHECK-CC29-NEXT: Any type490// CHECK-CC29-NEXT: Any value491// CHECK-CC29-NEXT: Enum tag492// CHECK-CC29-NEXT: Union tag493// CHECK-CC29-NEXT: Struct tag494// CHECK-CC29-NEXT: Class name495// CHECK-CC29-NEXT: Nested name specifier496// CHECK-CC29-NEXT: Objective-C interface497 498// RUN: c-index-test -code-completion-at=%s:71:14 %s | FileCheck -check-prefix=CHECK-CC30 %s499// CHECK-CC30: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)500// CHECK-CC30: Completion contexts:501// CHECK-CC30-NEXT: Any type502// CHECK-CC30-NEXT: Any value503// CHECK-CC30-NEXT: Enum tag504// CHECK-CC30-NEXT: Union tag505// CHECK-CC30-NEXT: Struct tag506// CHECK-CC30-NEXT: Class name507// CHECK-CC30-NEXT: Nested name specifier508// CHECK-CC30-NEXT: Objective-C interface509 510// RUN: c-index-test -code-completion-at=%s:72:13 %s | FileCheck -check-prefix=CHECK-CC31 %s511// CHECK-CC31: OverloadCandidate:{ResultType void}{Text foo_4}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter int}{RightParen )} (1)512// CHECK-CC31: Completion contexts:513// CHECK-CC31-NEXT: Any type514// CHECK-CC31-NEXT: Any value515// CHECK-CC31-NEXT: Enum tag516// CHECK-CC31-NEXT: Union tag517// CHECK-CC31-NEXT: Struct tag518// CHECK-CC31-NEXT: Class name519// CHECK-CC31-NEXT: Nested name specifier520// CHECK-CC31-NEXT: Objective-C interface521 522// RUN: c-index-test -code-completion-at=%s:73:14 %s | FileCheck -check-prefix=CHECK-CC32 %s523// CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)524// CHECK-CC32: OverloadCandidate:{ResultType void}{Text foo_5}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)525// CHECK-CC32: Completion contexts:526// CHECK-CC32-NEXT: Any type527// CHECK-CC32-NEXT: Any value528// CHECK-CC32-NEXT: Enum tag529// CHECK-CC32-NEXT: Union tag530// CHECK-CC32-NEXT: Struct tag531// CHECK-CC32-NEXT: Class name532// CHECK-CC32-NEXT: Nested name specifier533// CHECK-CC32-NEXT: Objective-C interface534 535// RUN: c-index-test -code-completion-at=%s:74:16 %s | FileCheck -check-prefix=CHECK-CC33 %s536// CHECK-CC33: OverloadCandidate:{ResultType void}{Text foo_6}{LeftParen (}{RightParen )} (1)537// CHECK-CC33: Completion contexts:538// CHECK-CC33-NEXT: Any type539// CHECK-CC33-NEXT: Any value540// CHECK-CC33-NEXT: Enum tag541// CHECK-CC33-NEXT: Union tag542// CHECK-CC33-NEXT: Struct tag543// CHECK-CC33-NEXT: Class name544// CHECK-CC33-NEXT: Nested name specifier545// CHECK-CC33-NEXT: Objective-C interface546 547// RUN: c-index-test -code-completion-at=%s:75:11 %s | FileCheck -check-prefix=CHECK-CC34 %s548// CHECK-CC34: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter T}{RightParen )} (1)549// CHECK-CC34: Completion contexts:550// CHECK-CC34-NEXT: Any type551// CHECK-CC34-NEXT: Any value552// CHECK-CC34-NEXT: Enum tag553// CHECK-CC34-NEXT: Union tag554// CHECK-CC34-NEXT: Struct tag555// CHECK-CC34-NEXT: Class name556// CHECK-CC34-NEXT: Nested name specifier557// CHECK-CC34-NEXT: Objective-C interface558 559// RUN: c-index-test -code-completion-at=%s:76:16 %s | FileCheck -check-prefix=CHECK-CC35 %s560// CHECK-CC35: OverloadCandidate:{ResultType void}{Text foo_7}{LeftParen (}{CurrentParameter int}{RightParen )} (1)561// CHECK-CC35: Completion contexts:562// CHECK-CC35-NEXT: Any type563// CHECK-CC35-NEXT: Any value564// CHECK-CC35-NEXT: Enum tag565// CHECK-CC35-NEXT: Union tag566// CHECK-CC35-NEXT: Struct tag567// CHECK-CC35-NEXT: Class name568// CHECK-CC35-NEXT: Nested name specifier569// CHECK-CC35-NEXT: Objective-C interface570 571// RUN: c-index-test -code-completion-at=%s:77:14 %s | FileCheck -check-prefix=CHECK-CC36 %s572// CHECK-CC36: OverloadCandidate:{ResultType void}{Text foo_8}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)573// CHECK-CC36: Completion contexts:574// CHECK-CC36-NEXT: Any type575// CHECK-CC36-NEXT: Any value576// CHECK-CC36-NEXT: Enum tag577// CHECK-CC36-NEXT: Union tag578// CHECK-CC36-NEXT: Struct tag579// CHECK-CC36-NEXT: Class name580// CHECK-CC36-NEXT: Nested name specifier581// CHECK-CC36-NEXT: Objective-C interface582 583// RUN: c-index-test -code-completion-at=%s:78:14 %s | FileCheck -check-prefix=CHECK-CC37 %s584// CHECK-CC37: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{RightParen )} (1)585// CHECK-CC37: Completion contexts:586// CHECK-CC37-NEXT: Any type587// CHECK-CC37-NEXT: Any value588// CHECK-CC37-NEXT: Enum tag589// CHECK-CC37-NEXT: Union tag590// CHECK-CC37-NEXT: Struct tag591// CHECK-CC37-NEXT: Class name592// CHECK-CC37-NEXT: Nested name specifier593// CHECK-CC37-NEXT: Objective-C interface594 595// RUN: c-index-test -code-completion-at=%s:79:13 %s | FileCheck -check-prefix=CHECK-CC38 %s596// CHECK-CC38: OverloadCandidate:{ResultType void}{Text foo_9}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter T}{RightParen )} (1)597// CHECK-CC38: Completion contexts:598// CHECK-CC38-NEXT: Any type599// CHECK-CC38-NEXT: Any value600// CHECK-CC38-NEXT: Enum tag601// CHECK-CC38-NEXT: Union tag602// CHECK-CC38-NEXT: Struct tag603// CHECK-CC38-NEXT: Class name604// CHECK-CC38-NEXT: Nested name specifier605// CHECK-CC38-NEXT: Objective-C interface606 607// RUN: c-index-test -code-completion-at=%s:80:12 %s | FileCheck -check-prefix=CHECK-CC39 %s608// CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder int}{Comma , }{Placeholder int}{RightParen )} (1)609// CHECK-CC39: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{CurrentParameter U}{Comma , }{Placeholder void *}{Comma , }{Placeholder void *}{RightParen )} (1)610// CHECK-CC39: Completion contexts:611// CHECK-CC39-NEXT: Any type612// CHECK-CC39-NEXT: Any value613// CHECK-CC39-NEXT: Enum tag614// CHECK-CC39-NEXT: Union tag615// CHECK-CC39-NEXT: Struct tag616// CHECK-CC39-NEXT: Class name617// CHECK-CC39-NEXT: Nested name specifier618// CHECK-CC39-NEXT: Objective-C interface619 620// RUN: c-index-test -code-completion-at=%s:80:15 %s | FileCheck -check-prefix=CHECK-CC40 %s621// CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter int}{Comma , }{Placeholder int}{RightParen )} (1)622// CHECK-CC40: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{Comma , }{Placeholder void *}{RightParen )} (1)623// CHECK-CC40: Completion contexts:624// CHECK-CC40-NEXT: Any type625// CHECK-CC40-NEXT: Any value626// CHECK-CC40-NEXT: Enum tag627// CHECK-CC40-NEXT: Union tag628// CHECK-CC40-NEXT: Struct tag629// CHECK-CC40-NEXT: Class name630// CHECK-CC40-NEXT: Nested name specifier631// CHECK-CC40-NEXT: Objective-C interface632 633// RUN: c-index-test -code-completion-at=%s:80:19 %s | FileCheck -check-prefix=CHECK-CC41 %s634// CHECK-CC41: OverloadCandidate:{ResultType void}{Text foo_10}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)635// CHECK-CC41: Completion contexts:636// CHECK-CC41-NEXT: Any type637// CHECK-CC41-NEXT: Any value638// CHECK-CC41-NEXT: Enum tag639// CHECK-CC41-NEXT: Union tag640// CHECK-CC41-NEXT: Struct tag641// CHECK-CC41-NEXT: Class name642// CHECK-CC41-NEXT: Nested name specifier643// CHECK-CC41-NEXT: Objective-C interface644 645// RUN: c-index-test -code-completion-at=%s:81:12 %s | FileCheck -check-prefix=CHECK-CC42 %s646// CHECK-CC42: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder U}{RightParen )} (1)647// CHECK-CC42: Completion contexts:648// CHECK-CC42-NEXT: Any type649// CHECK-CC42-NEXT: Any value650// CHECK-CC42-NEXT: Enum tag651// CHECK-CC42-NEXT: Union tag652// CHECK-CC42-NEXT: Struct tag653// CHECK-CC42-NEXT: Class name654// CHECK-CC42-NEXT: Nested name specifier655// CHECK-CC42-NEXT: Objective-C interface656 657// RUN: c-index-test -code-completion-at=%s:81:15 %s | FileCheck -check-prefix=CHECK-CC43 %s658// CHECK-CC43: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)659// CHECK-CC43: Completion contexts:660// CHECK-CC43-NEXT: Any type661// CHECK-CC43-NEXT: Any value662// CHECK-CC43-NEXT: Enum tag663// CHECK-CC43-NEXT: Union tag664// CHECK-CC43-NEXT: Struct tag665// CHECK-CC43-NEXT: Class name666// CHECK-CC43-NEXT: Nested name specifier667// CHECK-CC43-NEXT: Objective-C interface668 669// RUN: c-index-test -code-completion-at=%s:82:17 %s | FileCheck -check-prefix=CHECK-CC44 %s670// CHECK-CC44: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{RightParen )} (1)671// CHECK-CC44: Completion contexts:672// CHECK-CC44-NEXT: Any type673// CHECK-CC44-NEXT: Any value674// CHECK-CC44-NEXT: Enum tag675// CHECK-CC44-NEXT: Union tag676// CHECK-CC44-NEXT: Struct tag677// CHECK-CC44-NEXT: Class name678// CHECK-CC44-NEXT: Nested name specifier679// CHECK-CC44-NEXT: Objective-C interface680 681// RUN: c-index-test -code-completion-at=%s:82:20 %s | FileCheck -check-prefix=CHECK-CC45 %s682// CHECK-CC45: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter U}{RightParen )} (1)683// CHECK-CC45: Completion contexts:684// CHECK-CC45-NEXT: Any type685// CHECK-CC45-NEXT: Any value686// CHECK-CC45-NEXT: Enum tag687// CHECK-CC45-NEXT: Union tag688// CHECK-CC45-NEXT: Struct tag689// CHECK-CC45-NEXT: Class name690// CHECK-CC45-NEXT: Nested name specifier691// CHECK-CC45-NEXT: Objective-C interface692 693// RUN: c-index-test -code-completion-at=%s:83:28 %s | FileCheck -check-prefix=CHECK-CC46 %s694// CHECK-CC46: OverloadCandidate:{ResultType void}{Text foo_11}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter void *}{RightParen )} (1)695// CHECK-CC46: Completion contexts:696// CHECK-CC46-NEXT: Any type697// CHECK-CC46-NEXT: Any value698// CHECK-CC46-NEXT: Enum tag699// CHECK-CC46-NEXT: Union tag700// CHECK-CC46-NEXT: Struct tag701// CHECK-CC46-NEXT: Class name702// CHECK-CC46-NEXT: Nested name specifier703// CHECK-CC46-NEXT: Objective-C interface704 705// RUN: c-index-test -code-completion-at=%s:84:12 %s | FileCheck -check-prefix=CHECK-CC47 %s706// CHECK-CC47: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{CurrentParameter T}{Comma , }{Placeholder T}{RightParen )} (1)707// CHECK-CC47: Completion contexts:708// CHECK-CC47-NEXT: Any type709// CHECK-CC47-NEXT: Any value710// CHECK-CC47-NEXT: Enum tag711// CHECK-CC47-NEXT: Union tag712// CHECK-CC47-NEXT: Struct tag713// CHECK-CC47-NEXT: Class name714// CHECK-CC47-NEXT: Nested name specifier715// CHECK-CC47-NEXT: Objective-C interface716 717// RUN: c-index-test -code-completion-at=%s:84:14 %s | FileCheck -check-prefix=CHECK-CC48 %s718// CHECK-CC48: OverloadCandidate:{ResultType void}{Text foo_12}{LeftParen (}{Placeholder void *}{Comma , }{CurrentParameter void *}{RightParen )} (1)719// CHECK-CC48: Completion contexts:720// CHECK-CC48-NEXT: Any type721// CHECK-CC48-NEXT: Any value722// CHECK-CC48-NEXT: Enum tag723// CHECK-CC48-NEXT: Union tag724// CHECK-CC48-NEXT: Struct tag725// CHECK-CC48-NEXT: Class name726// CHECK-CC48-NEXT: Nested name specifier727// CHECK-CC48-NEXT: Objective-C interface728 729// RUN: c-index-test -code-completion-at=%s:85:12 %s | FileCheck -check-prefix=CHECK-CC49 %s730// CHECK-CC49: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder T}{Comma , }{Placeholder T}{RightParen )} (1)731// CHECK-CC49: Completion contexts:732// CHECK-CC49-NEXT: Any type733// CHECK-CC49-NEXT: Any value734// CHECK-CC49-NEXT: Enum tag735// CHECK-CC49-NEXT: Union tag736// CHECK-CC49-NEXT: Struct tag737// CHECK-CC49-NEXT: Class name738// CHECK-CC49-NEXT: Nested name specifier739// CHECK-CC49-NEXT: Objective-C interface740 741// RUN: c-index-test -code-completion-at=%s:85:15 %s | FileCheck -check-prefix=CHECK-CC50 %s742// CHECK-CC50: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{CurrentParameter T}{Comma , }{Placeholder T}{RightParen )} (1)743// CHECK-CC50: Completion contexts:744// CHECK-CC50-NEXT: Any type745// CHECK-CC50-NEXT: Any value746// CHECK-CC50-NEXT: Enum tag747// CHECK-CC50-NEXT: Union tag748// CHECK-CC50-NEXT: Struct tag749// CHECK-CC50-NEXT: Class name750// CHECK-CC50-NEXT: Nested name specifier751// CHECK-CC50-NEXT: Objective-C interface752 753// RUN: c-index-test -code-completion-at=%s:85:19 %s | FileCheck -check-prefix=CHECK-CC51 %s754// CHECK-CC51: OverloadCandidate:{ResultType void}{Text foo_13}{LeftParen (}{Placeholder int}{Comma , }{Placeholder int}{Comma , }{CurrentParameter int}{RightParen )} (1)755// CHECK-CC51: Completion contexts:756// CHECK-CC51-NEXT: Any type757// CHECK-CC51-NEXT: Any value758// CHECK-CC51-NEXT: Enum tag759// CHECK-CC51-NEXT: Union tag760// CHECK-CC51-NEXT: Struct tag761// CHECK-CC51-NEXT: Class name762// CHECK-CC51-NEXT: Nested name specifier763// CHECK-CC51-NEXT: Objective-C interface764 765// RUN: c-index-test -code-completion-at=%s:87:12 %s | FileCheck -check-prefix=CHECK-CC52 %s766// CHECK-CC52: Completion contexts:767// CHECK-CC52-NEXT: Any type768// CHECK-CC52-NEXT: Any value769// CHECK-CC52-NEXT: Enum tag770// CHECK-CC52-NEXT: Union tag771// CHECK-CC52-NEXT: Struct tag772// CHECK-CC52-NEXT: Class name773// CHECK-CC52-NEXT: Nested name specifier774// CHECK-CC52-NEXT: Objective-C interface775 776// RUN: c-index-test -code-completion-at=%s:88:12 %s | FileCheck -check-prefix=CHECK-CC53 %s777// CHECK-CC53: Completion contexts:778// CHECK-CC53-NEXT: Any type779// CHECK-CC53-NEXT: Any value780// CHECK-CC53-NEXT: Enum tag781// CHECK-CC53-NEXT: Union tag782// CHECK-CC53-NEXT: Struct tag783// CHECK-CC53-NEXT: Class name784// CHECK-CC53-NEXT: Nested name specifier785// CHECK-CC53-NEXT: Objective-C interface786 787// RUN: c-index-test -code-completion-at=%s:89:17 %s | FileCheck -check-prefix=CHECK-CC54 %s788// CHECK-CC54: Completion contexts:789// CHECK-CC54-NEXT: Any type790// CHECK-CC54-NEXT: Any value791// CHECK-CC54-NEXT: Enum tag792// CHECK-CC54-NEXT: Union tag793// CHECK-CC54-NEXT: Struct tag794// CHECK-CC54-NEXT: Class name795// CHECK-CC54-NEXT: Nested name specifier796// CHECK-CC54-NEXT: Objective-C interface797 798// RUN: c-index-test -code-completion-at=%s:90:12 %s | FileCheck -check-prefix=CHECK-CC55 %s799// CHECK-CC55: Completion contexts:800// CHECK-CC55-NEXT: Any type801// CHECK-CC55-NEXT: Any value802// CHECK-CC55-NEXT: Enum tag803// CHECK-CC55-NEXT: Union tag804// CHECK-CC55-NEXT: Struct tag805// CHECK-CC55-NEXT: Class name806// CHECK-CC55-NEXT: Nested name specifier807// CHECK-CC55-NEXT: Objective-C interface808 809// RUN: c-index-test -code-completion-at=%s:91:14 %s | FileCheck -check-prefix=CHECK-CC56 %s810// CHECK-CC56: Completion contexts:811// CHECK-CC56-NEXT: Any type812// CHECK-CC56-NEXT: Any value813// CHECK-CC56-NEXT: Enum tag814// CHECK-CC56-NEXT: Union tag815// CHECK-CC56-NEXT: Struct tag816// CHECK-CC56-NEXT: Class name817// CHECK-CC56-NEXT: Nested name specifier818// CHECK-CC56-NEXT: Objective-C interface819 820// RUN: c-index-test -code-completion-at=%s:92:14 %s | FileCheck -check-prefix=CHECK-CC57 %s821// CHECK-CC57: Completion contexts:822// CHECK-CC57-NEXT: Any type823// CHECK-CC57-NEXT: Any value824// CHECK-CC57-NEXT: Enum tag825// CHECK-CC57-NEXT: Union tag826// CHECK-CC57-NEXT: Struct tag827// CHECK-CC57-NEXT: Class name828// CHECK-CC57-NEXT: Nested name specifier829// CHECK-CC57-NEXT: Objective-C interface830 831// RUN: c-index-test -code-completion-at=%s:93:19 %s | FileCheck -check-prefix=CHECK-CC58 %s832// CHECK-CC58: Completion contexts:833// CHECK-CC58-NEXT: Any type834// CHECK-CC58-NEXT: Any value835// CHECK-CC58-NEXT: Enum tag836// CHECK-CC58-NEXT: Union tag837// CHECK-CC58-NEXT: Struct tag838// CHECK-CC58-NEXT: Class name839// CHECK-CC58-NEXT: Nested name specifier840// CHECK-CC58-NEXT: Objective-C interface841 842// RUN: c-index-test -code-completion-at=%s:94:14 %s | FileCheck -check-prefix=CHECK-CC59 %s843// CHECK-CC59: Completion contexts:844// CHECK-CC59-NEXT: Any type845// CHECK-CC59-NEXT: Any value846// CHECK-CC59-NEXT: Enum tag847// CHECK-CC59-NEXT: Union tag848// CHECK-CC59-NEXT: Struct tag849// CHECK-CC59-NEXT: Class name850// CHECK-CC59-NEXT: Nested name specifier851// CHECK-CC59-NEXT: Objective-C interface852 853// RUN: c-index-test -code-completion-at=%s:104:14 %s | FileCheck -check-prefix=CHECK-CC60 %s854// CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)855// CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)856// CHECK-CC60: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)857// CHECK-CC60: Completion contexts:858// CHECK-CC60-NEXT: Any type859// CHECK-CC60-NEXT: Any value860// CHECK-CC60-NEXT: Enum tag861// CHECK-CC60-NEXT: Union tag862// CHECK-CC60-NEXT: Struct tag863// CHECK-CC60-NEXT: Class name864// CHECK-CC60-NEXT: Nested name specifier865// CHECK-CC60-NEXT: Objective-C interface866 867// RUN: c-index-test -code-completion-at=%s:106:11 %s | FileCheck -check-prefix=CHECK-CC61 %s868// CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)869// CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)870// CHECK-CC61: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)871// CHECK-CC61: Completion contexts:872// CHECK-CC61-NEXT: Any type873// CHECK-CC61-NEXT: Any value874// CHECK-CC61-NEXT: Enum tag875// CHECK-CC61-NEXT: Union tag876// CHECK-CC61-NEXT: Struct tag877// CHECK-CC61-NEXT: Class name878// CHECK-CC61-NEXT: Nested name specifier879// CHECK-CC61-NEXT: Objective-C interface880 881// RUN: c-index-test -code-completion-at=%s:111:16 %s | FileCheck -check-prefix=CHECK-CC62 %s882// CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)883// CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)884// CHECK-CC62: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)885// CHECK-CC62: Completion contexts:886// CHECK-CC62-NEXT: Any type887// CHECK-CC62-NEXT: Any value888// CHECK-CC62-NEXT: Enum tag889// CHECK-CC62-NEXT: Union tag890// CHECK-CC62-NEXT: Struct tag891// CHECK-CC62-NEXT: Class name892// CHECK-CC62-NEXT: Nested name specifier893// CHECK-CC62-NEXT: Objective-C interface894 895// RUN: c-index-test -code-completion-at=%s:131:23 %s | FileCheck -check-prefix=CHECK-CC63 %s896// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)897// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)898// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)899// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)900// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{Comma , }{Placeholder float c}{RightParen )} (1)901// CHECK-CC63: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)902 903// RUN: c-index-test -code-completion-at=%s:133:11 %s | FileCheck -check-prefix=CHECK-CC64 %s904// CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)905// CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)906// CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)907// CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)908// CHECK-CC64: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)909 910// RUN: c-index-test -code-completion-at=%s:138:25 %s | FileCheck -check-prefix=CHECK-CC65 %s911// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{RightParen )} (1)912// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter float}{RightParen )} (1)913// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter int}{RightParen )} (1)914// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{RightParen )} (1)915// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T1 a}{Comma , }{Placeholder T2 b}{Comma , }{Placeholder float c}{RightParen )} (1)916// CHECK-CC65: OverloadCandidate:{ResultType void}{Text foo_1}{LeftParen (}{CurrentParameter T2 a}{Comma , }{Placeholder int b}{Comma , }{Placeholder T1 c}{RightParen )} (1)917 918