// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s template void f(T) {} template void f() { } void test() { // CHECK: @_Z1fIiEvT_ void (*p)(int) = &f; // CHECK: @_Z1fIiEvv void (*p2)() = f; } // CHECK-LABEL: define linkonce_odr {{.*}}void @_Z1fIiEvT_ // CHECK-LABEL: define linkonce_odr {{.*}}void @_Z1fIiEvv namespace PR6973 { template struct X { void f(const T&); }; template int g(); void h(X xf) { xf.f(&g); } }