p11.0x.copy.cpp revision 762bb9d0ad20320b9f97a841dce57ba5e8e48b07
1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
2
3struct NonTrivial {
4  NonTrivial(const NonTrivial&);
5};
6
7union DeletedNTVariant { // expected-note{{here}}
8  NonTrivial NT;
9  DeletedNTVariant();
10};
11DeletedNTVariant DVa;
12DeletedNTVariant DVb(DVa); // expected-error{{call to deleted constructor}}
13
14struct DeletedNTVariant2 { // expected-note{{here}}
15  union {
16    NonTrivial NT;
17  };
18  DeletedNTVariant2();
19};
20DeletedNTVariant2 DV2a;
21DeletedNTVariant2 DV2b(DV2a); // expected-error{{call to deleted constructor}}
22
23struct NoAccess {
24  NoAccess() = default;
25private:
26  NoAccess(const NoAccess&);
27
28  friend struct HasAccess;
29};
30
31struct HasNoAccess { // expected-note{{here}}
32  NoAccess NA;
33};
34HasNoAccess HNAa;
35HasNoAccess HNAb(HNAa); // expected-error{{call to deleted constructor}}
36
37struct HasAccess {
38  NoAccess NA;
39};
40
41HasAccess HAa;
42HasAccess HAb(HAa);
43
44struct NonConst {
45  NonConst(NonConst&);
46};
47struct Ambiguity {
48  Ambiguity(const Ambiguity&);
49  Ambiguity(volatile Ambiguity&);
50};
51
52struct IsAmbiguous { // expected-note{{here}}
53  NonConst NC;
54  Ambiguity A;
55  IsAmbiguous();
56};
57IsAmbiguous IAa;
58IsAmbiguous IAb(IAa); // expected-error{{call to deleted constructor}}
59
60struct Deleted { // expected-note{{here}}
61  IsAmbiguous IA;
62};
63Deleted Da;
64Deleted Db(Da); // expected-error{{call to deleted constructor}}
65
66struct NoAccessDtor {
67private:
68  ~NoAccessDtor();
69  friend struct HasAccessDtor;
70};
71
72struct HasNoAccessDtor { // expected-note{{here}}
73  NoAccessDtor NAD;
74  HasNoAccessDtor();
75  ~HasNoAccessDtor();
76};
77HasNoAccessDtor HNADa;
78HasNoAccessDtor HNADb(HNADa); // expected-error{{call to deleted constructor}}
79
80struct HasAccessDtor {
81  NoAccessDtor NAD;
82};
83HasAccessDtor HADa;
84HasAccessDtor HADb(HADa);
85
86struct RValue { // expected-note{{here}}
87  int && ri = 1;
88};
89RValue RVa;
90RValue RVb(RVa); // expected-error{{call to deleted constructor}}
91