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