template struct Foo {}; template struct Foo { Foo(T); }; void foo() { Foo(); // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:7:12 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s // CHECK-CC1: OVERLOAD: Foo() // CHECK-CC1: OVERLOAD: Foo(<#const Foo &#>) // CHECK-CC1: OVERLOAD: Foo(<#Foo &&#> Foo(3); // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:12:14 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s // CHECK-CC2: OVERLOAD: Foo(<#int#>) // CHECK-CC2: OVERLOAD: Foo(<#const Foo &#>) // CHECK-CC2: OVERLOAD: Foo(<#Foo &&#> }