Home | History | Annotate | Download | only in temp.expl.spec

Lines Matching defs:N0

21 namespace N0 {
39 template<> void N0::f0(int) { } // okay
42 template<> void N0::f0(long) { } // expected-error{{does not enclose namespace}}
45 template<> void N0::f0(double);
47 // expected-warning@-2 {{first declaration of function template specialization of 'f0' outside namespace 'N0' is a C++11 extension}}
50 template<> void N0::f0(double) { }
59 namespace N0 {
101 void N0::X0<T>::ft1(T t, U u) {
105 template<typename T> T N0::X0<T>::member;
107 template<> struct N0::X0<void> { };
109 // expected-warning@-2 {{first declaration of class template specialization of 'X0' outside namespace 'N0' is a C++11 extension}}
111 N0::X0<void> test_X0;
114 template<> struct N0::X0<const void> { }; // expected-error{{not in a namespace enclosing 'N0'}}
117 namespace N0 {
121 template<> struct N0::X0<volatile void> {
126 template<> void N0::X0<void*>::f1(void *) { }
128 // expected-warning@-2 {{first declaration of member function specialization of 'f1' outside namespace 'N0' is a C++11 extension}}
131 void test_spec(N0::X0<void*> xvp, void *vp) {
135 namespace N0 {
141 void test_x0_cvvoid(N0::X0<const volatile void*> x0, const volatile void *cvp) {
146 namespace N0 {
159 return N0::X0<NonDefaultConstructible>::member;
162 template<> int N0::X0<int>::member;
164 // expected-warning@-2 {{first declaration of static data member specialization of 'member' outside namespace 'N0' is a C++11 extension}}
167 template<> float N0::X0<float>::member = 3.14f;
170 template<> double N0::X0<double>::member = 3.14; // expected-error{{does not enclose namespace}}
174 namespace N0 {
193 struct N0::X0<long>::Inner { };
195 // expected-warning@-2 {{first declaration of member class specialization of 'Inner' outside namespace 'N0' is a C++11 extension}}
199 struct N0::X0<float>::Inner { };
203 struct N0::X0<unsigned>::Inner { }; // expected-error{{member class specialization}}
206 struct N0::X0<unsigned long>::Inner { }; // expected-error{{member class specialization}}
209 N0::X0<void*>::Inner inner0;
210 N0::X0<int>::Inner inner1;
211 N0::X0<long>::Inner inner2;
212 N0::X0<float>::Inner inner3;
213 N0::X0<double>::Inner inner4; // expected-error{{incomplete}}
216 namespace N0 {
232 struct N0::X0<int>::InnerTemplate<long> { }; // okay
235 struct N0::X0<int>::InnerTemplate<float> { };
237 // expected-warning@-2 {{first declaration of class template specialization of 'InnerTemplate' outside namespace 'N0' is a C++11 extension}}
242 struct N0::X0<int>::InnerTemplate<double> { }; // expected-error{{enclosing}}
245 N0::X0<void*>::InnerTemplate<int> inner_template0;
246 N0::X0<int>::InnerTemplate<int> inner_template1; // expected-error{{incomplete}}
247 N0::X0<int>::InnerTemplate<long> inner_template2;
248 N0::X0<int>::InnerTemplate<unsigned long> inner_template3; // expected-note{{instantiation}}
251 namespace N0 {
267 void N0::X0<void*>::ft1(void *, unsigned) { } // okay
270 void N0::X0<void*>::ft1(void *, float) { }
272 // expected-warning@-2 {{first declaration of function template specialization of 'ft1' outside namespace 'N0' is a C++11 extension}}
277 void N0::X0<void*>::ft1(void *, long) { } // expected-error{{does not enclose namespace}}
281 void test_func_template(N0::X0<void *> xvp, void *vp, const void *cvp,