1 // I, Howard Hinnant, hereby place this code in the public domain.
3 // Test overload resolution among reference types
5 // { dg-do compile { target c++11 } }
8 template <bool> struct sa;
9 template <> struct sa<true> {};
11 struct one {char x[1];};
12 struct two {char x[2];};
13 struct three {char x[3];};
14 struct four {char x[4];};
15 struct five {char x[5];};
16 struct six {char x[6];};
17 struct seven {char x[7];};
18 struct eight {char x[8];};
23 A(const volatile A&&);
28 volatile A v_source();
29 const volatile A cv_source();
33 one sink_3_123( A&); // { dg-message "one sink_3_123|no known conversion" }
34 two sink_3_123(const A&); // { dg-message "two sink_3_123|no known conversion" }
35 three sink_3_123(volatile A&); // { dg-message "three sink_3_123|no known conversion" }
40 const A ca = a; // { dg-error "deleted" }
42 const volatile A cva = a; // { dg-error "deleted" }
43 sink_3_123(cva); // { dg-error "no match" }
44 // { dg-message "candidate" "candidate note" { target *-*-* } 43 }
45 sink_3_123(v_source()); // { dg-error "no match" }
46 // { dg-message "candidate" "candidate note" { target *-*-* } 45 }
47 sink_3_123(cv_source()); // { dg-error "no match" }
48 // { dg-message "candidate" "candidate note" { target *-*-* } 47 }
52 one sink_3_125( A&); // { dg-message "one sink_3_125|no known conversion" }
53 two sink_3_125(const A&); // { dg-message "two sink_3_125|no known conversion" }
54 five sink_3_125( A&&); // { dg-message "five sink_3_125|no known conversion" }
56 one sink_3_124( A&); // { dg-message "one sink_3_124|no known conversion" }
57 two sink_3_124(const A&); // { dg-message "two sink_3_124|no known conversion" }
58 four sink_3_124(const volatile A&); // { dg-message "four sink_3_124|no known conversion" }
63 const A ca = a; // { dg-error "deleted" }
65 const volatile A cva = a; // { dg-error "deleted" }
66 sink_3_124(v_source()); // { dg-error "no match" }
67 // { dg-message "candidate" "candidate note" { target *-*-* } 66 }
68 sink_3_124(cv_source()); // { dg-error "no match" }
69 // { dg-message "candidate" "candidate note" { target *-*-* } 68 }
76 const A ca = a; // { dg-error "deleted" }
78 const volatile A cva = a; // { dg-error "deleted" }
79 sink_3_125(va); // { dg-error "no match" }
80 // { dg-message "candidate" "candidate note" { target *-*-* } 79 }
81 sink_3_125(cva); // { dg-error "no match" }
82 // { dg-message "candidate" "candidate note" { target *-*-* } 81 }
83 sink_3_125(v_source()); // { dg-error "no match" }
84 // { dg-message "candidate" "candidate note" { target *-*-* } 83 }
85 sink_3_125(cv_source()); // { dg-error "no match" }
86 // { dg-message "candidate" "candidate note" { target *-*-* } 85 }
90 one sink_3_126( A&); // { dg-message "one sink_3_126|no known conversion" }
91 two sink_3_126(const A&); // { dg-message "two sink_3_126|no known conversion" }
92 six sink_3_126(const A&&); // { dg-message "six sink_3_126|no known conversion" }
97 const A ca = a; // { dg-error "deleted" }
99 const volatile A cva = a; // { dg-error "deleted" }
100 sink_3_126(va); // { dg-error "no match" }
101 // { dg-message "candidate" "candidate note" { target *-*-* } 100 }
102 sink_3_126(cva); // { dg-error "no match" }
103 // { dg-message "candidate" "candidate note" { target *-*-* } 102 }
104 sink_3_126(v_source()); // { dg-error "no match" }
105 // { dg-message "candidate" "candidate note" { target *-*-* } 104 }
106 sink_3_126(cv_source()); // { dg-error "no match" }
107 // { dg-message "candidate" "candidate note" { target *-*-* } 106 }
111 one sink_3_127( A&); // { dg-message "one sink_3_127|no known conversion" }
112 two sink_3_127(const A&); // { dg-message "two sink_3_127|no known conversion" }
113 seven sink_3_127(volatile A&&); // { dg-message "seven sink_3_127|no known conversion" }
118 const A ca = a; // { dg-error "deleted" }
120 const volatile A cva = a; // { dg-error "deleted" }
121 sink_3_127(va); // { dg-error "lvalue" }
122 sink_3_127(cva); // { dg-error "no match" }
123 // { dg-message "candidate" "candidate note" { target *-*-* } 122 }
124 sink_3_127(cv_source()); // { dg-error "no match" }
125 // { dg-message "candidate" "candidate note" { target *-*-* } 124 }
130 two sink_3_128(const A&);
131 eight sink_3_128(const volatile A&&); // { dg-message "" }
136 const A ca = a; // { dg-error "deleted" }
138 const volatile A cva = a; // { dg-error "deleted" }
140 sink_3_128(va); // { dg-error "lvalue" }
141 sink_3_128(cva); // { dg-error "lvalue" }
144 one sink_3_134( A&); // { dg-message "one sink_3_134|no known conversion" }
145 three sink_3_134(volatile A&); // { dg-message "three sink_3_134|no known conversion" }
146 four sink_3_134(const volatile A&); // { dg-message "four sink_3_134|no known conversion" }
151 const A ca = a; // { dg-error "deleted" }
153 const volatile A cva = a; // { dg-error "deleted" }
154 sink_3_134(source()); // { dg-error "no match" }
155 // { dg-message "candidate" "candidate note" { target *-*-* } 154 }
156 sink_3_134(c_source()); // { dg-error "no match" }
157 // { dg-message "candidate" "candidate note" { target *-*-* } 156 }
158 sink_3_134(v_source()); // { dg-error "no match" }
159 // { dg-message "candidate" "candidate note" { target *-*-* } 158 }
160 sink_3_134(cv_source()); // { dg-error "no match" }
161 // { dg-message "candidate" "candidate note" { target *-*-* } 160 }
165 one sink_3_135( A&); // { dg-message "one sink_3_135|no known conversion" }
166 three sink_3_135(volatile A&); // { dg-message "three sink_3_135|no known conversion" }
167 five sink_3_135( A&&); // { dg-message "five sink_3_135|no known conversion" }
172 const A ca = a; // { dg-error "deleted" }
174 const volatile A cva = a; // { dg-error "deleted" }
175 sink_3_135(ca); // { dg-error "no match" }
176 // { dg-message "candidate" "candidate note" { target *-*-* } 175 }
177 sink_3_135(cva); // { dg-error "no match" }
178 // { dg-message "candidate" "candidate note" { target *-*-* } 177 }
179 sink_3_135(c_source()); // { dg-error "no match" }
180 // { dg-message "candidate" "candidate note" { target *-*-* } 179 }
181 sink_3_135(v_source()); // { dg-error "no match" }
182 // { dg-message "candidate" "candidate note" { target *-*-* } 181 }
183 sink_3_135(cv_source()); // { dg-error "no match" }
184 // { dg-message "candidate" "candidate note" { target *-*-* } 183 }
188 one sink_3_136( A&); // { dg-message "one sink_3_136|no known conversion" }
189 three sink_3_136(volatile A&); // { dg-message "note" }
190 six sink_3_136(const A&&); // { dg-message "" }
195 const A ca = a; // { dg-error "deleted" }
197 const volatile A cva = a; // { dg-error "deleted" }
198 sink_3_136(ca); // { dg-error "lvalue" }
199 sink_3_136(cva); // { dg-error "no match" }
200 // { dg-message "candidate" "candidate note" { target *-*-* } 199 }
201 sink_3_136(v_source()); // { dg-error "no match" }
202 // { dg-message "candidate" "candidate note" { target *-*-* } 201 }
203 sink_3_136(cv_source()); // { dg-error "no match" }
204 // { dg-message "candidate" "candidate note" { target *-*-* } 203 }
208 one sink_3_137( A&); // { dg-message "one sink_3_137|no known conversion" }
209 three sink_3_137(volatile A&); // { dg-message "note" }
210 seven sink_3_137(volatile A&&); // { dg-message "note" }
215 const A ca = a; // { dg-error "deleted" }
217 const volatile A cva = a; // { dg-error "deleted" }
218 sink_3_137(ca); // { dg-error "no match" }
219 // { dg-message "candidate" "candidate note" { target *-*-* } 218 }
220 sink_3_137(cva); // { dg-error "no match" }
221 // { dg-message "candidate" "candidate note" { target *-*-* } 220 }
222 sink_3_137(c_source()); // { dg-error "no match" }
223 // { dg-message "candidate" "candidate note" { target *-*-* } 222 }
224 sink_3_137(cv_source()); // { dg-error "no match" }
225 // { dg-message "candidate" "candidate note" { target *-*-* } 224 }
230 three sink_3_138(volatile A&);
231 eight sink_3_138(const volatile A&&); // { dg-message "" }
236 const A ca = a; // { dg-error "deleted" }
238 const volatile A cva = a; // { dg-error "deleted" }
239 sink_3_138(ca); // { dg-error "lvalue" }
240 sink_3_138(cva); // { dg-error "lvalue" }
244 one sink_3_145( A&); // { dg-message "one sink_3_145|no known conversion" }
245 four sink_3_145(const volatile A&); // { dg-message "note" }
246 five sink_3_145( A&&); // { dg-message "note" }
251 const A ca = a; // { dg-error "deleted" }
253 const volatile A cva = a; // { dg-error "deleted" }
254 sink_3_145(c_source()); // { dg-error "no match" }
255 // { dg-message "candidate" "candidate note" { target *-*-* } 254 }
256 sink_3_145(v_source()); // { dg-error "no match" }
257 // { dg-message "candidate" "candidate note" { target *-*-* } 256 }
258 sink_3_145(cv_source()); // { dg-error "no match" }
259 // { dg-message "candidate" "candidate note" { target *-*-* } 258 }
263 one sink_3_146( A&); // { dg-message "one sink_3_146|no known conversion" }
264 four sink_3_146(const volatile A&); // { dg-message "note" }
265 six sink_3_146(const A&&); // { dg-message "note" }
270 const A ca = a; // { dg-error "deleted" }
272 const volatile A cva = a; // { dg-error "deleted" }
273 sink_3_146(v_source()); // { dg-error "no match" }
274 // { dg-message "candidate" "candidate note" { target *-*-* } 273 }
275 sink_3_146(cv_source()); // { dg-error "no match" }
276 // { dg-message "candidate" "candidate note" { target *-*-* } 275 }
280 one sink_3_147( A&); // { dg-message "one sink_3_147|no known conversion" }
281 four sink_3_147(const volatile A&); // { dg-message "note" }
282 seven sink_3_147(volatile A&&); // { dg-message "note" }
287 const A ca = a; // { dg-error "deleted" }
289 const volatile A cva = a; // { dg-error "deleted" }
290 sink_3_147(c_source()); // { dg-error "no match" }
291 // { dg-message "candidate" "candidate note" { target *-*-* } 290 }
292 sink_3_147(cv_source()); // { dg-error "no match" }
293 // { dg-message "candidate" "candidate note" { target *-*-* } 292 }
297 one sink_3_156( A&); // { dg-message "one sink_3_156|no known conversion" }
298 five sink_3_156( A&&); // { dg-message "note" }
299 six sink_3_156(const A&&); // { dg-message "" }
304 const A ca = a; // { dg-error "deleted" }
306 const volatile A cva = a; // { dg-error "deleted" }
307 sink_3_156(ca); // { dg-error "lvalue" }
308 sink_3_156(va); // { dg-error "no match" }
309 // { dg-message "candidate" "candidate note" { target *-*-* } 308 }
310 sink_3_156(cva); // { dg-error "no match" }
311 // { dg-message "candidate" "candidate note" { target *-*-* } 310 }
312 sink_3_156(v_source()); // { dg-error "no match" }
313 // { dg-message "candidate" "candidate note" { target *-*-* } 312 }
314 sink_3_156(cv_source()); // { dg-error "no match" }
315 // { dg-message "candidate" "candidate note" { target *-*-* } 314 }
319 one sink_3_157( A&); // { dg-message "one sink_3_157|no known conversion" }
320 five sink_3_157( A&&); // { dg-message "note" }
321 seven sink_3_157(volatile A&&); // { dg-message "" }
326 const A ca = a; // { dg-error "deleted" }
328 const volatile A cva = a; // { dg-error "deleted" }
329 sink_3_157(ca); // { dg-error "no match" }
330 // { dg-message "candidate" "candidate note" { target *-*-* } 329 }
331 sink_3_157(va); // { dg-error "lvalue" }
332 sink_3_157(cva); // { dg-error "no match" }
333 // { dg-message "candidate" "candidate note" { target *-*-* } 332 }
334 sink_3_157(c_source()); // { dg-error "no match" }
335 // { dg-message "candidate" "candidate note" { target *-*-* } 334 }
336 sink_3_157(cv_source()); // { dg-error "no match" }
337 // { dg-message "candidate" "candidate note" { target *-*-* } 336 }
342 five sink_3_158( A&&);
343 eight sink_3_158(const volatile A&&); // { dg-message "" }
348 const A ca = a; // { dg-error "deleted" }
350 const volatile A cva = a; // { dg-error "deleted" }
351 sink_3_158(ca); // { dg-error "lvalue" }
352 sink_3_158(va); // { dg-error "lvalue" }
353 sink_3_158(cva); // { dg-error "lvalue" }
357 one sink_3_167( A&); // { dg-message "one sink_3_167|no known conversion" }
358 six sink_3_167(const A&&); // { dg-message "" }
359 seven sink_3_167(volatile A&&); // { dg-message "" }
364 const A ca = a; // { dg-error "deleted" }
366 const volatile A cva = a; // { dg-error "deleted" }
367 sink_3_167(ca); // { dg-error "lvalue" }
368 sink_3_167(va); // { dg-error "lvalue" }
369 sink_3_167(cva); // { dg-error "no match" }
370 // { dg-message "candidate" "candidate note" { target *-*-* } 369 }
371 sink_3_167(source()); // { dg-error "ambiguous" }
372 // { dg-message "candidate" "candidate note" { target *-*-* } 371 }
373 sink_3_167(cv_source()); // { dg-error "no match" }
374 // { dg-message "candidate" "candidate note" { target *-*-* } 373 }
379 six sink_3_168(const A&&); // { dg-message "" }
380 eight sink_3_168(const volatile A&&); // { dg-message "" }
385 const A ca = a; // { dg-error "deleted" }
387 const volatile A cva = a; // { dg-error "deleted" }
388 sink_3_168(ca); // { dg-error "lvalue" }
389 sink_3_168(va); // { dg-error "lvalue" }
390 sink_3_168(cva); // { dg-error "lvalue" }
395 seven sink_3_178(volatile A&&); // { dg-message "" }
396 eight sink_3_178(const volatile A&&); // { dg-message "" }
401 const A ca = a; // { dg-error "deleted" }
403 const volatile A cva = a; // { dg-error "deleted" }
404 sink_3_178(ca); // { dg-error "lvalue" }
405 sink_3_178(va); // { dg-error "lvalue" }
406 sink_3_178(cva); // { dg-error "lvalue" }
410 two sink_3_234(const A&); // { dg-message "two sink_3_234|no known conversion" }
411 three sink_3_234(volatile A&); // { dg-message "note" }
412 four sink_3_234(const volatile A&); // { dg-message "note" }
417 const A ca = a; // { dg-error "deleted" }
419 const volatile A cva = a; // { dg-error "deleted" }
420 sink_3_234(a); // { dg-error "ambiguous" }
421 // { dg-message "candidate" "candidate note" { target *-*-* } 420 }
422 sink_3_234(v_source()); // { dg-error "no match" }
423 // { dg-message "candidate" "candidate note" { target *-*-* } 422 }
424 sink_3_234(cv_source()); // { dg-error "no match" }
425 // { dg-message "candidate" "candidate note" { target *-*-* } 424 }
429 two sink_3_235(const A&); // { dg-message "two sink_3_235|no known conversion" }
430 three sink_3_235(volatile A&); // { dg-message "note" }
431 five sink_3_235( A&&); // { dg-message "note" }
436 const A ca = a; // { dg-error "deleted" }
438 const volatile A cva = a; // { dg-error "deleted" }
439 sink_3_235(a); // { dg-error "ambiguous" }
440 // { dg-message "candidate" "candidate note" { target *-*-* } 439 }
441 sink_3_235(cva); // { dg-error "no match" }
442 // { dg-message "candidate" "candidate note" { target *-*-* } 441 }
443 sink_3_235(v_source()); // { dg-error "no match" }
444 // { dg-message "candidate" "candidate note" { target *-*-* } 443 }
445 sink_3_235(cv_source()); // { dg-error "no match" }
446 // { dg-message "candidate" "candidate note" { target *-*-* } 445 }
450 two sink_3_236(const A&); // { dg-message "two sink_3_236|no known conversion" }
451 three sink_3_236(volatile A&); // { dg-message "note" }
452 six sink_3_236(const A&&); // { dg-message "note" }
457 const A ca = a; // { dg-error "deleted" }
459 const volatile A cva = a; // { dg-error "deleted" }
460 sink_3_236(a); // { dg-error "ambiguous" }
461 // { dg-message "candidate" "candidate note" { target *-*-* } 460 }
462 sink_3_236(cva); // { dg-error "no match" }
463 // { dg-message "candidate" "candidate note" { target *-*-* } 462 }
464 sink_3_236(v_source()); // { dg-error "no match" }
465 // { dg-message "candidate" "candidate note" { target *-*-* } 464 }
466 sink_3_236(cv_source()); // { dg-error "no match" }
467 // { dg-message "candidate" "candidate note" { target *-*-* } 466 }
471 two sink_3_237(const A&); // { dg-message "two sink_3_237|no known conversion" }
472 three sink_3_237(volatile A&); // { dg-message "note" }
473 seven sink_3_237(volatile A&&); // { dg-message "note" }
478 const A ca = a; // { dg-error "deleted" }
480 const volatile A cva = a; // { dg-error "deleted" }
481 sink_3_237(a); // { dg-error "ambiguous" }
482 // { dg-message "candidate" "candidate note" { target *-*-* } 481 }
483 sink_3_237(cva); // { dg-error "no match" }
484 // { dg-message "candidate" "candidate note" { target *-*-* } 483 }
485 sink_3_237(cv_source()); // { dg-error "no match" }
486 // { dg-message "candidate" "candidate note" { target *-*-* } 485 }
490 two sink_3_238(const A&); // { dg-message "two sink_3_238|no known conversion" }
491 three sink_3_238(volatile A&); // { dg-message "three sink_3_238|no known conversion" }
492 eight sink_3_238(const volatile A&&); // { dg-message "eight sink_3_238|no known conversion" }
497 const A ca = a; // { dg-error "deleted" }
499 const volatile A cva = a; // { dg-error "deleted" }
500 sink_3_238(a); // { dg-error "ambiguous" }
501 // { dg-message "candidate" "candidate note" { target *-*-* } 500 }
502 sink_3_238(cva); // { dg-error "lvalue" }
506 two sink_3_245(const A&); // { dg-message "two sink_3_245|no known conversion" }
507 four sink_3_245(const volatile A&); // { dg-message "four sink_3_245|no known conversion" }
508 five sink_3_245( A&&); // { dg-message "five sink_3_245|no known conversion" }
513 const A ca = a; // { dg-error "deleted" }
515 const volatile A cva = a; // { dg-error "deleted" }
516 sink_3_245(v_source()); // { dg-error "no match" }
517 // { dg-message "candidate" "candidate note" { target *-*-* } 516 }
518 sink_3_245(cv_source()); // { dg-error "no match" }
519 // { dg-message "candidate" "candidate note" { target *-*-* } 518 }
523 two sink_3_246(const A&); // { dg-message "two sink_3_246|no known conversion" }
524 four sink_3_246(const volatile A&); // { dg-message "four sink_3_246|no known conversion" }
525 six sink_3_246(const A&&); // { dg-message "six sink_3_246|no known conversion" }
530 const A ca = a; // { dg-error "deleted" }
532 const volatile A cva = a; // { dg-error "deleted" }
533 sink_3_246(v_source()); // { dg-error "no match" }
534 // { dg-message "candidate" "candidate note" { target *-*-* } 533 }
535 sink_3_246(cv_source()); // { dg-error "no match" }
536 // { dg-message "candidate" "candidate note" { target *-*-* } 535 }
540 two sink_3_247(const A&); // { dg-message "two sink_3_247|no known conversion" }
541 four sink_3_247(const volatile A&); // { dg-message "four sink_3_247|no known conversion" }
542 seven sink_3_247(volatile A&&); // { dg-message "seven sink_3_247|no known conversion" }
547 const A ca = a; // { dg-error "deleted" }
549 const volatile A cva = a; // { dg-error "deleted" }
550 sink_3_247(cv_source()); // { dg-error "no match" }
551 // { dg-message "candidate" "candidate note" { target *-*-* } 550 }
555 two sink_3_256(const A&); // { dg-message "two sink_3_256|no known conversion" }
556 five sink_3_256( A&&); // { dg-message "five sink_3_256|no known conversion" }
557 six sink_3_256(const A&&); // { dg-message "six sink_3_256|no known conversion" }
562 const A ca = a; // { dg-error "deleted" }
564 const volatile A cva = a; // { dg-error "deleted" }
565 sink_3_256(va); // { dg-error "no match" }
566 // { dg-message "candidate" "candidate note" { target *-*-* } 565 }
567 sink_3_256(cva); // { dg-error "no match" }
568 // { dg-message "candidate" "candidate note" { target *-*-* } 567 }
569 sink_3_256(v_source()); // { dg-error "no match" }
570 // { dg-message "candidate" "candidate note" { target *-*-* } 569 }
571 sink_3_256(cv_source()); // { dg-error "no match" }
572 // { dg-message "candidate" "candidate note" { target *-*-* } 571 }
576 two sink_3_257(const A&); // { dg-message "two sink_3_257|no known conversion" }
577 five sink_3_257( A&&); // { dg-message "five sink_3_257|no known conversion" }
578 seven sink_3_257(volatile A&&); // { dg-message "seven sink_3_257|no known conversion" }
583 const A ca = a; // { dg-error "deleted" }
585 const volatile A cva = a; // { dg-error "deleted" }
586 sink_3_257(va); // { dg-error "lvalue" }
587 sink_3_257(cva); // { dg-error "no match" }
588 // { dg-message "candidate" "candidate note" { target *-*-* } 587 }
589 sink_3_257(cv_source()); // { dg-error "no match" }
590 // { dg-message "candidate" "candidate note" { target *-*-* } 589 }
594 two sink_3_258(const A&);
595 five sink_3_258( A&&);
596 eight sink_3_258(const volatile A&&); // { dg-message "" }
601 const A ca = a; // { dg-error "deleted" }
603 const volatile A cva = a; // { dg-error "deleted" }
604 sink_3_258(va); // { dg-error "lvalue" }
605 sink_3_258(cva); // { dg-error "lvalue" }
609 two sink_3_267(const A&); // { dg-message "two sink_3_267|no known conversion" }
610 six sink_3_267(const A&&); // { dg-message "six sink_3_267|no known conversion" }
611 seven sink_3_267(volatile A&&); // { dg-message "seven sink_3_267|no known conversion" }
616 const A ca = a; // { dg-error "deleted" }
618 const volatile A cva = a; // { dg-error "deleted" }
619 sink_3_267(va); // { dg-error "lvalue" }
620 sink_3_267(cva); // { dg-error "no match" }
621 // { dg-message "candidate" "candidate note" { target *-*-* } 620 }
622 sink_3_267(source()); // { dg-error "ambiguous" }
623 // { dg-message "candidate" "candidate note" { target *-*-* } 622 }
624 sink_3_267(cv_source()); // { dg-error "no match" }
625 // { dg-message "candidate" "candidate note" { target *-*-* } 624 }
629 two sink_3_268(const A&);
630 six sink_3_268(const A&&);
631 eight sink_3_268(const volatile A&&); // { dg-message "" }
636 const A ca = a; // { dg-error "deleted" }
638 const volatile A cva = a; // { dg-error "deleted" }
639 sink_3_268(va); // { dg-error "lvalue" }
640 sink_3_268(cva); // { dg-error "lvalue" }
644 two sink_3_278(const A&);
645 seven sink_3_278(volatile A&&); // { dg-message "" }
646 eight sink_3_278(const volatile A&&); // { dg-message "" }
651 const A ca = a; // { dg-error "deleted" }
653 const volatile A cva = a; // { dg-error "deleted" }
654 sink_3_278(va); // { dg-error "lvalue" }
655 sink_3_278(cva); // { dg-error "lvalue" }
659 three sink_3_345(volatile A&); // { dg-message "three sink_3_345|no known conversion" }
660 four sink_3_345(const volatile A&); // { dg-message "four sink_3_345|no known conversion" }
661 five sink_3_345( A&&); // { dg-message "five sink_3_345|no known conversion" }
666 const A ca = a; // { dg-error "deleted" }
668 const volatile A cva = a; // { dg-error "deleted" }
669 sink_3_345(c_source()); // { dg-error "no match" }
670 // { dg-message "candidate" "candidate note" { target *-*-* } 669 }
671 sink_3_345(v_source()); // { dg-error "no match" }
672 // { dg-message "candidate" "candidate note" { target *-*-* } 671 }
673 sink_3_345(cv_source()); // { dg-error "no match" }
674 // { dg-message "candidate" "candidate note" { target *-*-* } 673 }
678 three sink_3_346(volatile A&); // { dg-message "three sink_3_346|no known conversion" }
679 four sink_3_346(const volatile A&); // { dg-message "four sink_3_346|no known conversion" }
680 six sink_3_346(const A&&); // { dg-message "six sink_3_346|no known conversion" }
685 const A ca = a; // { dg-error "deleted" }
687 const volatile A cva = a; // { dg-error "deleted" }
688 sink_3_346(v_source()); // { dg-error "no match" }
689 // { dg-message "candidate" "candidate note" { target *-*-* } 688 }
690 sink_3_346(cv_source()); // { dg-error "no match" }
691 // { dg-message "candidate" "candidate note" { target *-*-* } 690 }
695 three sink_3_347(volatile A&); // { dg-message "three sink_3_347|no known conversion" }
696 four sink_3_347(const volatile A&); // { dg-message "four sink_3_347|no known conversion" }
697 seven sink_3_347(volatile A&&); // { dg-message "seven sink_3_347|no known conversion" }
702 const A ca = a; // { dg-error "deleted" }
704 const volatile A cva = a; // { dg-error "deleted" }
705 sink_3_347(c_source()); // { dg-error "no match" }
706 // { dg-message "candidate" "candidate note" { target *-*-* } 705 }
707 sink_3_347(cv_source()); // { dg-error "no match" }
708 // { dg-message "candidate" "candidate note" { target *-*-* } 707 }
712 three sink_3_356(volatile A&); // { dg-message "three sink_3_356|no known conversion" }
713 five sink_3_356( A&&); // { dg-message "five sink_3_356|no known conversion" }
714 six sink_3_356(const A&&); // { dg-message "six sink_3_356|no known conversion" }
719 const A ca = a; // { dg-error "deleted" }
721 const volatile A cva = a; // { dg-error "deleted" }
722 sink_3_356(ca); // { dg-error "lvalue" }
723 sink_3_356(cva); // { dg-error "no match" }
724 // { dg-message "candidate" "candidate note" { target *-*-* } 723 }
725 sink_3_356(v_source()); // { dg-error "no match" }
726 // { dg-message "candidate" "candidate note" { target *-*-* } 725 }
727 sink_3_356(cv_source()); // { dg-error "no match" }
728 // { dg-message "candidate" "candidate note" { target *-*-* } 727 }
732 three sink_3_357(volatile A&); // { dg-message "three sink_3_357|no known conversion" }
733 five sink_3_357( A&&); // { dg-message "five sink_3_357|no known conversion" }
734 seven sink_3_357(volatile A&&); // { dg-message "seven sink_3_357|no known conversion" }
739 const A ca = a; // { dg-error "deleted" }
741 const volatile A cva = a; // { dg-error "deleted" }
742 sink_3_357(ca); // { dg-error "no match" }
743 // { dg-message "candidate" "candidate note" { target *-*-* } 742 }
744 sink_3_357(cva); // { dg-error "no match" }
745 // { dg-message "candidate" "candidate note" { target *-*-* } 744 }
746 sink_3_357(c_source()); // { dg-error "no match" }
747 // { dg-message "candidate" "candidate note" { target *-*-* } 746 }
748 sink_3_357(cv_source()); // { dg-error "no match" }
749 // { dg-message "candidate" "candidate note" { target *-*-* } 748 }
753 three sink_3_358(volatile A&);
754 five sink_3_358( A&&);
755 eight sink_3_358(const volatile A&&); // { dg-message "" }
760 const A ca = a; // { dg-error "deleted" }
762 const volatile A cva = a; // { dg-error "deleted" }
763 sink_3_358(ca); // { dg-error "lvalue" }
764 sink_3_358(cva); // { dg-error "lvalue" }
768 three sink_3_367(volatile A&); // { dg-message "three sink_3_367|no known conversion" }
769 six sink_3_367(const A&&); // { dg-message "six sink_3_367|no known conversion" }
770 seven sink_3_367(volatile A&&); // { dg-message "seven sink_3_367|no known conversion" }
775 const A ca = a; // { dg-error "deleted" }
777 const volatile A cva = a; // { dg-error "deleted" }
778 sink_3_367(ca); // { dg-error "lvalue" }
779 sink_3_367(cva); // { dg-error "no match" }
780 // { dg-message "candidate" "candidate note" { target *-*-* } 779 }
781 sink_3_367(source()); // { dg-error "ambiguous" }
782 // { dg-message "candidate" "candidate note" { target *-*-* } 781 }
783 sink_3_367(cv_source()); // { dg-error "no match" }
784 // { dg-message "candidate" "candidate note" { target *-*-* } 783 }
788 three sink_3_368(volatile A&);
789 six sink_3_368(const A&&); // { dg-message "" }
790 eight sink_3_368(const volatile A&&); // { dg-message "" }
795 const A ca = a; // { dg-error "deleted" }
797 const volatile A cva = a; // { dg-error "deleted" }
798 sink_3_368(ca); // { dg-error "lvalue" }
799 sink_3_368(cva); // { dg-error "lvalue" }
803 three sink_3_378(volatile A&);
804 seven sink_3_378(volatile A&&);
805 eight sink_3_378(const volatile A&&); // { dg-message "" }
810 const A ca = a; // { dg-error "deleted" }
812 const volatile A cva = a; // { dg-error "deleted" }
813 sink_3_378(ca); // { dg-error "lvalue" }
814 sink_3_378(cva); // { dg-error "lvalue" }
818 four sink_3_456(const volatile A&); // { dg-message "note" }
819 five sink_3_456( A&&); // { dg-message "note" }
820 six sink_3_456(const A&&); // { dg-message "note" }
825 const A ca = a; // { dg-error "deleted" }
827 const volatile A cva = a; // { dg-error "deleted" }
828 sink_3_456(v_source()); // { dg-error "no match" }
829 // { dg-message "candidate" "candidate note" { target *-*-* } 828 }
830 sink_3_456(cv_source()); // { dg-error "no match" }
831 // { dg-message "candidate" "candidate note" { target *-*-* } 830 }
835 four sink_3_457(const volatile A&); // { dg-message "note" }
836 five sink_3_457( A&&); // { dg-message "note" }
837 seven sink_3_457(volatile A&&); // { dg-message "note" }
842 const A ca = a; // { dg-error "deleted" }
844 const volatile A cva = a; // { dg-error "deleted" }
845 sink_3_457(c_source()); // { dg-error "no match" }
846 // { dg-message "candidate" "candidate note" { target *-*-* } 845 }
847 sink_3_457(cv_source()); // { dg-error "no match" }
848 // { dg-message "candidate" "candidate note" { target *-*-* } 847 }
852 four sink_3_467(const volatile A&); // { dg-message "note" }
853 six sink_3_467(const A&&); // { dg-message "note" }
854 seven sink_3_467(volatile A&&); // { dg-message "note" }
859 const A ca = a; // { dg-error "deleted" }
861 const volatile A cva = a; // { dg-error "deleted" }
862 sink_3_467(source()); // { dg-error "ambiguous" }
863 // { dg-message "candidate" "candidate note" { target *-*-* } 862 }
864 sink_3_467(cv_source()); // { dg-error "no match" }
865 // { dg-message "candidate" "candidate note" { target *-*-* } 864 }
869 five sink_3_567( A&&); // { dg-message "five sink_3_567|no known conversion" }
870 six sink_3_567(const A&&); // { dg-message "six sink_3_567|no known conversion" }
871 seven sink_3_567(volatile A&&); // { dg-message "seven sink_3_567|no known conversion" }
876 const A ca = a; // { dg-error "deleted" }
878 const volatile A cva = a; // { dg-error "deleted" }
879 sink_3_567(a); // { dg-error "lvalue" }
880 sink_3_567(ca); // { dg-error "lvalue" }
881 sink_3_567(va); // { dg-error "lvalue" }
882 sink_3_567(cva); // { dg-error "no match" }
883 // { dg-message "candidate" "candidate note" { target *-*-* } 882 }
884 sink_3_567(cv_source()); // { dg-error "no match" }
885 // { dg-message "candidate" "candidate note" { target *-*-* } 884 }
889 five sink_3_568( A&&); // { dg-message "" }
890 six sink_3_568(const A&&); // { dg-message "" }
891 eight sink_3_568(const volatile A&&); // { dg-message "" }
896 const A ca = a; // { dg-error "deleted" }
898 const volatile A cva = a; // { dg-error "deleted" }
899 sink_3_568(a); // { dg-error "lvalue" }
900 sink_3_568(ca); // { dg-error "lvalue" }
901 sink_3_568(va); // { dg-error "lvalue" }
902 sink_3_568(cva); // { dg-error "lvalue" }
906 five sink_3_578( A&&); // { dg-message "" }
907 seven sink_3_578(volatile A&&); // { dg-message "" }
908 eight sink_3_578(const volatile A&&); // { dg-message "" }
913 const A ca = a; // { dg-error "deleted" }
915 const volatile A cva = a; // { dg-error "deleted" }
916 sink_3_578(a); // { dg-error "lvalue" }
917 sink_3_578(ca); // { dg-error "lvalue" }
918 sink_3_578(va); // { dg-error "lvalue" }
919 sink_3_578(cva); // { dg-error "lvalue" }
923 six sink_3_678(const A&&); // { dg-message "six sink_3_678|no known conversion" }
924 seven sink_3_678(volatile A&&); // { dg-message "seven sink_3_678|no known conversion" }
925 eight sink_3_678(const volatile A&&); // { dg-message "eight sink_3_678|no known conversion" }
930 const A ca = a; // { dg-error "deleted" }
932 const volatile A cva = a; // { dg-error "deleted" }
933 sink_3_678(a); // { dg-error "no match" }
934 // { dg-message "candidate" "candidate note" { target *-*-* } 933 }
935 sink_3_678(ca); // { dg-error "lvalue" }
936 sink_3_678(va); // { dg-error "lvalue" }
937 sink_3_678(cva); // { dg-error "lvalue" }
938 sink_3_678(source()); // { dg-error "ambiguous" }
939 // { dg-message "candidate" "candidate note" { target *-*-* } 938 }
945 return test3_123() + test3_125() + test3_126() + test3_127() +
946 test3_135() + test3_136() + test3_137() + test3_156() +
947 test3_157() + test3_167() + test3_234() + test3_235() +
948 test3_236() + test3_237() + test3_238() + test3_256() +
949 test3_257() + test3_267() + test3_356() + test3_357() +
950 test3_367() + test3_467() + test3_567() + test3_678();