// Note: the run lines follow their respective tests, since line/column // matter in this test. template struct B {}; template class C; namespace method { struct S { template void waldo(C); template void waldo(B, C); }; void foo() { S().waldo(/*invoke completion here*/); // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-1):15 %s -o - | FileCheck -check-prefix=CHECK-METHOD %s // CHECK-METHOD-LABEL: OPENING_PAREN_LOC: // CHECK-METHOD-NEXT: OVERLOAD: [#void#]waldo(<#C#>) // CHECK-METHOD-NEXT: OVERLOAD: [#void#]waldo(<#B<>#>, C) } } // namespace method namespace function { template void waldo(C); template void waldo(B, C); void foo() { waldo(/*invoke completion here*/); // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-1):11 %s -o - | FileCheck -check-prefix=CHECK-FUNC %s // CHECK-FUNC-LABEL: OPENING_PAREN_LOC: // CHECK-FUNC-NEXT: OVERLOAD: [#void#]waldo(<#B<>#>, C) // CHECK-FUNC-NEXT: OVERLOAD: [#void#]waldo(<#C#>) } } // namespace function