Changeset View
Changeset View
Standalone View
Standalone View
test/SemaTemplate/class-template-spec.cpp
Show First 20 Lines • Show All 229 Lines • ▼ Show 20 Lines | namespace DefaultArgVsPartialSpec { | ||||
> struct X {}; | > struct X {}; | ||||
template<typename T> struct X<T> {}; | template<typename T> struct X<T> {}; | ||||
template<typename T, | template<typename T, | ||||
T N = 0 // expected-note {{template parameter is declared here}} | T N = 0 // expected-note {{template parameter is declared here}} | ||||
> struct S; | > struct S; | ||||
template<typename T> struct S<T> {}; // expected-error {{non-type template argument specializes a template parameter with dependent type 'T'}} | template<typename T> struct S<T> {}; // expected-error {{non-type template argument specializes a template parameter with dependent type 'T'}} | ||||
} | } | ||||
template<typename T> struct C {}; | |||||
extern "C" { // expected-note 2{{extern "C" language linkage specification begins here}} | |||||
template<typename T> struct C<T*> {}; // expected-error{{templates must have C++ linkage}} | |||||
template<> struct C<int> {}; // expected-error{{templates must have C++ linkage}} | |||||
} |