OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [rv5n.C] - Blame information for rev 478

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 301 jeremybenn
// I, Howard Hinnant, hereby place this code in the public domain.
2
 
3
// Test overload resolution among reference types
4
 
5
// { dg-do compile }
6
// { dg-options "-std=c++0x" }
7
 
8
template  struct sa;
9
template <> struct sa {};
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
// 5 at a time
32
 
33
one   sink_5_12345(               A&);  // { dg-message "candidates" }
34
two   sink_5_12345(const          A&);  // { dg-message "note" }
35
three sink_5_12345(volatile       A&);  // { dg-message "note" }
36
four  sink_5_12345(const volatile A&);  // { dg-message "note" }
37
five  sink_5_12345(               A&&);  // { dg-message "note" }
38
 
39
int test5_12345()
40
{
41
                   A a;
42
    const          A ca = a;
43
          volatile A va;
44
    const volatile A cva = a;
45
    sink_5_12345(v_source());   // { dg-error "no match" }
46
    sink_5_12345(cv_source());  // { dg-error "no match" }
47
    return 0;
48
}
49
 
50
one   sink_5_12346(               A&);  // { dg-message "candidates" }
51
two   sink_5_12346(const          A&);  // { dg-message "note" }
52
three sink_5_12346(volatile       A&);  // { dg-message "note" }
53
four  sink_5_12346(const volatile A&);  // { dg-message "note" }
54
six   sink_5_12346(const          A&&);  // { dg-message "note" }
55
 
56
int test5_12346()
57
{
58
                   A a;
59
    const          A ca = a;
60
          volatile A va;
61
    const volatile A cva = a;
62
    sink_5_12346(v_source());   // { dg-error "no match" }
63
    sink_5_12346(cv_source());  // { dg-error "no match" }
64
    return 0;
65
}
66
 
67
one   sink_5_12347(               A&);  // { dg-message "candidates" }
68
two   sink_5_12347(const          A&);  // { dg-message "note" }
69
three sink_5_12347(volatile       A&);  // { dg-message "note" }
70
four  sink_5_12347(const volatile A&);  // { dg-message "note" }
71
seven sink_5_12347(volatile       A&&);  // { dg-message "note" }
72
 
73
int test5_12347()
74
{
75
                   A a;
76
    const          A ca = a;
77
          volatile A va;
78
    const volatile A cva = a;
79
    sink_5_12347(cv_source());  // { dg-error "no match" }
80
    return 0;
81
}
82
 
83
one   sink_5_12356(               A&);  // { dg-message "candidates" }
84
two   sink_5_12356(const          A&);  // { dg-message "note" }
85
three sink_5_12356(volatile       A&);  // { dg-message "note" }
86
five  sink_5_12356(               A&&);  // { dg-message "note" }
87
six   sink_5_12356(const          A&&);  // { dg-message "note" }
88
 
89
int test5_12356()
90
{
91
                   A a;
92
    const          A ca = a;
93
          volatile A va;
94
    const volatile A cva = a;
95
    sink_5_12356(cva);          // { dg-error "no match" }
96
    sink_5_12356(v_source());   // { dg-error "no match" }
97
    sink_5_12356(cv_source());  // { dg-error "no match" }
98
    return 0;
99
}
100
 
101
one   sink_5_12357(               A&);  // { dg-message "candidates" }
102
two   sink_5_12357(const          A&);  // { dg-message "note" }
103
three sink_5_12357(volatile       A&);  // { dg-message "note" }
104
five  sink_5_12357(               A&&);  // { dg-message "note" }
105
seven sink_5_12357(volatile       A&&);  // { dg-message "note" }
106
 
107
int test5_12357()
108
{
109
                   A a;
110
    const          A ca = a;
111
          volatile A va;
112
    const volatile A cva = a;
113
    sink_5_12357(cva);          // { dg-error "no match" }
114
    sink_5_12357(cv_source());  // { dg-error "no match" }
115
    return 0;
116
}
117
 
118
one   sink_5_12358(               A&);
119
two   sink_5_12358(const          A&);
120
three sink_5_12358(volatile       A&);
121
five  sink_5_12358(               A&&);
122
eight sink_5_12358(const volatile A&&); // { dg-message "" }
123
 
