[cfe-commits] r77463 - /cfe/trunk/test/SemaTemplate/temp_class_spec.cpp

Douglas Gregor dgregor at apple.com
Wed Jul 29 09:13:25 PDT 2009


Author: dgregor
Date: Wed Jul 29 11:13:25 2009
New Revision: 77463

URL: http://llvm.org/viewvc/llvm-project?rev=77463&view=rev
Log:
Test redefinition of class template partial specializations

Modified:
    cfe/trunk/test/SemaTemplate/temp_class_spec.cpp

Modified: cfe/trunk/test/SemaTemplate/temp_class_spec.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/temp_class_spec.cpp?rev=77463&r1=77462&r2=77463&view=diff

==============================================================================
--- cfe/trunk/test/SemaTemplate/temp_class_spec.cpp (original)
+++ cfe/trunk/test/SemaTemplate/temp_class_spec.cpp Wed Jul 29 11:13:25 2009
@@ -47,7 +47,7 @@
 int is_const2[is_const<const volatile int>::value? 1 : -1];
 int is_const3[is_const<const int [3]>::value? 1 : -1];
 int is_const4[is_const<const volatile int[3]>::value? 1 : -1];
-int is_const4[is_const<volatile int[3]>::value? -1 : 1];
+int is_const5[is_const<volatile int[3]>::value? -1 : 1];
 
 template<typename T>
 struct is_volatile {
@@ -324,3 +324,10 @@
 template<class T1, class T2, int I> class A<T1*, T2, I> { }; //#3 
 template<class T> class A<int, T*, 5> { }; //#4 
 template<class T1, class T2, int I> class A<T1, T2*, I> { }; //#5 
+
+// Redeclaration of class template partial specializations
+template<typename T, T N, typename U> class A0;
+
+template<typename T, T N> class A0<T, N, int> { }; // expected-note{{here}}
+template<typename T, T N> class A0<T, N, int>;
+template<typename T, T N> class A0<T, N, int> { }; // expected-error{{redef}}





More information about the cfe-commits mailing list