1 // { dg-do link { target c++11 } }
3 // Generated by overload.py
8 { return static_cast<_Tp&&>(__t); }
13 S const cl = l; // const lvalue (cl)
14 S r() { return l; } // rvalue (r)
15 S const cr() { return l; } // const rvalue (cr)
16 S & nl = l; // named lvalue reference (nl)
17 S const & ncl = l; // named const lvalue reference (ncl)
18 S && nr = movel(l); // named rvalue reference (nr)
19 S const && ncr = movel(l); // named const rvalue reference (ncr)
20 S & ul() { return l; } // unnamed lvalue reference (ul)
21 S const & ucl() { return l; } // unnamed const lvalue reference (ucl)
22 S && ur() { return movel(l); } // unnamed rvalue reference (ur)
23 S const && ucr() { return movel(l); } // unnamed const rvalue reference (ucr)
25 void l0001(const S&&) {} // { dg-message "" }
27 void l0010(S&&) {} // { dg-message "" }
29 void l0011(S&&) {} // { dg-message "" }
30 void l0011(const S&&);
32 void l0100(const S&) {}
34 void l0101(const S&) {}
35 void l0101(const S&&);
37 void l0110(const S&) {}
40 void l0111(const S&) {}
42 void l0111(const S&&);
47 void l1001(const S&&);
54 void l1011(const S&&);
61 void l1101(const S&&);
70 void l1111(const S&&);
72 void cl0001(const S&&) {} // { dg-message "" }
75 void cl0011(const S&&) {} // { dg-message "" }
77 void cl0100(const S&) {}
79 void cl0101(const S&) {}
80 void cl0101(const S&&);
82 void cl0110(const S&) {}
85 void cl0111(const S&) {}
87 void cl0111(const S&&);
90 void cl1001(const S&&) {} // { dg-message "" }
94 void cl1011(const S&&) {} // { dg-message "" }
97 void cl1100(const S&) {}
100 void cl1101(const S&) {}
101 void cl1101(const S&&);
104 void cl1110(const S&) {}
108 void cl1111(const S&) {}
110 void cl1111(const S&&);
112 void r0001(const S&&) {}
117 void r0011(const S&&);
119 void r0100(const S&) {}
121 void r0101(const S&);
122 void r0101(const S&&) {}
124 void r0110(const S&);
127 void r0111(const S&);
129 void r0111(const S&&);
132 void r1001(const S&&) {}
139 void r1011(const S&&);
142 void r1100(const S&) {}
145 void r1101(const S&);
146 void r1101(const S&&) {}
149 void r1110(const S&);
153 void r1111(const S&);
155 void r1111(const S&&);
157 void cr0001(const S&&) {}
160 void cr0011(const S&&) {}
162 void cr0100(const S&) {}
164 void cr0101(const S&);
165 void cr0101(const S&&) {}
167 void cr0110(const S&) {}
170 void cr0111(const S&);
172 void cr0111(const S&&) {}
175 void cr1001(const S&&) {}
179 void cr1011(const S&&) {}
182 void cr1100(const S&) {}
185 void cr1101(const S&);
186 void cr1101(const S&&) {}
189 void cr1110(const S&) {}
193 void cr1111(const S&);
195 void cr1111(const S&&) {}
197 void nl0001(const S&&) {} // { dg-message "" }
199 void nl0010(S&&) {} // { dg-message "" }
201 void nl0011(S&&) {} // { dg-message "" }
202 void nl0011(const S&&);
204 void nl0100(const S&) {}
206 void nl0101(const S&) {}
207 void nl0101(const S&&);
209 void nl0110(const S&) {}
212 void nl0111(const S&) {}
214 void nl0111(const S&&);
219 void nl1001(const S&&);
226 void nl1011(const S&&);
229 void nl1100(const S&);
232 void nl1101(const S&);
233 void nl1101(const S&&);
236 void nl1110(const S&);
240 void nl1111(const S&);
242 void nl1111(const S&&);
244 void ncl0001(const S&&) {} // { dg-message "" }
247 void ncl0011(const S&&) {} // { dg-message "" }
249 void ncl0100(const S&) {}
251 void ncl0101(const S&) {}
252 void ncl0101(const S&&);
254 void ncl0110(const S&) {}
257 void ncl0111(const S&) {}
259 void ncl0111(const S&&);
262 void ncl1001(const S&&) {} // { dg-message "" }
266 void ncl1011(const S&&) {} // { dg-message "" }
269 void ncl1100(const S&) {}
272 void ncl1101(const S&) {}
273 void ncl1101(const S&&);
276 void ncl1110(const S&) {}
280 void ncl1111(const S&) {}
282 void ncl1111(const S&&);
284 void nr0001(const S&&) {} // { dg-message "" }
286 void nr0010(S&&) {} // { dg-message "" }
288 void nr0011(S&&) {} // { dg-message "" }
289 void nr0011(const S&&);
291 void nr0100(const S&) {}
293 void nr0101(const S&) {}
294 void nr0101(const S&&);
296 void nr0110(const S&) {}
299 void nr0111(const S&) {}
301 void nr0111(const S&&);
306 void nr1001(const S&&);
313 void nr1011(const S&&);
316 void nr1100(const S&);
319 void nr1101(const S&);
320 void nr1101(const S&&);
323 void nr1110(const S&);
327 void nr1111(const S&);
329 void nr1111(const S&&);
331 void ncr0001(const S&&) {} // { dg-message "" }
334 void ncr0011(const S&&) {} // { dg-message "" }
336 void ncr0100(const S&) {}
338 void ncr0101(const S&) {}
339 void ncr0101(const S&&);
341 void ncr0110(const S&) {}
344 void ncr0111(const S&) {}
346 void ncr0111(const S&&);
349 void ncr1001(const S&&) {} // { dg-message "" }
353 void ncr1011(const S&&) {} // { dg-message "" }
356 void ncr1100(const S&) {}
359 void ncr1101(const S&) {}
360 void ncr1101(const S&&);
363 void ncr1110(const S&) {}
367 void ncr1111(const S&) {}
369 void ncr1111(const S&&);
371 void ul0001(const S&&) {} // { dg-message "" }
373 void ul0010(S&&) {} // { dg-message "" }
375 void ul0011(S&&) {} // { dg-message "" }
376 void ul0011(const S&&);
378 void ul0100(const S&) {}
380 void ul0101(const S&) {}
381 void ul0101(const S&&);
383 void ul0110(const S&) {}
386 void ul0111(const S&) {}
388 void ul0111(const S&&);
393 void ul1001(const S&&);
400 void ul1011(const S&&);
403 void ul1100(const S&);
406 void ul1101(const S&);
407 void ul1101(const S&&);
410 void ul1110(const S&);
414 void ul1111(const S&);
416 void ul1111(const S&&);
418 void ucl0001(const S&&) {} // { dg-message "" }
421 void ucl0011(const S&&) {} // { dg-message "" }
423 void ucl0100(const S&) {}
425 void ucl0101(const S&) {}
426 void ucl0101(const S&&);
428 void ucl0110(const S&) {}
431 void ucl0111(const S&) {}
433 void ucl0111(const S&&);
436 void ucl1001(const S&&) {} // { dg-message "" }
440 void ucl1011(const S&&) {} // { dg-message "" }
443 void ucl1100(const S&) {}
446 void ucl1101(const S&) {}
447 void ucl1101(const S&&);
450 void ucl1110(const S&) {}
454 void ucl1111(const S&) {}
456 void ucl1111(const S&&);
458 void ur0001(const S&&) {}
463 void ur0011(const S&&);
465 void ur0100(const S&) {}
467 void ur0101(const S&);
468 void ur0101(const S&&) {}
470 void ur0110(const S&);
473 void ur0111(const S&);
475 void ur0111(const S&&);
478 void ur1001(const S&&) {}
485 void ur1011(const S&&);
488 void ur1100(const S&) {}
491 void ur1101(const S&);
492 void ur1101(const S&&) {}
495 void ur1110(const S&);
499 void ur1111(const S&);
501 void ur1111(const S&&);
503 void ucr0001(const S&&) {}
506 void ucr0011(const S&&) {}
508 void ucr0100(const S&) {}
510 void ucr0101(const S&);
511 void ucr0101(const S&&) {}
513 void ucr0110(const S&) {}
516 void ucr0111(const S&);
518 void ucr0111(const S&&) {}
521 void ucr1001(const S&&) {}
525 void ucr1011(const S&&) {}
528 void ucr1100(const S&) {}
531 void ucr1101(const S&);
532 void ucr1101(const S&&) {}
535 void ucr1110(const S&) {}
539 void ucr1111(const S&);
541 void ucr1111(const S&&) {}
546 l0001(l); // { dg-error "" }
547 l0010(l); // { dg-error "" }
548 l0011(l); // { dg-error "" }
561 cl0001(cl); // { dg-error "lvalue" }
562 cl0011(cl); // { dg-error "lvalue" }
567 cl1001(cl); // { dg-error "" }
568 cl1011(cl); // { dg-error "" }
599 nl0001(nl); // { dg-error "lvalue" }
600 nl0010(nl); // { dg-error "lvalue" }
601 nl0011(nl); // { dg-error "lvalue" }
614 ncl0001(ncl); // { dg-error "lvalue" }
615 ncl0011(ncl); // { dg-error "lvalue" }
620 ncl1001(ncl); // { dg-error "" }
621 ncl1011(ncl); // { dg-error "" }
626 nr0001(nr); // { dg-error "lvalue" }
627 nr0010(nr); // { dg-error "lvalue" }
628 nr0011(nr); // { dg-error "lvalue" }
641 ncr0001(ncr); // { dg-error "lvalue" }
642 ncr0011(ncr); // { dg-error "lvalue" }
647 ncr1001(ncr); // { dg-error "" }
648 ncr1011(ncr); // { dg-error "" }
653 ul0001(ul()); // { dg-error "lvalue" }
654 ul0010(ul()); // { dg-error "lvalue" }
655 ul0011(ul()); // { dg-error "lvalue" }
668 ucl0001(ucl()); // { dg-error "lvalue" }
669 ucl0011(ucl()); // { dg-error "lvalue" }
674 ucl1001(ucl()); // { dg-error "" }
675 ucl1011(ucl()); // { dg-error "" }