124
int test5_12358()
125
{
126
                   A a;
127
    const          A ca = a;
128
          volatile A va;
129
    const volatile A cva = a;
130
    sink_5_12358(cva);          // { dg-error "lvalue" }
131
    return 0;
132
}
133
 
134
one   sink_5_12367(               A&);  // { dg-message "candidates" }
135
two   sink_5_12367(const          A&);  // { dg-message "note" }
136
three sink_5_12367(volatile       A&);  // { dg-message "note" }
137
six   sink_5_12367(const          A&&);  // { dg-message "note" }
138
seven sink_5_12367(volatile       A&&);  // { dg-message "note" }
139
 
140
int test5_12367()
141
{
142
                   A a;
143
    const          A ca = a;
144
          volatile A va;
145
    const volatile A cva = a;
146
    sink_5_12367(cva);          // { dg-error "no match" }
147
    sink_5_12367(source());     // { dg-error "ambiguous" }
148
    sink_5_12367(cv_source());  // { dg-error "no match" }
149
    return 0;
150
}
151
 
152
one   sink_5_12368(               A&);
153
two   sink_5_12368(const          A&);
154
three sink_5_12368(volatile       A&);
155
six   sink_5_12368(const          A&&);
156
eight sink_5_12368(const volatile A&&); // { dg-message "" }
157
 
158
int test5_12368()
159
{
160
                   A a;
161
    const          A ca = a;
162
          volatile A va;
163
    const volatile A cva = a;
164
    sink_5_12368(cva);          // { dg-error "lvalue" }
165
    return 0;
166
}
167
 
168
one   sink_5_12378(               A&);
169
two   sink_5_12378(const          A&);
170
three sink_5_12378(volatile       A&);
171
seven sink_5_12378(volatile       A&&);
172
eight sink_5_12378(const volatile A&&); // { dg-message "" }
173
 
174
int test5_12378()
175
{
176
                   A a;
177
    const          A ca = a;
178
          volatile A va;
179
    const volatile A cva = a;
180
    sink_5_12378(cva);          // { dg-error "lvalue" }
181
    return 0;
182
}
183
 
184
one   sink_5_12456(               A&);  // { dg-message "candidates" }
185
two   sink_5_12456(const          A&);  // { dg-message "note" }
186
four  sink_5_12456(const volatile A&);  // { dg-message "note" }
187
five  sink_5_12456(               A&&);  // { dg-message "note" }
188
six   sink_5_12456(const          A&&);  // { dg-message "note" }
189
 
190
int test5_12456()
191
{
192
                   A a;
193
    const          A ca = a;
194
          volatile A va;
195
    const volatile A cva = a;
196
    sink_5_12456(v_source());   // { dg-error "no match" }
197
    sink_5_12456(cv_source());  // { dg-error "no match" }
198
    return 0;
199
}
200
 
201
one   sink_5_12457(               A&);  // { dg-message "candidates" }
202
two   sink_5_12457(const          A&);  // { dg-message "note" }
203
four  sink_5_12457(const volatile A&);  // { dg-message "note" }
204
five  sink_5_12457(               A&&);  // { dg-message "note" }
205
seven sink_5_12457(volatile       A&&);  // { dg-message "note" }
206
 
207
int test5_12457()
208
{
209
                   A a;
210
    const          A ca = a;
211
          volatile A va;
212
    const volatile A cva = a;
213
    sink_5_12457(cv_source());  // { dg-error "no match" }
214
    return 0;
215
}
216
 
217
one   sink_5_12467(               A&);  // { dg-message "candidates" }
218
two   sink_5_12467(const          A&);  // { dg-message "note" }
219
four  sink_5_12467(const volatile A&);  // { dg-message "note" }
220
six   sink_5_12467(const          A&&);  // { dg-message "note" }
221
seven sink_5_12467(volatile       A&&);  // { dg-message "note" }
222
 
223
int test5_12467()
224
{
225
                   A a;
226
    const          A ca = a;
227
          volatile A va;
228
    const volatile A cva = a;
229
    sink_5_12467(source());     // { dg-error "ambiguous" }
230
    sink_5_12467(cv_source());  // { dg-error "no match" }
231
    return 0;
232
}
233
 
