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