]> granicus.if.org Git - clang/commitdiff
Add test coverage for serialization of dependent function template specializations.
authorEli Friedman <eli.friedman@gmail.com>
Wed, 19 Jun 2013 01:38:21 +0000 (01:38 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Wed, 19 Jun 2013 01:38:21 +0000 (01:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184275 91177308-0d34-0410-b5e6-96231b3b80d8

test/PCH/cxx-templates.cpp
test/PCH/cxx-templates.h

index 58c4c177fd215fef5c244082955032489d7d9aba..6da5a75cdddf544d9abe5a3fc252e80521c8ae1b 100644 (file)
@@ -85,3 +85,7 @@ namespace rdar13135282 {
     __mt_alloc<> mt = __mt_alloc<>();
   }
 }
+
+void CallDependentSpecializedFunc(DependentSpecializedFuncClass<int> &x) {
+  DependentSpecializedFunc(x);
+}
index e672b0b38733ece9b0e7b2ea9cb5900f239f2225..00064aeefa5cebc47a0f8a58be3ce98c9145919c 100644 (file)
@@ -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);
+};