234
one   sink_5_12567(               A&);  // { dg-message "candidates" }
235
two   sink_5_12567(const          A&);  // { dg-message "note" }
236
five  sink_5_12567(               A&&);  // { dg-message "note" }
237
six   sink_5_12567(const          A&&);  // { dg-message "note" }
238
seven sink_5_12567(volatile       A&&);  // { dg-message "" }
239
 
240
int test5_12567()
241
{
242
                   A a;
243
    const          A ca = a;
244
          volatile A va;
245
    const volatile A cva = a;
246
    sink_5_12567(va);           // { dg-error "lvalue" }
247
    sink_5_12567(cva);          // { dg-error "no match" }
248
    sink_5_12567(cv_source());  // { dg-error "no match" }
249
    return 0;
250
}
251
 
252
one   sink_5_12568(               A&);
253
two   sink_5_12568(const          A&);
254
five  sink_5_12568(               A&&);
255
six   sink_5_12568(const          A&&);
256
eight sink_5_12568(const volatile A&&); // { dg-message "" }
257
 
258
int test5_12568()
259
{
260
                   A a;
261
    const          A ca = a;
262
          volatile A va;
263
    const volatile A cva = a;
264
    sink_5_12568(va);           // { dg-error "lvalue" }
265
    sink_5_12568(cva);          // { dg-error "lvalue" }
266
    return 0;
267
}
268
 
269
one   sink_5_12578(               A&);
270
two   sink_5_12578(const          A&);
271
five  sink_5_12578(               A&&);
272
seven sink_5_12578(volatile       A&&); // { dg-message "" }
273
eight sink_5_12578(const volatile A&&); // { dg-message "" }
274
 
275
int test5_12578()
276
{
277
                   A a;
278
    const          A ca = a;
279
          volatile A va;
280
    const volatile A cva = a;
281
    sink_5_12578(va);           // { dg-error "lvalue" }
282
    sink_5_12578(cva);          // { dg-error "lvalue" }
283
    return 0;
284
}
285
 
286
one   sink_5_12678(               A&);
287
two   sink_5_12678(const          A&);  // { dg-message "candidates" }
288
six   sink_5_12678(const          A&&);  // { dg-message "note" }
289
seven sink_5_12678(volatile       A&&);  // { dg-message "" }
290
eight sink_5_12678(const volatile A&&);  // { dg-message "" }
291
 
292
int test5_12678()
293
{
294
                   A a;
295
    const          A ca = a;
296
          volatile A va;
297
    const volatile A cva = a;
298
    sink_5_12678(va);           // { dg-error "lvalue" }
299
    sink_5_12678(cva);          // { dg-error "lvalue" }
300
    sink_5_12678(source());  // { dg-error "ambiguous" }
301
    return 0;
302
}
303
 
304
one   sink_5_13456(               A&);  // { dg-message "candidates" }
305
three sink_5_13456(volatile       A&);  // { dg-message "note" }
306
four  sink_5_13456(const volatile A&);  // { dg-message "note" }
307
five  sink_5_13456(               A&&);  // { dg-message "note" }
308
six   sink_5_13456(const          A&&);  // { dg-message "note" }
309
 
310
int test5_13456()
311
{
312
                   A a;
313
    const          A ca = a;
314
          volatile A va;
315
    const volatile A cva = a;
316
    sink_5_13456(v_source());   // { dg-error "no match" }
317
    sink_5_13456(cv_source());  // { dg-error "no match" }
318
    return 0;
319
}
320
 
321
one   sink_5_13457(               A&);  // { dg-message "candidates" }
322
three sink_5_13457(volatile       A&);  // { dg-message "note" }
323
four  sink_5_13457(const volatile A&);  // { dg-message "note" }
324
five  sink_5_13457(               A&&);  // { dg-message "note" }
325
seven sink_5_13457(volatile       A&&);  // { dg-message "note" }
326
 
327
int test5_13457()
328
{
329
                   A a;
330
    const          A ca = a;
331
          volatile A va;
332
    const volatile A cva = a;
333
    sink_5_13457(c_source());   // { dg-error "no match" }
334
    sink_5_13457(cv_source());  // { dg-error "no match" }
335
    return 0;
336
}
337
 
