]> gcc.gnu.org Git - gcc.git/blame - gcc/testsuite/g++.dg/cpp0x/rv3n.C
PR c++/92590 - wrong handling of inherited default ctor.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / rv3n.C
CommitLineData
8af2fec4
RY
1// I, Howard Hinnant, hereby place this code in the public domain.
2
e7f1930f 3// Test overload resolution among reference types
8af2fec4 4
4b2e63de 5// { dg-do compile { target c++11 } }
c74459ea 6// { dg-options "-fno-ipa-icf" }
8af2fec4
RY
7
8template <bool> struct sa;
9template <> struct sa<true> {};
10
11struct one {char x[1];};
12struct two {char x[2];};
13struct three {char x[3];};
14struct four {char x[4];};
15struct five {char x[5];};
16struct six {char x[6];};
17struct seven {char x[7];};
18struct eight {char x[8];};
19
20struct A
21{
22 A();
a2e70335 23 A(const volatile A&&);
8af2fec4
RY
24};
25
26 A source();
27const A c_source();
8a902edb
MP
28 volatile A v_source(); // { dg-warning "deprecated" "" { target c++2a } }
29const volatile A cv_source(); // { dg-warning "deprecated" "" { target c++2a } }
8af2fec4
RY
30
31// 3 at a time
32
89606913
JM
33one sink_3_123( A&);
34two sink_3_123(const A&);
35three sink_3_123(volatile A&);
8af2fec4
RY
36
37int test3_123()
38{
39 A a;
a2e70335 40 const A ca = a; // { dg-error "deleted" }
8af2fec4 41 volatile A va;
a2e70335 42 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
43 sink_3_123(cva); // { dg-error "" }
44 sink_3_123(v_source()); // { dg-error "" }
45 sink_3_123(cv_source()); // { dg-error "" }
8af2fec4
RY
46 return 0;
47}
48
89606913
JM
49one sink_3_125( A&);
50two sink_3_125(const A&);
51five sink_3_125( A&&);
8af2fec4 52
89606913
JM
53one sink_3_124( A&);
54two sink_3_124(const A&);
55four sink_3_124(const volatile A&);
8af2fec4
RY
56
57int test3_124()
58{
59 A a;
a2e70335 60 const A ca = a; // { dg-error "deleted" }
8af2fec4 61 volatile A va;
a2e70335 62 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
63 sink_3_124(v_source()); // { dg-error "" }
64 sink_3_124(cv_source()); // { dg-error "" }
8af2fec4
RY
65 return 0;
66}
67
68int test3_125()
69{
70 A a;
a2e70335 71 const A ca = a; // { dg-error "deleted" }
8af2fec4 72 volatile A va;
a2e70335 73 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
74 sink_3_125(va); // { dg-error "" }
75 sink_3_125(cva); // { dg-error "" }
76 sink_3_125(v_source()); // { dg-error "" }
77 sink_3_125(cv_source()); // { dg-error "" }
8af2fec4
RY
78 return 0;
79}
80
89606913
JM
81one sink_3_126( A&);
82two sink_3_126(const A&);
83six sink_3_126(const A&&);
8af2fec4
RY
84
85int test3_126()
86{
87 A a;
a2e70335 88 const A ca = a; // { dg-error "deleted" }
8af2fec4 89 volatile A va;
a2e70335 90 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
91 sink_3_126(va); // { dg-error "" }
92 sink_3_126(cva); // { dg-error "" }
93 sink_3_126(v_source()); // { dg-error "" }
94 sink_3_126(cv_source()); // { dg-error "" }
8af2fec4
RY
95 return 0;
96}
97
89606913
JM
98one sink_3_127( A&);
99two sink_3_127(const A&);
100seven sink_3_127(volatile A&&);
8af2fec4
RY
101
102int test3_127()
103{
104 A a;
a2e70335 105 const A ca = a; // { dg-error "deleted" }
8af2fec4 106 volatile A va;
a2e70335 107 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
108 sink_3_127(va); // { dg-error "" }
109 sink_3_127(cva); // { dg-error "" }
110 sink_3_127(cv_source()); // { dg-error "" }
8af2fec4
RY
111 return 0;
112}
113
e7f1930f
JM
114one sink_3_128( A&);
115two sink_3_128(const A&);
89606913 116eight sink_3_128(const volatile A&&);
e7f1930f
JM
117
118int test3_128()
119{
120 A a;
a2e70335 121 const A ca = a; // { dg-error "deleted" }
e7f1930f 122 volatile A va;
a2e70335 123 const volatile A cva = a; // { dg-error "deleted" }
e7f1930f 124
89606913
JM
125 sink_3_128(va); // { dg-error "" }
126 sink_3_128(cva); // { dg-error "" }
19520957 127 return 0;
e7f1930f
JM
128}
129
89606913
JM
130one sink_3_134( A&);
131three sink_3_134(volatile A&);
132four sink_3_134(const volatile A&);
8af2fec4
RY
133
134int test3_134()
135{
136 A a;
a2e70335 137 const A ca = a; // { dg-error "deleted" }
8af2fec4 138 volatile A va;
a2e70335 139 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
140 sink_3_134(source()); // { dg-error "" }
141 sink_3_134(c_source()); // { dg-error "" }
142 sink_3_134(v_source()); // { dg-error "" }
143 sink_3_134(cv_source()); // { dg-error "" }
8af2fec4
RY
144 return 0;
145}
146
89606913
JM
147one sink_3_135( A&);
148three sink_3_135(volatile A&);
149five sink_3_135( A&&);
8af2fec4
RY
150
151int test3_135()
152{
153 A a;
a2e70335 154 const A ca = a; // { dg-error "deleted" }
8af2fec4 155 volatile A va;
a2e70335 156 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
157 sink_3_135(ca); // { dg-error "" }
158 sink_3_135(cva); // { dg-error "" }
159 sink_3_135(c_source()); // { dg-error "" }
160 sink_3_135(v_source()); // { dg-error "" }
161 sink_3_135(cv_source()); // { dg-error "" }
8af2fec4
RY
162 return 0;
163}
164
89606913
JM
165one sink_3_136( A&);
166three sink_3_136(volatile A&);
167six sink_3_136(const A&&);
8af2fec4
RY
168
169int test3_136()
170{
171 A a;
a2e70335 172 const A ca = a; // { dg-error "deleted" }
8af2fec4 173 volatile A va;
a2e70335 174 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
175 sink_3_136(ca); // { dg-error "" }
176 sink_3_136(cva); // { dg-error "" }
177 sink_3_136(v_source()); // { dg-error "" }
178 sink_3_136(cv_source()); // { dg-error "" }
8af2fec4
RY
179 return 0;
180}
181
89606913
JM
182one sink_3_137( A&);
183three sink_3_137(volatile A&);
184seven sink_3_137(volatile A&&);
8af2fec4
RY
185
186int test3_137()
187{
188 A a;
a2e70335 189 const A ca = a; // { dg-error "deleted" }
8af2fec4 190 volatile A va;
a2e70335 191 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
192 sink_3_137(ca); // { dg-error "" }
193 sink_3_137(cva); // { dg-error "" }
194 sink_3_137(c_source()); // { dg-error "" }
195 sink_3_137(cv_source()); // { dg-error "" }
8af2fec4
RY
196 return 0;
197}
198
e7f1930f
JM
199one sink_3_138( A&);
200three sink_3_138(volatile A&);
89606913 201eight sink_3_138(const volatile A&&);
e7f1930f
JM
202
203int test3_138()
204{
205 A a;
a2e70335 206 const A ca = a; // { dg-error "deleted" }
e7f1930f 207 volatile A va;
a2e70335 208 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
209 sink_3_138(ca); // { dg-error "" }
210 sink_3_138(cva); // { dg-error "" }
e7f1930f
JM
211 return 0;
212}
213
89606913
JM
214one sink_3_145( A&);
215four sink_3_145(const volatile A&);
216five sink_3_145( A&&);
8af2fec4
RY
217
218int test3_145()
219{
220 A a;
a2e70335 221 const A ca = a; // { dg-error "deleted" }
8af2fec4 222 volatile A va;
a2e70335 223 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
224 sink_3_145(c_source()); // { dg-error "" }
225 sink_3_145(v_source()); // { dg-error "" }
226 sink_3_145(cv_source()); // { dg-error "" }
8af2fec4
RY
227 return 0;
228}
229
89606913
JM
230one sink_3_146( A&);
231four sink_3_146(const volatile A&);
232six sink_3_146(const A&&);
8af2fec4
RY
233
234int test3_146()
235{
236 A a;
a2e70335 237 const A ca = a; // { dg-error "deleted" }
8af2fec4 238 volatile A va;
a2e70335 239 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
240 sink_3_146(v_source()); // { dg-error "" }
241 sink_3_146(cv_source()); // { dg-error "" }
8af2fec4
RY
242 return 0;
243}
244
89606913
JM
245one sink_3_147( A&);
246four sink_3_147(const volatile A&);
247seven sink_3_147(volatile A&&);
8af2fec4
RY
248
249int test3_147()
250{
251 A a;
a2e70335 252 const A ca = a; // { dg-error "deleted" }
8af2fec4 253 volatile A va;
a2e70335 254 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
255 sink_3_147(c_source()); // { dg-error "" }
256 sink_3_147(cv_source()); // { dg-error "" }
8af2fec4
RY
257 return 0;
258}
259
89606913
JM
260one sink_3_156( A&);
261five sink_3_156( A&&);
262six sink_3_156(const A&&);
8af2fec4
RY
263
264int test3_156()
265{
266 A a;
a2e70335 267 const A ca = a; // { dg-error "deleted" }
8af2fec4 268 volatile A va;
a2e70335 269 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
270 sink_3_156(ca); // { dg-error "" }
271 sink_3_156(va); // { dg-error "" }
272 sink_3_156(cva); // { dg-error "" }
273 sink_3_156(v_source()); // { dg-error "" }
274 sink_3_156(cv_source()); // { dg-error "" }
8af2fec4
RY
275 return 0;
276}
277
89606913
JM
278one sink_3_157( A&);
279five sink_3_157( A&&);
280seven sink_3_157(volatile A&&);
8af2fec4
RY
281
282int test3_157()
283{
284 A a;
a2e70335 285 const A ca = a; // { dg-error "deleted" }
8af2fec4 286 volatile A va;
a2e70335 287 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
288 sink_3_157(ca); // { dg-error "" }
289 sink_3_157(va); // { dg-error "" }
290 sink_3_157(cva); // { dg-error "" }
291 sink_3_157(c_source()); // { dg-error "" }
292 sink_3_157(cv_source()); // { dg-error "" }
8af2fec4
RY
293 return 0;
294}
295
e7f1930f
JM
296one sink_3_158( A&);
297five sink_3_158( A&&);
89606913 298eight sink_3_158(const volatile A&&);
e7f1930f
JM
299
300int test3_158()
301{
302 A a;
a2e70335 303 const A ca = a; // { dg-error "deleted" }
e7f1930f 304 volatile A va;
a2e70335 305 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
306 sink_3_158(ca); // { dg-error "" }
307 sink_3_158(va); // { dg-error "" }
308 sink_3_158(cva); // { dg-error "" }
e7f1930f
JM
309 return 0;
310}
311
89606913
JM
312one sink_3_167( A&);
313six sink_3_167(const A&&);
314seven sink_3_167(volatile A&&);
8af2fec4
RY
315
316int test3_167()
317{
318 A a;
a2e70335 319 const A ca = a; // { dg-error "deleted" }
8af2fec4 320 volatile A va;
a2e70335 321 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
322 sink_3_167(ca); // { dg-error "" }
323 sink_3_167(va); // { dg-error "" }
324 sink_3_167(cva); // { dg-error "" }
325 sink_3_167(source()); // { dg-error "" }
326 sink_3_167(cv_source()); // { dg-error "" }
8af2fec4
RY
327 return 0;
328}
329
e7f1930f 330one sink_3_168( A&);
89606913
JM
331six sink_3_168(const A&&);
332eight sink_3_168(const volatile A&&);
e7f1930f
JM
333
334int test3_168()
335{
336 A a;
a2e70335 337 const A ca = a; // { dg-error "deleted" }
e7f1930f 338 volatile A va;
a2e70335 339 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
340 sink_3_168(ca); // { dg-error "" }
341 sink_3_168(va); // { dg-error "" }
342 sink_3_168(cva); // { dg-error "" }
e7f1930f
JM
343 return 0;
344}
345
346one sink_3_178( A&);
89606913
JM
347seven sink_3_178(volatile A&&);
348eight sink_3_178(const volatile A&&);
e7f1930f
JM
349
350int test3_178()
351{
352 A a;
a2e70335 353 const A ca = a; // { dg-error "deleted" }
e7f1930f 354 volatile A va;
a2e70335 355 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
356 sink_3_178(ca); // { dg-error "" }
357 sink_3_178(va); // { dg-error "" }
358 sink_3_178(cva); // { dg-error "" }
e7f1930f
JM
359 return 0;
360}
361
89606913
JM
362two sink_3_234(const A&);
363three sink_3_234(volatile A&);
364four sink_3_234(const volatile A&);
8af2fec4
RY
365
366int test3_234()
367{
368 A a;
a2e70335 369 const A ca = a; // { dg-error "deleted" }
8af2fec4 370 volatile A va;
a2e70335 371 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
372 sink_3_234(a); // { dg-error "" }
373 sink_3_234(v_source()); // { dg-error "" }
374 sink_3_234(cv_source()); // { dg-error "" }
8af2fec4
RY
375 return 0;
376}
377
89606913
JM
378two sink_3_235(const A&);
379three sink_3_235(volatile A&);
380five sink_3_235( A&&);
8af2fec4
RY
381
382int test3_235()
383{
384 A a;
a2e70335 385 const A ca = a; // { dg-error "deleted" }
8af2fec4 386 volatile A va;
a2e70335 387 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
388 sink_3_235(a); // { dg-error "" }
389 sink_3_235(cva); // { dg-error "" }
390 sink_3_235(v_source()); // { dg-error "" }
391 sink_3_235(cv_source()); // { dg-error "" }
8af2fec4
RY
392 return 0;
393}
394
89606913
JM
395two sink_3_236(const A&);
396three sink_3_236(volatile A&);
397six sink_3_236(const A&&);
8af2fec4
RY
398
399int test3_236()
400{
401 A a;
a2e70335 402 const A ca = a; // { dg-error "deleted" }
8af2fec4 403 volatile A va;
a2e70335 404 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
405 sink_3_236(a); // { dg-error "" }
406 sink_3_236(cva); // { dg-error "" }
407 sink_3_236(v_source()); // { dg-error "" }
408 sink_3_236(cv_source()); // { dg-error "" }
8af2fec4
RY
409 return 0;
410}
411
89606913
JM
412two sink_3_237(const A&);
413three sink_3_237(volatile A&);
414seven sink_3_237(volatile A&&);
8af2fec4
RY
415
416int test3_237()
417{
418 A a;
a2e70335 419 const A ca = a; // { dg-error "deleted" }
8af2fec4 420 volatile A va;
a2e70335 421 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
422 sink_3_237(a); // { dg-error "" }
423 sink_3_237(cva); // { dg-error "" }
424 sink_3_237(cv_source()); // { dg-error "" }
8af2fec4
RY
425 return 0;
426}
427
89606913
JM
428two sink_3_238(const A&);
429three sink_3_238(volatile A&);
430eight sink_3_238(const volatile A&&);
8af2fec4
RY
431
432int test3_238()
433{
434 A a;
a2e70335 435 const A ca = a; // { dg-error "deleted" }
8af2fec4 436 volatile A va;
a2e70335 437 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
438 sink_3_238(a); // { dg-error "" }
439 sink_3_238(cva); // { dg-error "" }
8af2fec4
RY
440 return 0;
441}
442
89606913
JM
443two sink_3_245(const A&);
444four sink_3_245(const volatile A&);
445five sink_3_245( A&&);
8af2fec4
RY
446
447int test3_245()
448{
449 A a;
a2e70335 450 const A ca = a; // { dg-error "deleted" }
8af2fec4 451 volatile A va;
a2e70335 452 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
453 sink_3_245(v_source()); // { dg-error "" }
454 sink_3_245(cv_source()); // { dg-error "" }
8af2fec4
RY
455 return 0;
456}
457
89606913
JM
458two sink_3_246(const A&);
459four sink_3_246(const volatile A&);
460six sink_3_246(const A&&);
8af2fec4
RY
461
462int test3_246()
463{
464 A a;
a2e70335 465 const A ca = a; // { dg-error "deleted" }
8af2fec4 466 volatile A va;
a2e70335 467 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
468 sink_3_246(v_source()); // { dg-error "" }
469 sink_3_246(cv_source()); // { dg-error "" }
8af2fec4
RY
470 return 0;
471}
472
89606913
JM
473two sink_3_247(const A&);
474four sink_3_247(const volatile A&);
475seven sink_3_247(volatile A&&);
8af2fec4
RY
476
477int test3_247()
478{
479 A a;
a2e70335 480 const A ca = a; // { dg-error "deleted" }
8af2fec4 481 volatile A va;
a2e70335 482 const volatile A cva = a; // { dg-error "deleted" }
89606913 483 sink_3_247(cv_source()); // { dg-error "" }
8af2fec4
RY
484 return 0;
485}
486
89606913
JM
487two sink_3_256(const A&);
488five sink_3_256( A&&);
489six sink_3_256(const A&&);
8af2fec4
RY
490
491int test3_256()
492{
493 A a;
a2e70335 494 const A ca = a; // { dg-error "deleted" }
8af2fec4 495 volatile A va;
a2e70335 496 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
497 sink_3_256(va); // { dg-error "" }
498 sink_3_256(cva); // { dg-error "" }
499 sink_3_256(v_source()); // { dg-error "" }
500 sink_3_256(cv_source()); // { dg-error "" }
8af2fec4
RY
501 return 0;
502}
503
89606913
JM
504two sink_3_257(const A&);
505five sink_3_257( A&&);
506seven sink_3_257(volatile A&&);
8af2fec4
RY
507
508int test3_257()
509{
510 A a;
a2e70335 511 const A ca = a; // { dg-error "deleted" }
8af2fec4 512 volatile A va;
a2e70335 513 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
514 sink_3_257(va); // { dg-error "" }
515 sink_3_257(cva); // { dg-error "" }
516 sink_3_257(cv_source()); // { dg-error "" }
8af2fec4
RY
517 return 0;
518}
519
e7f1930f
JM
520two sink_3_258(const A&);
521five sink_3_258( A&&);
89606913 522eight sink_3_258(const volatile A&&);
e7f1930f
JM
523
524int test3_258()
525{
526 A a;
a2e70335 527 const A ca = a; // { dg-error "deleted" }
e7f1930f 528 volatile A va;
a2e70335 529 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
530 sink_3_258(va); // { dg-error "" }
531 sink_3_258(cva); // { dg-error "" }
e7f1930f
JM
532 return 0;
533}
534
89606913
JM
535two sink_3_267(const A&);
536six sink_3_267(const A&&);
537seven sink_3_267(volatile A&&);
8af2fec4
RY
538
539int test3_267()
540{
541 A a;
a2e70335 542 const A ca = a; // { dg-error "deleted" }
8af2fec4 543 volatile A va;
a2e70335 544 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
545 sink_3_267(va); // { dg-error "" }
546 sink_3_267(cva); // { dg-error "" }
547 sink_3_267(source()); // { dg-error "" }
548 sink_3_267(cv_source()); // { dg-error "" }
8af2fec4
RY
549 return 0;
550}
551
e7f1930f
JM
552two sink_3_268(const A&);
553six sink_3_268(const A&&);
89606913 554eight sink_3_268(const volatile A&&);
e7f1930f
JM
555
556int test3_268()
557{
558 A a;
a2e70335 559 const A ca = a; // { dg-error "deleted" }
e7f1930f 560 volatile A va;
a2e70335 561 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
562 sink_3_268(va); // { dg-error "" }
563 sink_3_268(cva); // { dg-error "" }
e7f1930f
JM
564 return 0;
565}
566
567two sink_3_278(const A&);
89606913
JM
568seven sink_3_278(volatile A&&);
569eight sink_3_278(const volatile A&&);
e7f1930f
JM
570
571int test3_278()
572{
573 A a;
a2e70335 574 const A ca = a; // { dg-error "deleted" }
e7f1930f 575 volatile A va;
a2e70335 576 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
577 sink_3_278(va); // { dg-error "" }
578 sink_3_278(cva); // { dg-error "" }
e7f1930f
JM
579 return 0;
580}
581
89606913
JM
582three sink_3_345(volatile A&);
583four sink_3_345(const volatile A&);
584five sink_3_345( A&&);
8af2fec4
RY
585
586int test3_345()
587{
588 A a;
a2e70335 589 const A ca = a; // { dg-error "deleted" }
8af2fec4 590 volatile A va;
a2e70335 591 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
592 sink_3_345(c_source()); // { dg-error "" }
593 sink_3_345(v_source()); // { dg-error "" }
594 sink_3_345(cv_source()); // { dg-error "" }
8af2fec4
RY
595 return 0;
596}
597
89606913
JM
598three sink_3_346(volatile A&);
599four sink_3_346(const volatile A&);
600six sink_3_346(const A&&);
8af2fec4
RY
601
602int test3_346()
603{
604 A a;
a2e70335 605 const A ca = a; // { dg-error "deleted" }
8af2fec4 606 volatile A va;
a2e70335 607 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
608 sink_3_346(v_source()); // { dg-error "" }
609 sink_3_346(cv_source()); // { dg-error "" }
8af2fec4
RY
610 return 0;
611}
612
89606913
JM
613three sink_3_347(volatile A&);
614four sink_3_347(const volatile A&);
615seven sink_3_347(volatile A&&);
8af2fec4
RY
616
617int test3_347()
618{
619 A a;
a2e70335 620 const A ca = a; // { dg-error "deleted" }
8af2fec4 621 volatile A va;
a2e70335 622 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
623 sink_3_347(c_source()); // { dg-error "" }
624 sink_3_347(cv_source()); // { dg-error "" }
8af2fec4
RY
625 return 0;
626}
627
89606913
JM
628three sink_3_356(volatile A&);
629five sink_3_356( A&&);
630six sink_3_356(const A&&);
8af2fec4
RY
631
632int test3_356()
633{
634 A a;
a2e70335 635 const A ca = a; // { dg-error "deleted" }
8af2fec4 636 volatile A va;
a2e70335 637 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
638 sink_3_356(ca); // { dg-error "" }
639 sink_3_356(cva); // { dg-error "" }
640 sink_3_356(v_source()); // { dg-error "" }
641 sink_3_356(cv_source()); // { dg-error "" }
8af2fec4
RY
642 return 0;
643}
644
89606913
JM
645three sink_3_357(volatile A&);
646five sink_3_357( A&&);
647seven sink_3_357(volatile A&&);
8af2fec4
RY
648
649int test3_357()
650{
651 A a;
a2e70335 652 const A ca = a; // { dg-error "deleted" }
8af2fec4 653 volatile A va;
a2e70335 654 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
655 sink_3_357(ca); // { dg-error "" }
656 sink_3_357(cva); // { dg-error "" }
657 sink_3_357(c_source()); // { dg-error "" }
658 sink_3_357(cv_source()); // { dg-error "" }
8af2fec4
RY
659 return 0;
660}
661
e7f1930f
JM
662three sink_3_358(volatile A&);
663five sink_3_358( A&&);
89606913 664eight sink_3_358(const volatile A&&);
e7f1930f
JM
665
666int test3_358()
667{
668 A a;
a2e70335 669 const A ca = a; // { dg-error "deleted" }
e7f1930f 670 volatile A va;
a2e70335 671 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
672 sink_3_358(ca); // { dg-error "" }
673 sink_3_358(cva); // { dg-error "" }
e7f1930f
JM
674 return 0;
675}
676
89606913
JM
677three sink_3_367(volatile A&);
678six sink_3_367(const A&&);
679seven sink_3_367(volatile A&&);
8af2fec4
RY
680
681int test3_367()
682{
683 A a;
a2e70335 684 const A ca = a; // { dg-error "deleted" }
8af2fec4 685 volatile A va;
a2e70335 686 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
687 sink_3_367(ca); // { dg-error "" }
688 sink_3_367(cva); // { dg-error "" }
689 sink_3_367(source()); // { dg-error "" }
690 sink_3_367(cv_source()); // { dg-error "" }
8af2fec4
RY
691 return 0;
692}
693
e7f1930f 694three sink_3_368(volatile A&);
89606913
JM
695six sink_3_368(const A&&);
696eight sink_3_368(const volatile A&&);
e7f1930f
JM
697
698int test3_368()
699{
700 A a;
a2e70335 701 const A ca = a; // { dg-error "deleted" }
e7f1930f 702 volatile A va;
a2e70335 703 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
704 sink_3_368(ca); // { dg-error "" }
705 sink_3_368(cva); // { dg-error "" }
e7f1930f
JM
706 return 0;
707}
708
709three sink_3_378(volatile A&);
710seven sink_3_378(volatile A&&);
89606913 711eight sink_3_378(const volatile A&&);
e7f1930f
JM
712
713int test3_378()
714{
715 A a;
a2e70335 716 const A ca = a; // { dg-error "deleted" }
e7f1930f 717 volatile A va;
a2e70335 718 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
719 sink_3_378(ca); // { dg-error "" }
720 sink_3_378(cva); // { dg-error "" }
e7f1930f
JM
721 return 0;
722}
723
89606913
JM
724four sink_3_456(const volatile A&);
725five sink_3_456( A&&);
726six sink_3_456(const A&&);
8af2fec4
RY
727
728int test3_456()
729{
730 A a;
a2e70335 731 const A ca = a; // { dg-error "deleted" }
8af2fec4 732 volatile A va;
a2e70335 733 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
734 sink_3_456(v_source()); // { dg-error "" }
735 sink_3_456(cv_source()); // { dg-error "" }
8af2fec4
RY
736 return 0;
737}
738
89606913
JM
739four sink_3_457(const volatile A&);
740five sink_3_457( A&&);
741seven sink_3_457(volatile A&&);
8af2fec4
RY
742
743int test3_457()
744{
745 A a;
a2e70335 746 const A ca = a; // { dg-error "deleted" }
8af2fec4 747 volatile A va;
a2e70335 748 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
749 sink_3_457(c_source()); // { dg-error "" }
750 sink_3_457(cv_source()); // { dg-error "" }
8af2fec4
RY
751 return 0;
752}
753
89606913
JM
754four sink_3_467(const volatile A&);
755six sink_3_467(const A&&);
756seven sink_3_467(volatile A&&);
8af2fec4
RY
757
758int test3_467()
759{
760 A a;
a2e70335 761 const A ca = a; // { dg-error "deleted" }
8af2fec4 762 volatile A va;
a2e70335 763 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
764 sink_3_467(source()); // { dg-error "" }
765 sink_3_467(cv_source()); // { dg-error "" }
8af2fec4
RY
766 return 0;
767}
768
89606913
JM
769five sink_3_567( A&&);
770six sink_3_567(const A&&);
771seven sink_3_567(volatile A&&);
8af2fec4
RY
772
773int test3_567()
774{
775 A a;
a2e70335 776 const A ca = a; // { dg-error "deleted" }
8af2fec4 777 volatile A va;
a2e70335 778 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
779 sink_3_567(a); // { dg-error "" }
780 sink_3_567(ca); // { dg-error "" }
781 sink_3_567(va); // { dg-error "" }
782 sink_3_567(cva); // { dg-error "" }
783 sink_3_567(cv_source()); // { dg-error "" }
8af2fec4
RY
784 return 0;
785}
786
89606913
JM
787five sink_3_568( A&&);
788six sink_3_568(const A&&);
789eight sink_3_568(const volatile A&&);
e7f1930f
JM
790
791int test3_568()
792{
793 A a;
a2e70335 794 const A ca = a; // { dg-error "deleted" }
e7f1930f 795 volatile A va;
a2e70335 796 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
797 sink_3_568(a); // { dg-error "" }
798 sink_3_568(ca); // { dg-error "" }
799 sink_3_568(va); // { dg-error "" }
800 sink_3_568(cva); // { dg-error "" }
e7f1930f
JM
801 return 0;
802}
803
89606913
JM
804five sink_3_578( A&&);
805seven sink_3_578(volatile A&&);
806eight sink_3_578(const volatile A&&);
e7f1930f
JM
807
808int test3_578()
809{
810 A a;
a2e70335 811 const A ca = a; // { dg-error "deleted" }
e7f1930f 812 volatile A va;
a2e70335 813 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
814 sink_3_578(a); // { dg-error "" }
815 sink_3_578(ca); // { dg-error "" }
816 sink_3_578(va); // { dg-error "" }
817 sink_3_578(cva); // { dg-error "" }
e7f1930f
JM
818 return 0;
819}
820
89606913
JM
821six sink_3_678(const A&&);
822seven sink_3_678(volatile A&&);
823eight sink_3_678(const volatile A&&);
8af2fec4
RY
824
825int test3_678()
826{
827 A a;
a2e70335 828 const A ca = a; // { dg-error "deleted" }
8af2fec4 829 volatile A va;
a2e70335 830 const volatile A cva = a; // { dg-error "deleted" }
89606913
JM
831 sink_3_678(a); // { dg-error "" }
832 sink_3_678(ca); // { dg-error "" }
833 sink_3_678(va); // { dg-error "" }
834 sink_3_678(cva); // { dg-error "" }
835 sink_3_678(source()); // { dg-error "" }
8af2fec4
RY
836 return 0;
837}
838
839int main()
840{
841 return test3_123() + test3_125() + test3_126() + test3_127() +
842 test3_135() + test3_136() + test3_137() + test3_156() +
843 test3_157() + test3_167() + test3_234() + test3_235() +
844 test3_236() + test3_237() + test3_238() + test3_256() +
845 test3_257() + test3_267() + test3_356() + test3_357() +
846 test3_367() + test3_467() + test3_567() + test3_678();
847}
This page took 8.194014 seconds and 5 git commands to generate.