OSDN Git Service

PR c++/36628
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / overload.C
1 // { dg-options "--std=c++0x" }
2 // { dg-do link }
3 // Generated by overload.py
4
5 struct S{};
6
7 S l;                             // lvalue (l)
8 S const cl = l;                  // const lvalue (cl)
9 S r() { return l; }              // rvalue (r)
10 S const cr() { return l; }       // const rvalue (cr)
11 S & nl = l;                      // named lvalue reference (nl)
12 S const & ncl = l;               // named const lvalue reference (ncl)
13 S && nr = l;                     // named rvalue reference (nr)
14 S const && ncr = l;              // named const rvalue reference (ncr)
15 S & ul() { return l; }           // unnamed lvalue reference (ul)
16 S const & ucl() { return l; }    // unnamed const lvalue reference (ucl)
17 S && ur() { return l; }          // unnamed rvalue reference (ur)
18 S const && ucr() { return l; }   // unnamed const rvalue reference (ucr)
19
20 void l0001(const S&&) {}
21
22 void l0010(S&&) {}
23
24 void l0011(S&&) {}
25 void l0011(const S&&);
26
27 void l0100(const S&) {}
28
29 void l0101(const S&) {}
30 void l0101(const S&&);
31
32 void l0110(const S&) {}
33 void l0110(S&&);
34
35 void l0111(const S&) {}
36 void l0111(S&&);
37 void l0111(const S&&);
38
39 void l1000(S&) {}
40
41 void l1001(S&) {}
42 void l1001(const S&&);
43
44 void l1010(S&) {}
45 void l1010(S&&);
46
47 void l1011(S&) {}
48 void l1011(S&&);
49 void l1011(const S&&);
50
51 void l1100(S&) {}
52 void l1100(const S&);
53
54 void l1101(S&) {}
55 void l1101(const S&);
56 void l1101(const S&&);
57
58 void l1110(S&) {}
59 void l1110(const S&);
60 void l1110(S&&);
61
62 void l1111(S&) {}
63 void l1111(const S&);
64 void l1111(S&&);
65 void l1111(const S&&);
66
67 void cl0001(const S&&) {}
68
69 void cl0011(S&&);
70 void cl0011(const S&&) {}
71
72 void cl0100(const S&) {}
73
74 void cl0101(const S&) {}
75 void cl0101(const S&&);
76
77 void cl0110(const S&) {}
78 void cl0110(S&&);
79
80 void cl0111(const S&) {}
81 void cl0111(S&&);
82 void cl0111(const S&&);
83
84 void cl1001(S&);
85 void cl1001(const S&&) {}
86
87 void cl1011(S&);
88 void cl1011(S&&);
89 void cl1011(const S&&) {}
90
91 void cl1100(S&);
92 void cl1100(const S&) {}
93
94 void cl1101(S&);
95 void cl1101(const S&) {}
96 void cl1101(const S&&);
97
98 void cl1110(S&);
99 void cl1110(const S&) {}
100 void cl1110(S&&);
101
102 void cl1111(S&);
103 void cl1111(const S&) {}
104 void cl1111(S&&);
105 void cl1111(const S&&);
106
107 void r0001(const S&&) {}
108
109 void r0010(S&&) {}
110
111 void r0011(S&&) {}
112 void r0011(const S&&);
113
114 void r0100(const S&) {}
115
116 void r0101(const S&);
117 void r0101(const S&&) {}
118
119 void r0110(const S&);
120 void r0110(S&&) {}
121
122 void r0111(const S&);
123 void r0111(S&&) {}
124 void r0111(const S&&);
125
126 void r1001(S&);
127 void r1001(const S&&) {}
128
129 void r1010(S&);
130 void r1010(S&&) {}
131
132 void r1011(S&);
133 void r1011(S&&) {}
134 void r1011(const S&&);
135
136 void r1100(S&);
137 void r1100(const S&) {}
138
139 void r1101(S&);
140 void r1101(const S&);
141 void r1101(const S&&) {}
142
143 void r1110(S&);
144 void r1110(const S&);
145 void r1110(S&&) {}
146
147 void r1111(S&);
148 void r1111(const S&);
149 void r1111(S&&) {}
150 void r1111(const S&&);
151
152 void cr0001(const S&&) {}
153
154 void cr0011(S&&);
155 void cr0011(const S&&) {}
156
157 void cr0100(const S&) {}
158
159 void cr0101(const S&);
160 void cr0101(const S&&) {}
161
162 void cr0110(const S&) {}
163 void cr0110(S&&);
164
165 void cr0111(const S&);
166 void cr0111(S&&);
167 void cr0111(const S&&) {}
168
169 void cr1001(S&);
170 void cr1001(const S&&) {}
171
172 void cr1011(S&);
173 void cr1011(S&&);
174 void cr1011(const S&&) {}
175
176 void cr1100(S&);
177 void cr1100(const S&) {}
178
179 void cr1101(S&);
180 void cr1101(const S&);
181 void cr1101(const S&&) {}
182
183 void cr1110(S&);
184 void cr1110(const S&) {}
185 void cr1110(S&&);
186
187 void cr1111(S&);
188 void cr1111(const S&);
189 void cr1111(S&&);
190 void cr1111(const S&&) {}
191
192 void nl0001(const S&&) {}
193
194 void nl0010(S&&) {}
195
196 void nl0011(S&&) {}
197 void nl0011(const S&&);
198
199 void nl0100(const S&) {}
200
201 void nl0101(const S&) {}
202 void nl0101(const S&&);
203
204 void nl0110(const S&) {}
205 void nl0110(S&&);
206
207 void nl0111(const S&) {}
208 void nl0111(S&&);
209 void nl0111(const S&&);
210
211 void nl1000(S&) {}
212
213 void nl1001(S&) {}
214 void nl1001(const S&&);
215
216 void nl1010(S&) {}
217 void nl1010(S&&);
218
219 void nl1011(S&) {}
220 void nl1011(S&&);
221 void nl1011(const S&&);
222
223 void nl1100(S&) {}
224 void nl1100(const S&);
225
226 void nl1101(S&) {}
227 void nl1101(const S&);
228 void nl1101(const S&&);
229
230 void nl1110(S&) {}
231 void nl1110(const S&);
232 void nl1110(S&&);
233
234 void nl1111(S&) {}
235 void nl1111(const S&);
236 void nl1111(S&&);
237 void nl1111(const S&&);
238
239 void ncl0001(const S&&) {}
240
241 void ncl0011(S&&);
242 void ncl0011(const S&&) {}
243
244 void ncl0100(const S&) {}
245
246 void ncl0101(const S&) {}
247 void ncl0101(const S&&);
248
249 void ncl0110(const S&) {}
250 void ncl0110(S&&);
251
252 void ncl0111(const S&) {}
253 void ncl0111(S&&);
254 void ncl0111(const S&&);
255
256 void ncl1001(S&);
257 void ncl1001(const S&&) {}
258
259 void ncl1011(S&);
260 void ncl1011(S&&);
261 void ncl1011(const S&&) {}
262
263 void ncl1100(S&);
264 void ncl1100(const S&) {}
265
266 void ncl1101(S&);
267 void ncl1101(const S&) {}
268 void ncl1101(const S&&);
269
270 void ncl1110(S&);
271 void ncl1110(const S&) {}
272 void ncl1110(S&&);
273
274 void ncl1111(S&);
275 void ncl1111(const S&) {}
276 void ncl1111(S&&);
277 void ncl1111(const S&&);
278
279 void nr0001(const S&&) {}
280
281 void nr0010(S&&) {}
282
283 void nr0011(S&&) {}
284 void nr0011(const S&&);
285
286 void nr0100(const S&) {}
287
288 void nr0101(const S&) {}
289 void nr0101(const S&&);
290
291 void nr0110(const S&) {}
292 void nr0110(S&&);
293
294 void nr0111(const S&) {}
295 void nr0111(S&&);
296 void nr0111(const S&&);
297
298 void nr1000(S&) {}
299
300 void nr1001(S&) {}
301 void nr1001(const S&&);
302
303 void nr1010(S&) {}
304 void nr1010(S&&);
305
306 void nr1011(S&) {}
307 void nr1011(S&&);
308 void nr1011(const S&&);
309
310 void nr1100(S&) {}
311 void nr1100(const S&);
312
313 void nr1101(S&) {}
314 void nr1101(const S&);
315 void nr1101(const S&&);
316
317 void nr1110(S&) {}
318 void nr1110(const S&);
319 void nr1110(S&&);
320
321 void nr1111(S&) {}
322 void nr1111(const S&);
323 void nr1111(S&&);
324 void nr1111(const S&&);
325
326 void ncr0001(const S&&) {}
327
328 void ncr0011(S&&);
329 void ncr0011(const S&&) {}
330
331 void ncr0100(const S&) {}
332
333 void ncr0101(const S&) {}
334 void ncr0101(const S&&);
335
336 void ncr0110(const S&) {}
337 void ncr0110(S&&);
338
339 void ncr0111(const S&) {}
340 void ncr0111(S&&);
341 void ncr0111(const S&&);
342
343 void ncr1001(S&);
344 void ncr1001(const S&&) {}
345
346 void ncr1011(S&);
347 void ncr1011(S&&);
348 void ncr1011(const S&&) {}
349
350 void ncr1100(S&);
351 void ncr1100(const S&) {}
352
353 void ncr1101(S&);
354 void ncr1101(const S&) {}
355 void ncr1101(const S&&);
356
357 void ncr1110(S&);
358 void ncr1110(const S&) {}
359 void ncr1110(S&&);
360
361 void ncr1111(S&);
362 void ncr1111(const S&) {}
363 void ncr1111(S&&);
364 void ncr1111(const S&&);
365
366 void ul0001(const S&&) {}
367
368 void ul0010(S&&) {}
369
370 void ul0011(S&&) {}
371 void ul0011(const S&&);
372
373 void ul0100(const S&) {}
374
375 void ul0101(const S&) {}
376 void ul0101(const S&&);
377
378 void ul0110(const S&) {}
379 void ul0110(S&&);
380
381 void ul0111(const S&) {}
382 void ul0111(S&&);
383 void ul0111(const S&&);
384
385 void ul1000(S&) {}
386
387 void ul1001(S&) {}
388 void ul1001(const S&&);
389
390 void ul1010(S&) {}
391 void ul1010(S&&);
392
393 void ul1011(S&) {}
394 void ul1011(S&&);
395 void ul1011(const S&&);
396
397 void ul1100(S&) {}
398 void ul1100(const S&);
399
400 void ul1101(S&) {}
401 void ul1101(const S&);
402 void ul1101(const S&&);
403
404 void ul1110(S&) {}
405 void ul1110(const S&);
406 void ul1110(S&&);
407
408 void ul1111(S&) {}
409 void ul1111(const S&);
410 void ul1111(S&&);
411 void ul1111(const S&&);
412
413 void ucl0001(const S&&) {}
414
415 void ucl0011(S&&);
416 void ucl0011(const S&&) {}
417
418 void ucl0100(const S&) {}
419
420 void ucl0101(const S&) {}
421 void ucl0101(const S&&);
422
423 void ucl0110(const S&) {}
424 void ucl0110(S&&);
425
426 void ucl0111(const S&) {}
427 void ucl0111(S&&);
428 void ucl0111(const S&&);
429
430 void ucl1001(S&);
431 void ucl1001(const S&&) {}
432
433 void ucl1011(S&);
434 void ucl1011(S&&);
435 void ucl1011(const S&&) {}
436
437 void ucl1100(S&);
438 void ucl1100(const S&) {}
439
440 void ucl1101(S&);
441 void ucl1101(const S&) {}
442 void ucl1101(const S&&);
443
444 void ucl1110(S&);
445 void ucl1110(const S&) {}
446 void ucl1110(S&&);
447
448 void ucl1111(S&);
449 void ucl1111(const S&) {}
450 void ucl1111(S&&);
451 void ucl1111(const S&&);
452
453 void ur0001(const S&&) {}
454
455 void ur0010(S&&) {}
456
457 void ur0011(S&&) {}
458 void ur0011(const S&&);
459
460 void ur0100(const S&) {}
461
462 void ur0101(const S&);
463 void ur0101(const S&&) {}
464
465 void ur0110(const S&);
466 void ur0110(S&&) {}
467
468 void ur0111(const S&);
469 void ur0111(S&&) {}
470 void ur0111(const S&&);
471
472 void ur1001(S&);
473 void ur1001(const S&&) {}
474
475 void ur1010(S&);
476 void ur1010(S&&) {}
477
478 void ur1011(S&);
479 void ur1011(S&&) {}
480 void ur1011(const S&&);
481
482 void ur1100(S&);
483 void ur1100(const S&) {}
484
485 void ur1101(S&);
486 void ur1101(const S&);
487 void ur1101(const S&&) {}
488
489 void ur1110(S&);
490 void ur1110(const S&);
491 void ur1110(S&&) {}
492
493 void ur1111(S&);
494 void ur1111(const S&);
495 void ur1111(S&&) {}
496 void ur1111(const S&&);
497
498 void ucr0001(const S&&) {}
499
500 void ucr0011(S&&);
501 void ucr0011(const S&&) {}
502
503 void ucr0100(const S&) {}
504
505 void ucr0101(const S&);
506 void ucr0101(const S&&) {}
507
508 void ucr0110(const S&) {}
509 void ucr0110(S&&);
510
511 void ucr0111(const S&);
512 void ucr0111(S&&);
513 void ucr0111(const S&&) {}
514
515 void ucr1001(S&);
516 void ucr1001(const S&&) {}
517
518 void ucr1011(S&);
519 void ucr1011(S&&);
520 void ucr1011(const S&&) {}
521
522 void ucr1100(S&);
523 void ucr1100(const S&) {}
524
525 void ucr1101(S&);
526 void ucr1101(const S&);
527 void ucr1101(const S&&) {}
528
529 void ucr1110(S&);
530 void ucr1110(const S&) {}
531 void ucr1110(S&&);
532
533 void ucr1111(S&);
534 void ucr1111(const S&);
535 void ucr1111(S&&);
536 void ucr1111(const S&&) {}
537
538
539 int main()
540 {
541   l0001(l);
542   l0010(l);
543   l0011(l);
544   l0100(l);
545   l0101(l);
546   l0110(l);
547   l0111(l);
548   l1000(l);
549   l1001(l);
550   l1010(l);
551   l1011(l);
552   l1100(l);
553   l1101(l);
554   l1110(l);
555   l1111(l);
556   cl0001(cl);
557   cl0011(cl);
558   cl0100(cl);
559   cl0101(cl);
560   cl0110(cl);
561   cl0111(cl);
562   cl1001(cl);
563   cl1011(cl);
564   cl1100(cl);
565   cl1101(cl);
566   cl1110(cl);
567   cl1111(cl);
568   r0001(r());
569   r0010(r());
570   r0011(r());
571   r0100(r());
572   r0101(r());
573   r0110(r());
574   r0111(r());
575   r1001(r());
576   r1010(r());
577   r1011(r());
578   r1100(r());
579   r1101(r());
580   r1110(r());
581   r1111(r());
582   cr0001(cr());
583   cr0011(cr());
584   cr0100(cr());
585   cr0101(cr());
586   cr0110(cr());
587   cr0111(cr());
588   cr1001(cr());
589   cr1011(cr());
590   cr1100(cr());
591   cr1101(cr());
592   cr1110(cr());
593   cr1111(cr());
594   nl0001(nl);
595   nl0010(nl);
596   nl0011(nl);
597   nl0100(nl);
598   nl0101(nl);
599   nl0110(nl);
600   nl0111(nl);
601   nl1000(nl);
602   nl1001(nl);
603   nl1010(nl);
604   nl1011(nl);
605   nl1100(nl);
606   nl1101(nl);
607   nl1110(nl);
608   nl1111(nl);
609   ncl0001(ncl);
610   ncl0011(ncl);
611   ncl0100(ncl);
612   ncl0101(ncl);
613   ncl0110(ncl);
614   ncl0111(ncl);
615   ncl1001(ncl);
616   ncl1011(ncl);
617   ncl1100(ncl);
618   ncl1101(ncl);
619   ncl1110(ncl);
620   ncl1111(ncl);
621   nr0001(nr);
622   nr0010(nr);
623   nr0011(nr);
624   nr0100(nr);
625   nr0101(nr);
626   nr0110(nr);
627   nr0111(nr);
628   nr1000(nr);
629   nr1001(nr);
630   nr1010(nr);
631   nr1011(nr);
632   nr1100(nr);
633   nr1101(nr);
634   nr1110(nr);
635   nr1111(nr);
636   ncr0001(ncr);
637   ncr0011(ncr);
638   ncr0100(ncr);
639   ncr0101(ncr);
640   ncr0110(ncr);
641   ncr0111(ncr);
642   ncr1001(ncr);
643   ncr1011(ncr);
644   ncr1100(ncr);
645   ncr1101(ncr);
646   ncr1110(ncr);
647   ncr1111(ncr);
648   ul0001(ul());
649   ul0010(ul());
650   ul0011(ul());
651   ul0100(ul());
652   ul0101(ul());
653   ul0110(ul());
654   ul0111(ul());
655   ul1000(ul());
656   ul1001(ul());
657   ul1010(ul());
658   ul1011(ul());
659   ul1100(ul());
660   ul1101(ul());
661   ul1110(ul());
662   ul1111(ul());
663   ucl0001(ucl());
664   ucl0011(ucl());
665   ucl0100(ucl());
666   ucl0101(ucl());
667   ucl0110(ucl());
668   ucl0111(ucl());
669   ucl1001(ucl());
670   ucl1011(ucl());
671   ucl1100(ucl());
672   ucl1101(ucl());
673   ucl1110(ucl());
674   ucl1111(ucl());
675   ur0001(ur());
676   ur0010(ur());
677   ur0011(ur());
678   ur0100(ur());
679   ur0101(ur());
680   ur0110(ur());
681   ur0111(ur());
682   ur1001(ur());
683   ur1010(ur());
684   ur1011(ur());
685   ur1100(ur());
686   ur1101(ur());
687   ur1110(ur());
688   ur1111(ur());
689   ucr0001(ucr());
690   ucr0011(ucr());
691   ucr0100(ucr());
692   ucr0101(ucr());
693   ucr0110(ucr());
694   ucr0111(ucr());
695   ucr1001(ucr());
696   ucr1011(ucr());
697   ucr1100(ucr());
698   ucr1101(ucr());
699   ucr1110(ucr());
700   ucr1111(ucr());
701
702   return 0;
703 }