338
one   sink_5_13467(               A&);  // { dg-message "candidates" }
339
three sink_5_13467(volatile       A&);  // { dg-message "note" }
340
four  sink_5_13467(const volatile A&);  // { dg-message "note" }
341
six   sink_5_13467(const          A&&);  // { dg-message "note" }
342
seven sink_5_13467(volatile       A&&);  // { dg-message "note" }
343
 
344
int test5_13467()
345
{
346
                   A a;
347
    const          A ca = a;
348
          volatile A va;
349
    const volatile A cva = a;
350
    sink_5_13467(source());     // { dg-error "ambiguous" }
351
    sink_5_13467(cv_source());  // { dg-error "no match" }
352
    return 0;
353
}
354
 
355
one   sink_5_13567(               A&);  // { dg-message "candidates" }
356
three sink_5_13567(volatile       A&);  // { dg-message "note" }
357
five  sink_5_13567(               A&&);  // { dg-message "note" }
358
six   sink_5_13567(const          A&&);  // { dg-message "" }
359
seven sink_5_13567(volatile       A&&);  // { dg-message "note" }
360
 
361
int test5_13567()
362
{
363
                   A a;
364
    const          A ca = a;
365
          volatile A va;
366
    const volatile A cva = a;
367
    sink_5_13567(ca);           // { dg-error "lvalue" }
368
    sink_5_13567(cva);          // { dg-error "no match" }
369
    sink_5_13567(cv_source());  // { dg-error "no match" }
370
    return 0;
371
}
372
 
373
one   sink_5_13568(               A&);
374
three sink_5_13568(volatile       A&);
375
five  sink_5_13568(               A&&);
376
six   sink_5_13568(const          A&&); // { dg-message "" }
377
eight sink_5_13568(const volatile A&&); // { dg-message "" }
378
 
379
int test5_13568()
380
{
381
                   A a;
382
    const          A ca = a;
383
          volatile A va;
384
    const volatile A cva = a;
385
    sink_5_13568(ca);           // { dg-error "lvalue" }
386
    sink_5_13568(cva);          // { dg-error "lvalue" }
387
    return 0;
388
}
389
 
390
one   sink_5_13578(               A&);
391
three sink_5_13578(volatile       A&);
392
five  sink_5_13578(               A&&);
393
seven sink_5_13578(volatile       A&&);
394
eight sink_5_13578(const volatile A&&); // { dg-message "" }
395
 
396
int test5_13578()
397
{
398
                   A a;
399
    const          A ca = a;
400
          volatile A va;
401
    const volatile A cva = a;
402
    sink_5_13578(ca);           // { dg-error "lvalue" }
403
    sink_5_13578(cva);          // { dg-error "lvalue" }
404
    return 0;
405
}
406
 
407
one   sink_5_13678(               A&);
408
three sink_5_13678(volatile       A&);
409
six   sink_5_13678(const          A&&);  // { dg-message "" }
410
seven sink_5_13678(volatile       A&&);  // { dg-message "note" }
411
eight sink_5_13678(const volatile A&&);  // { dg-message "" }
412
 
413
int test5_13678()
414
{
415
                   A a;
416
    const          A ca = a;
417
          volatile A va;
418
    const volatile A cva = a;
419
    sink_5_13678(ca);           // { dg-error "lvalue" }
420
    sink_5_13678(cva);          // { dg-error "lvalue" }
421
    sink_5_13678(source());  // { dg-error "ambiguous" }
422
    return 0;
423
}
424
 
425
one   sink_5_14567(               A&);  // { dg-message "candidates" }
426
four  sink_5_14567(const volatile A&);  // { dg-message "note" }
427
five  sink_5_14567(               A&&);  // { dg-message "note" }
428
six   sink_5_14567(const          A&&);  // { dg-message "note" }
429
seven sink_5_14567(volatile       A&&);  // { dg-message "note" }
430
 
431
int test5_14567()
432
{
433
                   A a;
434
    const          A ca = a;
435
          volatile A va;
436
    const volatile A cva = a;
437
    sink_5_14567(cv_source());  // { dg-error "no match" }
438
    return 0;
439
}
440
 
441
one   sink_5_14678(               A&);
442
four  sink_5_14678(const volatile A&);
443
six   sink_5_14678(const          A&&);  // { dg-message "candidates" }
444
seven sink_5_14678(volatile       A&&);  // { dg-message "note" }
445
eight sink_5_14678(const volatile A&&);  // { dg-message "note" }
446
 
