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