Lines Matching defs:X0

11   template<short s> struct X0 { };
12 X0<17> x0i;
13 X0<'a'> x0c;
141 template<int (*)(int)> struct X0 { }; // expected-note 3{{template parameter is declared here}}
146 void x0a(X0<f>);
147 void x0b(X0<&f>);
148 void x0c(X0<g>); // expected-error{{non-type template argument of type 'int (float)' cannot be converted to a value of type 'int (*)(int)'}}
149 void x0d(X0<&g>); // expected-error{{non-type template argument of type 'int (*)(float)' cannot be converted to a value of type 'int (*)(int)'}}
150 void x0e(X0<funcptr>); // expected-error{{must have its address taken}}
158 template<int (&)(int)> struct X0 { }; // expected-note 4{{template parameter is declared here}}
163 void x0a(X0<f>);
164 void x0b(X0<&f>); // expected-error{{address taken in non-type template argument for template parameter of reference type 'int (&)(int)'}}
165 void x0c(X0<g>); // expected-error{{non-type template parameter of reference type 'int (&)(int)' cannot bind to template argument of type 'int (float)'}}
166 void x0d(X0<&g>); // expected-error{{address taken in non-type template argument for template parameter of reference type 'int (&)(int)'}}
167 void x0e(X0<funcptr>); // expected-error{{non-type template parameter of reference type 'int (&)(int)' cannot bind to template argument of type 'int (*)(int)'}}
184 template<int (Y::*)(int)> struct X0 {}; // expected-note{{template parameter is declared here}}
185 X0<&Y::f> x0a;
186 X0<&Y::g> x0b;
187 X0<&Y::h> x0c; // expected-error-re{{non-type template argument of type 'float (pointer_to_member_function::Y::*)(float){{( __attribute__\(\(thiscall\)\))?}}' cannot be converted to a value of type 'int (pointer_to_member_function::Y::*)(int){{( __attribute__\(\(thiscall\)\))?}}'}}
198 template<int Y::*> struct X0 {}; // expected-note{{template parameter is declared here}}
199 X0<&Y::y> x0a;
200 X0<&Y::x> x0b; // expected-error{{non-type template argument of type 'int pointer_to_member_data::X::*' cannot be converted to a value of type 'int pointer_to_member_data::Y::*'}}