447
int test5_14678()
448
{
449
                   A a;
450
    const          A ca = a;
451
          volatile A va;
452
    const volatile A cva = a;
453
    sink_5_14678(source());  // { dg-error "ambiguous" }
454
    return 0;
455
}
456
 
457
one   sink_5_15678(               A&);
458
five  sink_5_15678(               A&&);
459
six   sink_5_15678(const          A&&); // { dg-message "" }
460
seven sink_5_15678(volatile       A&&); // { dg-message "" }
461
eight sink_5_15678(const volatile A&&); // { dg-message "" }
462
 
463
int test5_15678()
464
{
465
                   A a;
466
    const          A ca = a;
467
          volatile A va;
468
    const volatile A cva = a;
469
    sink_5_15678(ca);           // { dg-error "lvalue" }
470
    sink_5_15678(va);           // { dg-error "lvalue" }
471
    sink_5_15678(cva);          // { dg-error "lvalue" }
472
    return 0;
473
}
474
 
475
two   sink_5_23456(const          A&);  // { dg-message "candidates" }
476
three sink_5_23456(volatile       A&);  // { dg-message "note" }
477
four  sink_5_23456(const volatile A&);  // { dg-message "note" }
478
five  sink_5_23456(               A&&);  // { dg-message "note" }
479
six   sink_5_23456(const          A&&);  // { dg-message "note" }
480
 
481
int test5_23456()
482
{
483
                   A a;
484
    const          A ca = a;
485
          volatile A va;
486
    const volatile A cva = a;
487
    sink_5_23456(a);            // { dg-error "ambiguous" }
488
    sink_5_23456(v_source());   // { dg-error "no match" }
489
    sink_5_23456(cv_source());  // { dg-error "no match" }
490
    return 0;
491
}
492
 
493
two   sink_5_23457(const          A&);  // { dg-message "candidates" }
494
three sink_5_23457(volatile       A&);  // { dg-message "note" }
495
four  sink_5_23457(const volatile A&);  // { dg-message "note" }
496
five  sink_5_23457(               A&&);  // { dg-message "note" }
497
seven sink_5_23457(volatile       A&&);  // { dg-message "note" }
498
 
499
int test5_23457()
500
{
501
                   A a;
502
    const          A ca = a;
503
          volatile A va;
504
    const volatile A cva = a;
505
    sink_5_23457(a);            // { dg-error "ambiguous" }
506
    sink_5_23457(cv_source());  // { dg-error "no match" }
507
    return 0;
508
}
509
 
510
two   sink_5_23458(const          A&);  // { dg-message "candidates" }
511
three sink_5_23458(volatile       A&);  // { dg-message "note" }
512
four  sink_5_23458(const volatile A&);  // { dg-message "note" }
513
five  sink_5_23458(               A&&);  // { dg-message "note" }
514
eight sink_5_23458(const volatile A&&);  // { dg-message "note" }
515
 
516
int test5_23458()
517
{
518
                   A a;
519
    const          A ca = a;
520
          volatile A va;
521
    const volatile A cva = a;
522
    sink_5_23458(a);  // { dg-error "ambiguous" }
523
    return 0;
524
}
525
 
526
two   sink_5_23467(const          A&);  // { dg-message "candidates" }
527
three sink_5_23467(volatile       A&);  // { dg-message "note" }
528
four  sink_5_23467(const volatile A&);  // { dg-message "note" }
529
six   sink_5_23467(const          A&&);  // { dg-message "note" }
530
seven sink_5_23467(volatile       A&&);  // { dg-message "note" }
531
 
532
int test5_23467()
533
{
534
                   A a;
535
    const          A ca = a;
536
          volatile A va;
537
    const volatile A cva = a;
538
    sink_5_23467(a);            // { dg-error "ambiguous" }
539
    sink_5_23467(source());     // { dg-error "ambiguous" }
540
    sink_5_23467(cv_source());  // { dg-error "no match" }
541
    return 0;
542
}
543
 
