diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-06-19 01:38:21 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-06-19 01:38:21 +0000 |
commit | 0fa93cecf26a157dec7def11ffa4080ae75fe559 (patch) | |
tree | 168e1a5b564f0eba983a231ff7f739c437483844 /test/PCH | |
parent | 776bfa16c96d501c7fd51beb14f929fa4736caac (diff) | |
download | clang-0fa93cecf26a157dec7def11ffa4080ae75fe559.tar.gz |
Add test coverage for serialization of dependent function template specializations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184275 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/PCH')
-rw-r--r-- | test/PCH/cxx-templates.cpp | 4 | ||||
-rw-r--r-- | test/PCH/cxx-templates.h | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/test/PCH/cxx-templates.cpp b/test/PCH/cxx-templates.cpp index 58c4c177fd..6da5a75cdd 100644 --- a/test/PCH/cxx-templates.cpp +++ b/test/PCH/cxx-templates.cpp @@ -85,3 +85,7 @@ namespace rdar13135282 { __mt_alloc<> mt = __mt_alloc<>(); } } + +void CallDependentSpecializedFunc(DependentSpecializedFuncClass<int> &x) { + DependentSpecializedFunc(x); +} diff --git a/test/PCH/cxx-templates.h b/test/PCH/cxx-templates.h index e672b0b387..00064aeefa 100644 --- a/test/PCH/cxx-templates.h +++ b/test/PCH/cxx-templates.h @@ -269,3 +269,10 @@ template<typename T> struct ContainsDoNotDeserialize2 { }; template<typename T> int ContainsDoNotDeserialize<T>::doNotDeserialize = 0; template<typename T> void ContainsDoNotDeserialize2<T>::doNotDeserialize() {} + + +template<typename T> void DependentSpecializedFunc(T x) { x.foo(); } +template<typename T> class DependentSpecializedFuncClass { + void foo() {} + friend void DependentSpecializedFunc<>(DependentSpecializedFuncClass); +}; |