reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s template <typename T> void f(T) {} template <typename T> void f() { } void test() { // CHECK: @_Z1fIiEvT_ void (*p)(int) = &f; // CHECK: @_Z1fIiEvv void (*p2)() = f<int>; } // CHECK-LABEL: define linkonce_odr {{.*}}void @_Z1fIiEvT_ // CHECK-LABEL: define linkonce_odr {{.*}}void @_Z1fIiEvv namespace PR6973 { template<typename T> struct X { void f(const T&); }; template<typename T> int g(); void h(X<int (*)()> xf) { xf.f(&g<int>); } } |