544
two   sink_5_23468(const          A&);  // { dg-message "candidates" }
545
three sink_5_23468(volatile       A&);  // { dg-message "note" }
546
four  sink_5_23468(const volatile A&);  // { dg-message "note" }
547
six   sink_5_23468(const          A&&);  // { dg-message "note" }
548
eight sink_5_23468(const volatile A&&);  // { dg-message "note" }
549
 
550
int test5_23468()
551
{
552
                   A a;
553
    const          A ca = a;
554
          volatile A va;
555
    const volatile A cva = a;
556
    sink_5_23468(a);  // { dg-error "ambiguous" }
557
   return 0;
558
}
559
 
560
two   sink_5_23478(const          A&);  // { dg-message "candidates" }
561
three sink_5_23478(volatile       A&);  // { dg-message "note" }
562
four  sink_5_23478(const volatile A&);  // { dg-message "note" }
563
seven sink_5_23478(volatile       A&&);  // { dg-message "note" }
564
eight sink_5_23478(const volatile A&&);  // { dg-message "note" }
565
 
566
int test5_23478()
567
{
568
                   A a;
569
    const          A ca = a;
570
          volatile A va;
571
    const volatile A cva = a;
572
    sink_5_23478(a);  // { dg-error "ambiguous" }
573
    return 0;
574
}
575
 
576
two   sink_5_23567(const          A&);  // { dg-message "candidates" }
577
three sink_5_23567(volatile       A&);  // { dg-message "note" }
578
five  sink_5_23567(               A&&);  // { dg-message "note" }
579
six   sink_5_23567(const          A&&);  // { dg-message "note" }
580
seven sink_5_23567(volatile       A&&);  // { dg-message "note" }
581
 
582
int test5_23567()
583
{
584
                   A a;
585
    const          A ca = a;
586
          volatile A va;
587
    const volatile A cva = a;
588
    sink_5_23567(a);            // { dg-error "ambiguous" }
589
    sink_5_23567(cva);          // { dg-error "no match" }
590
    sink_5_23567(cv_source());  // { dg-error "no match" }
591
    return 0;
592
}
593
 
594
two   sink_5_23568(const          A&);  // { dg-message "candidates" }
595
three sink_5_23568(volatile       A&);  // { dg-message "note" }
596
five  sink_5_23568(               A&&);  // { dg-message "note" }
597
six   sink_5_23568(const          A&&);  // { dg-message "note" }
598
eight sink_5_23568(const volatile A&&);  // { dg-message "" }
599
 
600
int test5_23568()
601
{
602
                   A a;
603
    const          A ca = a;
604
          volatile A va;
605
    const volatile A cva = a;
606
    sink_5_23568(cva); // { dg-error "lvalue" }
607
    sink_5_23568(a);  // { dg-error "ambiguous" }
608
    return 0;
609
}
610
 
611
two   sink_5_23578(const          A&);  // { dg-message "candidates" }
612
three sink_5_23578(volatile       A&);  // { dg-message "note" }
613
five  sink_5_23578(               A&&);  // { dg-message "note" }
614
seven sink_5_23578(volatile       A&&);  // { dg-message "note" }
615
eight sink_5_23578(const volatile A&&);  // { dg-message "" }
616
 
617
int test5_23578()
618
{
619
                   A a;
620
    const          A ca = a;
621
          volatile A va;
622
    const volatile A cva = a;
623
    sink_5_23578(cva); // { dg-error "lvalue" }
624
    sink_5_23578(a);  // { dg-error "ambiguous" }
625
    return 0;
626
}
627
 
628
two   sink_5_23678(const          A&);  // { dg-message "candidates" }
629
three sink_5_23678(volatile       A&);  // { dg-message "note" }
630
six   sink_5_23678(const          A&&);  // { dg-message "note" }
631
seven sink_5_23678(volatile       A&&);  // { dg-message "note" }
632
eight sink_5_23678(const volatile A&&);  // { dg-message "" }
633
 
634
int test5_23678()
635
{
636
                   A a;
637
    const          A ca = a;
638
          volatile A va;
639
    const volatile A cva = a;
640
    sink_5_23678(a);         // { dg-error "ambiguous" }
641
    sink_5_23678(cva);       // { dg-error "lvalue" }
642
    sink_5_23678(source());  // { dg-error "ambiguous" }
643
    return 0;
644
}
645
 
