summaryrefslogtreecommitdiff
path: root/test/CXX/temp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-10-12 22:33:31 +0000
committerDouglas Gregor <dgregor@apple.com>2009-10-12 22:33:31 +0000
commit38d840486d2b4ecafd32af9ad48f594f5cdb6199 (patch)
tree0a4e821c8fc82cd43315aa09fe33f5751cfb6947 /test/CXX/temp
parentd35e2e0c35432bd3a8c195fe62d53a1c3bbf37c0 (diff)
downloadclang-38d840486d2b4ecafd32af9ad48f594f5cdb6199.tar.gz
Test explicit specialization involving multiple template<> headers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83914 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CXX/temp')
-rw-r--r--test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp b/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
new file mode 100644
index 0000000000..883cb71d56
--- /dev/null
+++ b/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
@@ -0,0 +1,12 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+template<class T1>
+class A {
+ template<class T2> class B {
+ void mf();
+ };
+};
+
+template<> template<> class A<int>::B<double>;
+template<> template<> void A<char>::B<char>::mf();
+
+template<> void A<char>::B<int>::mf(); // expected-error{{requires 'template<>'}}