1*f4a2713aSLionel Sambuc template<typename T, typename> 2*f4a2713aSLionel Sambuc class ClassTmpl { }; 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc typedef int Integer; 5*f4a2713aSLionel Sambuc 6*f4a2713aSLionel Sambuc template class ClassTmpl<Integer, Integer>; 7*f4a2713aSLionel Sambuc 8*f4a2713aSLionel Sambuc void f(ClassTmpl<float, Integer> p); 9*f4a2713aSLionel Sambuc 10*f4a2713aSLionel Sambuc template<typename T> 11*f4a2713aSLionel Sambuc void g(ClassTmpl<T, T>); 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambuc template<> void g<int>(ClassTmpl<int, int>); 14*f4a2713aSLionel Sambuc 15*f4a2713aSLionel Sambuc // RUN: c-index-test -test-load-source all-display %s | FileCheck %s 16*f4a2713aSLionel Sambuc // CHECK: print-display-names.cpp:2:7: ClassTemplate=ClassTmpl<T, typename>:2:7 17*f4a2713aSLionel Sambuc // CHECK: print-display-names.cpp:6:16: ClassDecl=ClassTmpl<Integer, Integer>:6:16 (Definition) 18*f4a2713aSLionel Sambuc // CHECK: print-display-names.cpp:8:6: FunctionDecl=f(ClassTmpl<float, Integer>):8:6 19*f4a2713aSLionel Sambuc // CHECK: print-display-names.cpp:11:6: FunctionTemplate=g(ClassTmpl<T, T>):11:6 20*f4a2713aSLionel Sambuc // CHECK: print-display-names.cpp:13:17: FunctionDecl=g<>(ClassTmpl<int, int>):13:17 [Specialization of g:11:6] 21