646
two   sink_5_24567(const          A&);  // { dg-message "candidates" }
647
four  sink_5_24567(const volatile A&);  // { dg-message "note" }
648
five  sink_5_24567(               A&&);  // { dg-message "note" }
649
six   sink_5_24567(const          A&&);  // { dg-message "note" }
650
seven sink_5_24567(volatile       A&&);  // { dg-message "note" }
651
 
652
int test5_24567()
653
{
654
                   A a;
655
    const          A ca = a;
656
          volatile A va;
657
    const volatile A cva = a;
658
    sink_5_24567(cv_source());  // { dg-error "no match" }
659
    return 0;
660
}
661
 
662
two   sink_5_24678(const          A&);  // { dg-message "candidates" }
663
four  sink_5_24678(const volatile A&);
664
six   sink_5_24678(const          A&&);  // { dg-message "note" }
665
seven sink_5_24678(volatile       A&&);  // { dg-message "note" }
666
eight sink_5_24678(const volatile A&&);  // { dg-message "note" }
667
 
668
int test5_24678()
669
{
670
                   A a;
671
    const          A ca = a;
672
          volatile A va;
673
    const volatile A cva = a;
674
    sink_5_24678(source());  // { dg-error "ambiguous" }
675
    return 0;
676
}
677
 
678
two   sink_5_25678(const          A&);
679
five  sink_5_25678(               A&&);
680
six   sink_5_25678(const          A&&);
681
seven sink_5_25678(volatile       A&&); // { dg-message "" }
682
eight sink_5_25678(const volatile A&&); // { dg-message "" }
683
 
684
int test5_25678()
685
{
686
                   A a;
687
    const          A ca = a;
688
          volatile A va;
689
    const volatile A cva = a;
690
    sink_5_25678(va);           // { dg-error "lvalue" }
691
    sink_5_25678(cva);          // { dg-error "lvalue" }
692
    return 0;
693
}
694
 
695
three sink_5_34567(volatile       A&);  // { dg-message "candidates" }
696
four  sink_5_34567(const volatile A&);  // { dg-message "note" }
697
five  sink_5_34567(               A&&);  // { dg-message "note" }
698
six   sink_5_34567(const          A&&);  // { dg-message "note" }
699
seven sink_5_34567(volatile       A&&);  // { dg-message "note" }
700
 
701
int test5_34567()
702
{
703
                   A a;
704
    const          A ca = a;
705
          volatile A va;
706
    const volatile A cva = a;
707
    sink_5_34567(cv_source());  // { dg-error "no match" }
708
    return 0;
709
}
710
 
711
three sink_5_34678(volatile       A&);
712
four  sink_5_34678(const volatile A&);
713
six   sink_5_34678(const          A&&);  // { dg-message "candidates" }
714
seven sink_5_34678(volatile       A&&);  // { dg-message "note" }
715
eight sink_5_34678(const volatile A&&);  // { dg-message "note" }
716
 
717
int test5_34678()
718
{
719
                   A a;
720
    const          A ca = a;
721
          volatile A va;
722
    const volatile A cva = a;
723
    sink_5_34678(source());  // { dg-error "ambiguous" }
724
    return 0;
725
}
726
 
727
three sink_5_35678(volatile       A&);
728
five  sink_5_35678(               A&&);
729
six   sink_5_35678(const          A&&); // { dg-message "" }
730
seven sink_5_35678(volatile       A&&);
731
eight sink_5_35678(const volatile A&&); // { dg-message "" }
732
 
733
int test5_35678()
734
{
735
                   A a;
736
    const          A ca = a;
737
          volatile A va;
738
    const volatile A cva = a;
739
    sink_5_35678(ca);           // { dg-error "lvalue" }
740
    sink_5_35678(cva);          // { dg-error "lvalue" }
741
    return 0;
742
}
743
 
744
int main()
745
{
746
    return test5_12356() + test5_12357() + test5_12367() + test5_12467() +
747
           test5_12567() + test5_12678() + test5_13467() + test5_13567() +
748
           test5_13678() + test5_13678() + test5_23456() + test5_23457() +
749
           test5_23458() + test5_23467() + test5_23468() + test5_23478() +
750
           test5_23567() + test5_23568() + test5_23578() + test5_23678() +
751
           test5_24678() + test5_34678();
752
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.