commit 8b1e494d587c2bc468409fe607ae13dc9b13dff0
Author: Jason Merrill <jason@redhat.com>
Date: Mon Oct 17 16:29:08 2011 -0400
PR c++/50500
DR 1082
* class.c (type_has_user_declared_move_constructor): New.
(type_has_user_declared_move_assign): New.
(add_implicitly_declared_members): Add lazy copy ops
even if there's a move.
* method.c (lazily_declare_fn): Delete implicit copies
if there's a move.
(maybe_explain_implicit_delete): Explain this. Use inform rather
than error.
* cp-tree.h: Declare new fns.
@@ -2736,13 +2736,12 @@ add_implicitly_declared_members (tree t,
If a class definition does not explicitly declare a copy
constructor, one is declared implicitly. */
- if (! TYPE_HAS_COPY_CTOR (t) && ! TYPE_FOR_JAVA (t)
- && !type_has_move_constructor (t))
+ if (! TYPE_HAS_COPY_CTOR (t) && ! TYPE_FOR_JAVA (t))
{
TYPE_HAS_COPY_CTOR (t) = 1;
TYPE_HAS_CONST_COPY_CTOR (t) = !cant_have_const_cctor;
CLASSTYPE_LAZY_COPY_CTOR (t) = 1;
- if (cxx_dialect >= cxx0x)
+ if (cxx_dialect >= cxx0x && !type_has_move_constructor (t))
CLASSTYPE_LAZY_MOVE_CTOR (t) = 1;
}
@@ -2750,13 +2749,12 @@ add_implicitly_declared_members (tree t,
when it is needed. For now, just record whether or not the type
of the parameter to the assignment operator will be a const or
non-const reference. */
- if (!TYPE_HAS_COPY_ASSIGN (t) && !TYPE_FOR_JAVA (t)
- && !type_has_move_assign (t))
+ if (!TYPE_HAS_COPY_ASSIGN (t) && !TYPE_FOR_JAVA (t))
{
TYPE_HAS_COPY_ASSIGN (t) = 1;
TYPE_HAS_CONST_COPY_ASSIGN (t) = !cant_have_const_assignment;
CLASSTYPE_LAZY_COPY_ASSIGN (t) = 1;
- if (cxx_dialect >= cxx0x)
+ if (cxx_dialect >= cxx0x && !type_has_move_assign (t))
CLASSTYPE_LAZY_MOVE_ASSIGN (t) = 1;
}
@@ -4495,6 +4493,54 @@ type_has_move_assign (tree t)
return false;
}
+/* Returns true iff class T has a move constructor that was explicitly
+ declared in the class body. Note that this is different from
+ "user-provided", which doesn't include functions that are defaulted in
+ the class. */
+
+bool
+type_has_user_declared_move_constructor (tree t)
+{
+ tree fns;
+
+ if (CLASSTYPE_LAZY_MOVE_CTOR (t))
+ return false;
+
+ if (!CLASSTYPE_METHOD_VEC (t))
+ return false;
+
+ for (fns = CLASSTYPE_CONSTRUCTORS (t); fns; fns = OVL_NEXT (fns))
+ {
+ tree fn = OVL_CURRENT (fns);
+ if (move_fn_p (fn) && !DECL_ARTIFICIAL (fn))
+ return true;
+ }
+
+ return false;
+}
+
+/* Returns true iff class T has a move assignment operator that was
+ explicitly declared in the class body. */
+
+bool
+type_has_user_declared_move_assign (tree t)
+{
+ tree fns;
+
+ if (CLASSTYPE_LAZY_MOVE_ASSIGN (t))
+ return false;
+
+ for (fns = lookup_fnfields_slot (t, ansi_assopname (NOP_EXPR));
+ fns; fns = OVL_NEXT (fns))
+ {
+ tree fn = OVL_CURRENT (fns);
+ if (move_fn_p (fn) && !DECL_ARTIFICIAL (fn))
+ return true;
+ }
+
+ return false;
+}
+
/* Nonzero if we need to build up a constructor call when initializing an
object of this class, either because it has a user-provided constructor
or because it doesn't have a default constructor (so we need to give an
@@ -4870,6 +4870,8 @@ extern bool type_has_constexpr_default_constructor (tree);
extern bool type_has_virtual_destructor (tree);
extern bool type_has_move_constructor (tree);
extern bool type_has_move_assign (tree);
+extern bool type_has_user_declared_move_constructor (tree);
+extern bool type_has_user_declared_move_assign(tree);
extern bool type_build_ctor_call (tree);
extern void explain_non_literal_class (tree);
extern void defaulted_late_check (tree);
@@ -1375,18 +1375,31 @@ maybe_explain_implicit_delete (tree decl)
{
informed = true;
if (sfk == sfk_constructor)
- error ("a lambda closure type has a deleted default constructor");
+ inform (DECL_SOURCE_LOCATION (decl),
+ "a lambda closure type has a deleted default constructor");
else if (sfk == sfk_copy_assignment)
- error ("a lambda closure type has a deleted copy assignment operator");
+ inform (DECL_SOURCE_LOCATION (decl),
+ "a lambda closure type has a deleted copy assignment operator");
else
informed = false;
}
+ else if (DECL_ARTIFICIAL (decl)
+ && (sfk == sfk_copy_assignment
+ || sfk == sfk_copy_constructor)
+ && (type_has_user_declared_move_constructor (ctype)
+ || type_has_user_declared_move_assign (ctype)))
+ {
+ inform (0, "%q+#D is implicitly declared as deleted because %qT "
+ "declares a move constructor or move assignment operator",
+ decl, ctype);
+ informed = true;
+ }
if (!informed)
{
tree parm_type = TREE_VALUE (FUNCTION_FIRST_USER_PARMTYPE (decl));
bool const_p = CP_TYPE_CONST_P (non_reference (parm_type));
tree scope = push_scope (ctype);
- error ("%qD is implicitly deleted because the default "
+ inform (0, "%q+#D is implicitly deleted because the default "
"definition would be ill-formed:", decl);
pop_scope (scope);
synthesized_method_walk (ctype, sfk, const_p,
@@ -1743,6 +1756,15 @@ lazily_declare_fn (special_function_kind sfk, tree type)
/* Declare the function. */
fn = implicitly_declare_fn (sfk, type, const_p);
+ /* [class.copy]/8 If the class definition declares a move constructor or
+ move assignment operator, the implicitly declared copy constructor is
+ defined as deleted.... */
+ if ((sfk == sfk_copy_assignment
+ || sfk == sfk_copy_constructor)
+ && (type_has_user_declared_move_constructor (type)
+ || type_has_user_declared_move_assign (type)))
+ DECL_DELETED_FN (fn) = true;
+
/* For move variants, rather than declare them as deleted we just
don't declare them at all. */
if (DECL_DELETED_FN (fn)
@@ -2,13 +2,12 @@
// { dg-options -std=c++0x }
struct A {
- A(A&&) = default; // { dg-message "A::A|no known conversion" }
+ A(A&&) = default;
};
struct B {
const A a;
B(const B&) = default;
- B(B&&) = default; // { dg-error "implicitly deleted|no match" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 10 }
+ B(B&&) = default; // { dg-error "implicitly deleted|use of deleted" }
};
void g(B); // { dg-error "argument 1" }
@@ -12,7 +12,7 @@ struct X {
X(X&&);
};
-X::X(X&&)=default; // { dg-error "implicitly deleted" }
+X::X(X&&)=default; // { dg-message "implicitly deleted" }
// { dg-error "does not have a move constructor" "" { target *-*-* } 15 }
X f() {
@@ -3,13 +3,13 @@ struct S
{
S();
private:
- S(S const &&); // { dg-error "" }
- S & operator=(S const &&); // { dg-error "" }
+ S(S const &&);
+ S & operator=(S const &&);
};
void f()
{
S a;
- S b(a); // { dg-error "" }
- a = b; // { dg-error "" }
+ S b(a); // { dg-error "deleted" }
+ a = b; // { dg-error "deleted" }
}
new file mode 100644
@@ -0,0 +1,54 @@
+// PR c++/50500
+// { dg-options "-std=c++0x" }
+
+// If a class declares move operations, the implicitly declared copy
+// operations are deleted.
+struct A
+{
+ A();
+ A(A&&);
+ A& operator=(A&&);
+};
+
+// But they can still be explicitly defaulted.
+struct B
+{
+ B();
+ B(B&&);
+ B(const B&) = default;
+ B& operator=(B&&);
+ B& operator=(const B&) = default;
+};
+
+struct C
+{
+ C();
+ C(C&&);
+};
+
+struct D
+{
+ D();
+ D& operator=(D&&);
+};
+
+int main()
+{
+ A a;
+ A a2 (a); // { dg-error "deleted" }
+ a2 = a; // { dg-error "deleted" }
+
+ B b;
+ B b2 (b);
+ b2 = b;
+
+ C c;
+ C c2(c); // { dg-error "deleted" }
+ c2 = c; // { dg-error "deleted" }
+
+ D d;
+ D d2(d); // { dg-error "deleted" }
+ d2 = d; // { dg-error "deleted" }
+}
+
+// { dg-prune-output "because" }
@@ -2,14 +2,13 @@
// constructor to be deleted.
// { dg-options "-std=c++0x" }
-struct A
+struct A // { dg-message "declares a move" }
{
- A(); // { dg-message "A::A|candidate expects" }
- A(A&&); // { dg-message "A::A|no known conversion" }
+ A();
+ A(A&&);
};
-struct B: A // { dg-error "implicit|no match" }
-// { dg-message "candidate" "candidate note" { target *-*-* } 11 }
+struct B: A // { dg-error "use of deleted" }
{
};
@@ -1,19 +1,19 @@
-// Test that the default B copy constructor calls the A member template
-// constructor.
+// Test that the default B copy constructor calls the deleted A
+// copy constructor.
// { dg-options -std=c++0x }
-struct A
+struct A // { dg-message "declares a move" }
{
A() = default;
A(A&&) = default;
template <class T>
- A(const T& t) { t.i; } // { dg-error "no member" }
+ A(const T& t) { t.i; }
};
-struct B: A { };
+struct B: A { }; // { dg-error "implicitly|use of deleted" }
int main()
{
B b;
- B b2(b);
+ B b2(b); // { dg-error "deleted" }
}
@@ -1,9 +1,6 @@
// The hack for PR c++/44909 breaks this testcase. We need feedback
// from the C++ committee to know how to proceed.
// { dg-options -std=c++0x }
-// { dg-prune-output "implicitly deleted" }
-// { dg-prune-output "cannot bind" }
-// { dg-prune-output "initializing argument" }
struct A
{
@@ -28,7 +25,8 @@ struct B
// subobject of C should use B(const BP&). But we ignore that constructor
// in order to break the cycle in 44909. Perhaps the move ctor shouldn't
// suppress the copy ctor?
-struct C: A, B { };
+// As of DR 1082, it doesn't suppress it.
+struct C: A, B { }; // { dg-error "use of deleted" }
C c;
-C c2(c); // { dg-bogus "deleted" "" { xfail *-*-* } }
+C c2(c); // { dg-error "deleted" }
@@ -9,7 +9,7 @@ decltype(F()) run(F f) // { dg-message "note" }
int main()
{
- auto l = []() { return 5; }; // { dg-error "lambda closure type" }
+ auto l = []() { return 5; }; // { dg-message "lambda closure type" }
run(l); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 14 }
@@ -1,8 +1,8 @@
// I, Howard Hinnant, hereby place this code in the public domain.
// Test that move constructor and move assignement are special.
-// That is, their presence should inhibit compiler generated
-// copy ctor or assignment.
+// That is, their presence should cause compiler declared
+// copy ctor or assignment to be deleted.
// { dg-options "-std=c++0x" }
@@ -24,12 +24,12 @@ struct base
base& operator=(const base&) {++assign; return *this;}
};
-struct derived
+struct derived // { dg-message "declares a move" }
: base
{
derived() {}
- derived(derived&&) {} // { dg-error "argument 1" }
- derived& operator=(derived&&) {return *this;} // { dg-error "argument 1" }
+ derived(derived&&) {}
+ derived& operator=(derived&&) {return *this;}
};
int test1()
@@ -37,11 +37,11 @@ int test1()
derived d;
derived d2(static_cast<derived&&>(d)); // should not call base::(const base&)
assert(copy == 0);
- derived d3(d); // { dg-error "lvalue" }
+ derived d3(d); // { dg-error "deleted" }
assert(copy == 1);
d2 = static_cast<derived&&>(d); // should not call base::operator=
assert(assign == 0);
- d3 = d; // { dg-error "lvalue" }
+ d3 = d; // { dg-error "deleted" }
assert(assign == 1);
return 0;
}
@@ -5,22 +5,22 @@
int move_construct = 0;
int move_assign = 0;
-struct base2
+struct base2 // { dg-message "declares a move" }
{
base2() {}
- base2(base2&&) {++move_construct;} // { dg-error "argument 1" }
- base2& operator=(base2&&) {++move_assign; return *this;} // { dg-error "argument 1" }
+ base2(base2&&) {++move_construct;}
+ base2& operator=(base2&&) {++move_assign; return *this;}
};
int test2()
{
base2 b;
- base2 b2(b); // { dg-error "lvalue" }
+ base2 b2(b); // { dg-error "deleted" }
assert(move_construct == 0);
base2 b3(static_cast<base2&&>(b));
base2 b4 = static_cast<base2&&>(b);
assert(move_construct == 2);
- b = b2; // { dg-error "lvalue" }
+ b = b2; // { dg-error "deleted" }
assert(move_assign == 0);
b = static_cast<base2&&>(b2);
assert(move_assign == 1);
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -35,9 +35,9 @@ one sink_1_1( A&); // { dg-error "" }
int test1_1()
{
A a;
- const A ca = a; // { dg-error "cannot bind" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "cannot bind" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_1(ca); // { dg-error "invalid initialization" }
sink_1_1(va); // { dg-error "invalid initialization" }
sink_1_1(cva); // { dg-error "invalid initialization" }
@@ -53,9 +53,9 @@ two sink_1_2(const A&); // { dg-error "" }
int test1_2()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_2(va); // { dg-error "invalid initialization" }
sink_1_2(cva); // { dg-error "invalid initialization" }
sink_1_2(v_source()); // { dg-error "invalid initialization" }
@@ -68,9 +68,9 @@ three sink_1_3(volatile A&); // { dg-error "" }
int test1_3()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_3(ca); // { dg-error "invalid initialization" }
sink_1_3(cva); // { dg-error "invalid initialization" }
sink_1_3(source()); // { dg-error "invalid initialization" }
@@ -85,9 +85,9 @@ four sink_1_4(const volatile A&); // { dg-error "" }
int test1_4()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_4(source()); // { dg-error "invalid initialization" }
sink_1_4(c_source()); // { dg-error "invalid initialization" }
sink_1_4(v_source()); // { dg-error "invalid initialization" }
@@ -100,9 +100,9 @@ five sink_1_5( A&&); // { dg-error "" }
int test1_5()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_5(a); // { dg-error "lvalue" }
sink_1_5(ca); // { dg-error "invalid initialization" }
sink_1_5(va); // { dg-error "invalid initialization" }
@@ -118,9 +118,9 @@ six sink_1_6(const A&&); // { dg-error "" }
int test1_6()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_6(a); // { dg-error "lvalue" }
sink_1_6(ca); // { dg-error "lvalue" }
sink_1_6(va); // { dg-error "invalid initialization" }
@@ -135,9 +135,9 @@ seven sink_1_7(volatile A&&); // { dg-error "" }
int test1_7()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_7(a); // { dg-error "lvalue" }
sink_1_7(ca); // { dg-error "invalid initialization" }
sink_1_7(va); // { dg-error "lvalue" }
@@ -152,9 +152,9 @@ eight sink_1_8(const volatile A&&); // { dg-error "" }
int test1_8()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_1_8(a); // { dg-error "lvalue" }
sink_1_8(ca); // { dg-error "lvalue" }
sink_1_8(va); // { dg-error "lvalue" }
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -36,9 +36,9 @@ two sink_2_12(const A&); // { dg-message "note|argument" }
int test2_12()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_12(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 42 }
sink_2_12(cva); // { dg-error "no match" }
@@ -56,9 +56,9 @@ three sink_2_13(volatile A&); // { dg-message "note|argument" }
int test2_13()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_13(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 62 }
sink_2_13(cva); // { dg-error "no match" }
@@ -80,9 +80,9 @@ four sink_2_14(const volatile A&); // { dg-message "note|argument" }
int test2_14()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_14(source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 86 }
sink_2_14(c_source()); // { dg-error "no match" }
@@ -100,9 +100,9 @@ five sink_2_15( A&&); // { dg-message "note|argument" }
int test2_15()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_15(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 106 }
sink_2_15(va); // { dg-error "no match" }
@@ -124,9 +124,9 @@ six sink_2_16(const A&&); // { dg-message "note|argument" }
int test2_16()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_16(ca); // { dg-error "lvalue" }
sink_2_16(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 131 }
@@ -145,9 +145,9 @@ seven sink_2_17(volatile A&&); // { dg-message "note|argument" }
int test2_17()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_17(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 151 }
sink_2_17(va); // { dg-error "lvalue" }
@@ -166,9 +166,9 @@ eight sink_2_18(const volatile A&&); // { dg-error "argument" }
int test2_18()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_18(ca); // { dg-error "lvalue" }
sink_2_18(va); // { dg-error "lvalue" }
sink_2_18(cva); // { dg-error "lvalue" }
@@ -180,9 +180,9 @@ three sink_2_23(volatile A&); // { dg-message "note|argument" }
int test2_23()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_23(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 186 }
sink_2_23(cva); // { dg-error "no match" }
@@ -200,9 +200,9 @@ four sink_2_24(const volatile A&); // { dg-message "note|argument" }
int test2_24()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_24(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 206 }
sink_2_24(cv_source()); // { dg-error "no match" }
@@ -216,9 +216,9 @@ four sink_2_34(const volatile A&); // { dg-message "note|argument" }
int test2_34()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_34(source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 222 }
sink_2_34(c_source()); // { dg-error "no match" }
@@ -236,9 +236,9 @@ five sink_2_25( A&&); // { dg-message "note|argument" }
int test2_25()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_25(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 242 }
sink_2_25(cva); // { dg-error "no match" }
@@ -256,9 +256,9 @@ six sink_2_26(const A&&); // { dg-message "note|argument" }
int test2_26()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_26(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 262 }
sink_2_26(cva); // { dg-error "no match" }
@@ -276,9 +276,9 @@ seven sink_2_27(volatile A&&); // { dg-message "note|argument" }
int test2_27()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_27(va); // { dg-error "lvalue" }
sink_2_27(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 283 }
@@ -293,9 +293,9 @@ eight sink_2_28(const volatile A&&); // { dg-error "argument" }
int test2_28()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_28(va); // { dg-error "lvalue" }
sink_2_28(cva); // { dg-error "lvalue" }
}
@@ -306,9 +306,9 @@ five sink_2_35( A&&); // { dg-message "note|argument" }
int test2_35()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_35(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 312 }
sink_2_35(cva); // { dg-error "no match" }
@@ -328,9 +328,9 @@ six sink_2_36(const A&&); // { dg-message "note|argument" }
int test2_36()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_36(ca); // { dg-error "lvalue" }
sink_2_36(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 335 }
@@ -347,9 +347,9 @@ seven sink_2_37(volatile A&&); // { dg-message "note|argument" }
int test2_37()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_37(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 353 }
sink_2_37(cva); // { dg-error "no match" }
@@ -367,9 +367,9 @@ eight sink_2_38(const volatile A&&); // { dg-error "argument" }
int test2_38()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_38(ca); // { dg-error "lvalue" }
sink_2_38(cva); // { dg-error "lvalue" }
}
@@ -380,9 +380,9 @@ five sink_2_45( A&&); // { dg-message "note|argument" }
int test2_45()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_45(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 386 }
sink_2_45(v_source()); // { dg-error "no match" }
@@ -398,9 +398,9 @@ six sink_2_46(const A&&); // { dg-message "note|argument" }
int test2_46()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_46(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 404 }
sink_2_46(cv_source()); // { dg-error "no match" }
@@ -414,9 +414,9 @@ seven sink_2_47(volatile A&&); // { dg-message "note|argument" }
int test2_47()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_47(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 420 }
sink_2_47(cv_source()); // { dg-error "no match" }
@@ -430,9 +430,9 @@ six sink_2_56(const A&&); // { dg-message "note|argument" }
int test2_56()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_56(a); // { dg-error "lvalue" }
sink_2_56(ca); // { dg-error "lvalue" }
sink_2_56(va); // { dg-error "no match" }
@@ -452,9 +452,9 @@ seven sink_2_57(volatile A&&); // { dg-message "note|argument" }
int test2_57()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_57(a); // { dg-error "lvalue" }
sink_2_57(va); // { dg-error "lvalue" }
sink_2_57(ca); // { dg-error "no match" }
@@ -474,9 +474,9 @@ eight sink_2_58(const volatile A&&); // { dg-error "argument" }
int test2_58()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_58(a); // { dg-error "lvalue" }
sink_2_58(ca); // { dg-error "lvalue" }
sink_2_58(va); // { dg-error "lvalue" }
@@ -489,9 +489,9 @@ seven sink_2_67(volatile A&&); // { dg-message "note|argument" }
int test2_67()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_67(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 495 }
sink_2_67(ca); // { dg-error "lvalue" }
@@ -511,9 +511,9 @@ eight sink_2_68(const volatile A&&); // { dg-error "argument" }
int test2_68()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_68(a); // { dg-error "lvalue" }
sink_2_68(ca); // { dg-error "lvalue" }
sink_2_68(va); // { dg-error "lvalue" }
@@ -526,9 +526,9 @@ eight sink_2_78(const volatile A&&); // { dg-error "argument" }
int test2_78()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_2_78(a); // { dg-error "lvalue" }
sink_2_78(ca); // { dg-error "lvalue" }
sink_2_78(va); // { dg-error "lvalue" }
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -37,9 +37,9 @@ three sink_3_123(volatile A&); // { dg-message "three sink_3_123|no known
int test3_123()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_123(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 43 }
sink_3_123(v_source()); // { dg-error "no match" }
@@ -60,9 +60,9 @@ four sink_3_124(const volatile A&); // { dg-message "four sink_3_124|no known
int test3_124()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_124(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
sink_3_124(cv_source()); // { dg-error "no match" }
@@ -73,9 +73,9 @@ int test3_124()
int test3_125()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_125(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 79 }
sink_3_125(cva); // { dg-error "no match" }
@@ -94,9 +94,9 @@ six sink_3_126(const A&&); // { dg-message "six sink_3_126|no known
int test3_126()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_126(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 100 }
sink_3_126(cva); // { dg-error "no match" }
@@ -115,9 +115,9 @@ seven sink_3_127(volatile A&&); // { dg-message "seven sink_3_127|no know
int test3_127()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_127(va); // { dg-error "lvalue" }
sink_3_127(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 122 }
@@ -133,9 +133,9 @@ eight sink_3_128(const volatile A&&); // { dg-message "" }
int test3_128()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_128(va); // { dg-error "lvalue" }
sink_3_128(cva); // { dg-error "lvalue" }
@@ -148,9 +148,9 @@ four sink_3_134(const volatile A&); // { dg-message "four sink_3_134|no known
int test3_134()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_134(source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 154 }
sink_3_134(c_source()); // { dg-error "no match" }
@@ -169,9 +169,9 @@ five sink_3_135( A&&); // { dg-message "five sink_3_135|no known
int test3_135()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_135(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 175 }
sink_3_135(cva); // { dg-error "no match" }
@@ -192,9 +192,9 @@ six sink_3_136(const A&&); // { dg-message "" }
int test3_136()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_136(ca); // { dg-error "lvalue" }
sink_3_136(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 199 }
@@ -212,9 +212,9 @@ seven sink_3_137(volatile A&&); // { dg-message "note" }
int test3_137()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_137(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 218 }
sink_3_137(cva); // { dg-error "no match" }
@@ -233,9 +233,9 @@ eight sink_3_138(const volatile A&&); // { dg-message "" }
int test3_138()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_138(ca); // { dg-error "lvalue" }
sink_3_138(cva); // { dg-error "lvalue" }
return 0;
@@ -248,9 +248,9 @@ five sink_3_145( A&&); // { dg-message "note" }
int test3_145()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_145(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 254 }
sink_3_145(v_source()); // { dg-error "no match" }
@@ -267,9 +267,9 @@ six sink_3_146(const A&&); // { dg-message "note" }
int test3_146()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_146(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 273 }
sink_3_146(cv_source()); // { dg-error "no match" }
@@ -284,9 +284,9 @@ seven sink_3_147(volatile A&&); // { dg-message "note" }
int test3_147()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_147(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 290 }
sink_3_147(cv_source()); // { dg-error "no match" }
@@ -301,9 +301,9 @@ six sink_3_156(const A&&); // { dg-message "" }
int test3_156()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_156(ca); // { dg-error "lvalue" }
sink_3_156(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 308 }
@@ -323,9 +323,9 @@ seven sink_3_157(volatile A&&); // { dg-message "" }
int test3_157()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_157(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 329 }
sink_3_157(va); // { dg-error "lvalue" }
@@ -345,9 +345,9 @@ eight sink_3_158(const volatile A&&); // { dg-message "" }
int test3_158()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_158(ca); // { dg-error "lvalue" }
sink_3_158(va); // { dg-error "lvalue" }
sink_3_158(cva); // { dg-error "lvalue" }
@@ -361,9 +361,9 @@ seven sink_3_167(volatile A&&); // { dg-message "" }
int test3_167()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_167(ca); // { dg-error "lvalue" }
sink_3_167(va); // { dg-error "lvalue" }
sink_3_167(cva); // { dg-error "no match" }
@@ -382,9 +382,9 @@ eight sink_3_168(const volatile A&&); // { dg-message "" }
int test3_168()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_168(ca); // { dg-error "lvalue" }
sink_3_168(va); // { dg-error "lvalue" }
sink_3_168(cva); // { dg-error "lvalue" }
@@ -398,9 +398,9 @@ eight sink_3_178(const volatile A&&); // { dg-message "" }
int test3_178()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_178(ca); // { dg-error "lvalue" }
sink_3_178(va); // { dg-error "lvalue" }
sink_3_178(cva); // { dg-error "lvalue" }
@@ -414,9 +414,9 @@ four sink_3_234(const volatile A&); // { dg-message "note" }
int test3_234()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_234(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 420 }
sink_3_234(v_source()); // { dg-error "no match" }
@@ -433,9 +433,9 @@ five sink_3_235( A&&); // { dg-message "note" }
int test3_235()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_235(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 439 }
sink_3_235(cva); // { dg-error "no match" }
@@ -454,9 +454,9 @@ six sink_3_236(const A&&); // { dg-message "note" }
int test3_236()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_236(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 460 }
sink_3_236(cva); // { dg-error "no match" }
@@ -475,9 +475,9 @@ seven sink_3_237(volatile A&&); // { dg-message "note" }
int test3_237()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_237(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 481 }
sink_3_237(cva); // { dg-error "no match" }
@@ -494,9 +494,9 @@ eight sink_3_238(const volatile A&&); // { dg-message "eight sink_3_238|no know
int test3_238()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_238(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 500 }
sink_3_238(cva); // { dg-error "lvalue" }
@@ -510,9 +510,9 @@ five sink_3_245( A&&); // { dg-message "five sink_3_245|no known
int test3_245()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_245(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 516 }
sink_3_245(cv_source()); // { dg-error "no match" }
@@ -527,9 +527,9 @@ six sink_3_246(const A&&); // { dg-message "six sink_3_246|no known
int test3_246()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_246(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 533 }
sink_3_246(cv_source()); // { dg-error "no match" }
@@ -544,9 +544,9 @@ seven sink_3_247(volatile A&&); // { dg-message "seven sink_3_247|no know
int test3_247()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_247(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 550 }
return 0;
@@ -559,9 +559,9 @@ six sink_3_256(const A&&); // { dg-message "six sink_3_256|no known
int test3_256()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_256(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 565 }
sink_3_256(cva); // { dg-error "no match" }
@@ -580,9 +580,9 @@ seven sink_3_257(volatile A&&); // { dg-message "seven sink_3_257|no know
int test3_257()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_257(va); // { dg-error "lvalue" }
sink_3_257(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 587 }
@@ -598,9 +598,9 @@ eight sink_3_258(const volatile A&&); // { dg-message "" }
int test3_258()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_258(va); // { dg-error "lvalue" }
sink_3_258(cva); // { dg-error "lvalue" }
return 0;
@@ -613,9 +613,9 @@ seven sink_3_267(volatile A&&); // { dg-message "seven sink_3_267|no know
int test3_267()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_267(va); // { dg-error "lvalue" }
sink_3_267(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 620 }
@@ -633,9 +633,9 @@ eight sink_3_268(const volatile A&&); // { dg-message "" }
int test3_268()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_268(va); // { dg-error "lvalue" }
sink_3_268(cva); // { dg-error "lvalue" }
return 0;
@@ -648,9 +648,9 @@ eight sink_3_278(const volatile A&&); // { dg-message "" }
int test3_278()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_278(va); // { dg-error "lvalue" }
sink_3_278(cva); // { dg-error "lvalue" }
return 0;
@@ -663,9 +663,9 @@ five sink_3_345( A&&); // { dg-message "five sink_3_345|no known
int test3_345()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_345(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 669 }
sink_3_345(v_source()); // { dg-error "no match" }
@@ -682,9 +682,9 @@ six sink_3_346(const A&&); // { dg-message "six sink_3_346|no known
int test3_346()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_346(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
sink_3_346(cv_source()); // { dg-error "no match" }
@@ -699,9 +699,9 @@ seven sink_3_347(volatile A&&); // { dg-message "seven sink_3_347|no know
int test3_347()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_347(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 705 }
sink_3_347(cv_source()); // { dg-error "no match" }
@@ -716,9 +716,9 @@ six sink_3_356(const A&&); // { dg-message "six sink_3_356|no known
int test3_356()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_356(ca); // { dg-error "lvalue" }
sink_3_356(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 723 }
@@ -736,9 +736,9 @@ seven sink_3_357(volatile A&&); // { dg-message "seven sink_3_357|no know
int test3_357()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_357(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 742 }
sink_3_357(cva); // { dg-error "no match" }
@@ -757,9 +757,9 @@ eight sink_3_358(const volatile A&&); // { dg-message "" }
int test3_358()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_358(ca); // { dg-error "lvalue" }
sink_3_358(cva); // { dg-error "lvalue" }
return 0;
@@ -772,9 +772,9 @@ seven sink_3_367(volatile A&&); // { dg-message "seven sink_3_367|no know
int test3_367()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_367(ca); // { dg-error "lvalue" }
sink_3_367(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 779 }
@@ -792,9 +792,9 @@ eight sink_3_368(const volatile A&&); // { dg-message "" }
int test3_368()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_368(ca); // { dg-error "lvalue" }
sink_3_368(cva); // { dg-error "lvalue" }
return 0;
@@ -807,9 +807,9 @@ eight sink_3_378(const volatile A&&); // { dg-message "" }
int test3_378()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_378(ca); // { dg-error "lvalue" }
sink_3_378(cva); // { dg-error "lvalue" }
return 0;
@@ -822,9 +822,9 @@ six sink_3_456(const A&&); // { dg-message "note" }
int test3_456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 828 }
sink_3_456(cv_source()); // { dg-error "no match" }
@@ -839,9 +839,9 @@ seven sink_3_457(volatile A&&); // { dg-message "note" }
int test3_457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_457(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 845 }
sink_3_457(cv_source()); // { dg-error "no match" }
@@ -856,9 +856,9 @@ seven sink_3_467(volatile A&&); // { dg-message "note" }
int test3_467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 862 }
sink_3_467(cv_source()); // { dg-error "no match" }
@@ -873,9 +873,9 @@ seven sink_3_567(volatile A&&); // { dg-message "seven sink_3_567|no know
int test3_567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_567(a); // { dg-error "lvalue" }
sink_3_567(ca); // { dg-error "lvalue" }
sink_3_567(va); // { dg-error "lvalue" }
@@ -893,9 +893,9 @@ eight sink_3_568(const volatile A&&); // { dg-message "" }
int test3_568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_568(a); // { dg-error "lvalue" }
sink_3_568(ca); // { dg-error "lvalue" }
sink_3_568(va); // { dg-error "lvalue" }
@@ -910,9 +910,9 @@ eight sink_3_578(const volatile A&&); // { dg-message "" }
int test3_578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_578(a); // { dg-error "lvalue" }
sink_3_578(ca); // { dg-error "lvalue" }
sink_3_578(va); // { dg-error "lvalue" }
@@ -927,9 +927,9 @@ eight sink_3_678(const volatile A&&); // { dg-message "eight sink_3_678|no know
int test3_678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_3_678(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 933 }
sink_3_678(ca); // { dg-error "lvalue" }
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -38,9 +38,9 @@ four sink_4_1234(const volatile A&); // { dg-message "note" }
int test4_1234()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1234(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 44 }
sink_4_1234(cv_source()); // { dg-error "no match" }
@@ -56,9 +56,9 @@ five sink_4_1235( A&&); // { dg-message "note" }
int test4_1235()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1235(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 62 }
sink_4_1235(v_source()); // { dg-error "no match" }
@@ -76,9 +76,9 @@ six sink_4_1236(const A&&); // { dg-message "note" }
int test4_1236()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1236(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 82 }
sink_4_1236(v_source()); // { dg-error "no match" }
@@ -96,9 +96,9 @@ seven sink_4_1237(volatile A&&); // { dg-message "note" }
int test4_1237()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1237(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 102 }
sink_4_1237(cv_source()); // { dg-error "no match" }
@@ -114,9 +114,9 @@ eight sink_4_1238(const volatile A&&); // { dg-message "" }
int test4_1238()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1238(cva); // { dg-error "lvalue" }
return 0;
}
@@ -129,9 +129,9 @@ five sink_4_1245( A&&); // { dg-message "note" }
int test4_1245()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1245(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 135 }
sink_4_1245(cv_source()); // { dg-error "no match" }
@@ -147,9 +147,9 @@ six sink_4_1246(const A&&); // { dg-message "note" }
int test4_1246()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1246(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 153 }
sink_4_1246(cv_source()); // { dg-error "no match" }
@@ -165,9 +165,9 @@ seven sink_4_1247(volatile A&&); // { dg-message "note" }
int test4_1247()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1247(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 171 }
return 0;
@@ -181,9 +181,9 @@ six sink_4_1256(const A&&); // { dg-message "note" }
int test4_1256()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1256(va); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 187 }
sink_4_1256(cva); // { dg-error "no match" }
@@ -203,9 +203,9 @@ seven sink_4_1257(volatile A&&); // { dg-message "" }
int test4_1257()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1257(va); // { dg-error "lvalue" }
sink_4_1257(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 210 }
@@ -222,9 +222,9 @@ eight sink_4_1258(const volatile A&&); // { dg-message "" }
int test4_1258()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1258(va); // { dg-error "lvalue" }
sink_4_1258(cva); // { dg-error "lvalue" }
return 0;
@@ -238,9 +238,9 @@ seven sink_4_1267(volatile A&&); // { dg-message "" }
int test4_1267()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1267(va); // { dg-error "lvalue" }
sink_4_1267(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 245 }
@@ -259,9 +259,9 @@ eight sink_4_1268(const volatile A&&); // { dg-message "" }
int test4_1268()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1268(va); // { dg-error "lvalue" }
sink_4_1268(cva); // { dg-error "lvalue" }
return 0;
@@ -275,9 +275,9 @@ eight sink_4_1278(const volatile A&&); // { dg-message "" }
int test4_1278()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1278(va); // { dg-error "lvalue" }
sink_4_1278(cva); // { dg-error "lvalue" }
return 0;
@@ -291,9 +291,9 @@ five sink_4_1345( A&&); // { dg-message "note" }
int test4_1345()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1345(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 297 }
sink_4_1345(v_source()); // { dg-error "no match" }
@@ -311,9 +311,9 @@ six sink_4_1346(const A&&); // { dg-message "note" }
int test4_1346()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1346(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 317 }
sink_4_1346(cv_source()); // { dg-error "no match" }
@@ -329,9 +329,9 @@ seven sink_4_1347(volatile A&&); // { dg-message "note" }
int test4_1347()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1347(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 335 }
sink_4_1347(cv_source()); // { dg-error "no match" }
@@ -347,9 +347,9 @@ six sink_4_1356(const A&&); // { dg-message "" }
int test4_1356()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1356(ca); // { dg-error "lvalue" }
sink_4_1356(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 354 }
@@ -368,9 +368,9 @@ seven sink_4_1357(volatile A&&); // { dg-message "note" }
int test4_1357()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1357(ca); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 374 }
sink_4_1357(cva); // { dg-error "no match" }
@@ -390,9 +390,9 @@ eight sink_4_1358(const volatile A&&); // { dg-message "" }
int test4_1358()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1358(ca); // { dg-error "lvalue" }
sink_4_1358(cva); // { dg-error "lvalue" }
return 0;
@@ -406,9 +406,9 @@ seven sink_4_1367(volatile A&&); // { dg-message "note" }
int test4_1367()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1367(ca); // { dg-error "lvalue" }
sink_4_1367(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 413 }
@@ -427,9 +427,9 @@ eight sink_4_1368(const volatile A&&); // { dg-message "" }
int test4_1368()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1368(ca); // { dg-error "lvalue" }
sink_4_1368(cva); // { dg-error "lvalue" }
return 0;
@@ -443,9 +443,9 @@ eight sink_4_1378(const volatile A&&); // { dg-message "" }
int test4_1378()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1378(ca); // { dg-error "lvalue" }
sink_4_1378(cva); // { dg-error "lvalue" }
return 0;
@@ -459,9 +459,9 @@ six sink_4_1456(const A&&); // { dg-message "note" }
int test4_1456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 465 }
sink_4_1456(cv_source()); // { dg-error "no match" }
@@ -477,9 +477,9 @@ seven sink_4_1457(volatile A&&); // { dg-message "note" }
int test4_1457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1457(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 483 }
sink_4_1457(cv_source()); // { dg-error "no match" }
@@ -495,9 +495,9 @@ seven sink_4_1467(volatile A&&); // { dg-message "note" }
int test4_1467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 501 }
sink_4_1467(cv_source()); // { dg-error "no match" }
@@ -513,9 +513,9 @@ seven sink_4_1567(volatile A&&); // { dg-message "" }
int test4_1567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1567(ca); // { dg-error "lvalue" }
sink_4_1567(va); // { dg-error "lvalue" }
sink_4_1567(cva); // { dg-error "no match" }
@@ -533,9 +533,9 @@ eight sink_4_1568(const volatile A&&); // { dg-message "" }
int test4_1568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1568(ca); // { dg-error "lvalue" }
sink_4_1568(va); // { dg-error "lvalue" }
sink_4_1568(cva); // { dg-error "lvalue" }
@@ -550,9 +550,9 @@ eight sink_4_1578(const volatile A&&); // { dg-message "" }
int test4_1578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1578(ca); // { dg-error "lvalue" }
sink_4_1578(va); // { dg-error "lvalue" }
sink_4_1578(cva); // { dg-error "lvalue" }
@@ -567,9 +567,9 @@ eight sink_4_1678(const volatile A&&); // { dg-message "" }
int test4_1678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_1678(ca); // { dg-error "lvalue" }
sink_4_1678(va); // { dg-error "lvalue" }
sink_4_1678(cva); // { dg-error "lvalue" }
@@ -586,9 +586,9 @@ five sink_4_2345( A&&); // { dg-message "note" }
int test4_2345()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2345(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 592 }
sink_4_2345(v_source()); // { dg-error "no match" }
@@ -606,9 +606,9 @@ six sink_4_2346(const A&&); // { dg-message "note" }
int test4_2346()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2346(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 612 }
sink_4_2346(v_source()); // { dg-error "no match" }
@@ -626,9 +626,9 @@ seven sink_4_2347(volatile A&&); // { dg-message "note" }
int test4_2347()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2347(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 632 }
sink_4_2347(cv_source()); // { dg-error "no match" }
@@ -644,9 +644,9 @@ eight sink_4_2348(const volatile A&&); // { dg-message "note" }
int test4_2348()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2348(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 650 }
return 0;
@@ -660,9 +660,9 @@ six sink_4_2356(const A&&); // { dg-message "note" }
int test4_2356()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2356(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 666 }
sink_4_2356(cva); // { dg-error "no match" }
@@ -682,9 +682,9 @@ seven sink_4_2357(volatile A&&); // { dg-message "note" }
int test4_2357()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2357(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
sink_4_2357(cva); // { dg-error "no match" }
@@ -702,9 +702,9 @@ eight sink_4_2358(const volatile A&&); // { dg-message "" }
int test4_2358()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2358(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 708 }
sink_4_2358(cva); // { dg-error "lvalue" }
@@ -719,9 +719,9 @@ seven sink_4_2367(volatile A&&); // { dg-message "note" }
int test4_2367()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2367(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 725 }
sink_4_2367(cva); // { dg-error "no match" }
@@ -741,9 +741,9 @@ eight sink_4_2368(const volatile A&&); // { dg-message "" }
int test4_2368()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2368(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 747 }
sink_4_2368(cva); // { dg-error "lvalue" }
@@ -758,9 +758,9 @@ eight sink_4_2378(const volatile A&&); // { dg-message "" }
int test4_2378()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2378(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 764 }
sink_4_2378(cva); // { dg-error "lvalue" }
@@ -775,9 +775,9 @@ six sink_4_2456(const A&&); // { dg-message "note" }
int test4_2456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 781 }
sink_4_2456(cv_source()); // { dg-error "no match" }
@@ -793,9 +793,9 @@ seven sink_4_2457(volatile A&&); // { dg-message "note" }
int test4_2457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2457(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 799 }
return 0;
@@ -809,9 +809,9 @@ seven sink_4_2467(volatile A&&); // { dg-message "note" }
int test4_2467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 815 }
sink_4_2467(cv_source()); // { dg-error "no match" }
@@ -827,9 +827,9 @@ seven sink_4_2567(volatile A&&); // { dg-message "" }
int test4_2567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2567(va); // { dg-error "lvalue" }
sink_4_2567(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 834 }
@@ -846,9 +846,9 @@ eight sink_4_2568(const volatile A&&); // { dg-message "" }
int test4_2568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2568(va); // { dg-error "lvalue" }
sink_4_2568(cva); // { dg-error "lvalue" }
return 0;
@@ -862,9 +862,9 @@ eight sink_4_2578(const volatile A&&); // { dg-message "" }
int test4_2578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2578(va); // { dg-error "lvalue" }
sink_4_2578(cva); // { dg-error "lvalue" }
return 0;
@@ -878,9 +878,9 @@ eight sink_4_2678(const volatile A&&); // { dg-message "" }
int test4_2678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_2678(va); // { dg-error "lvalue" }
sink_4_2678(cva); // { dg-error "lvalue" }
sink_4_2678(source()); // { dg-error "ambiguous" }
@@ -896,9 +896,9 @@ six sink_4_3456(const A&&); // { dg-message "note" }
int test4_3456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 902 }
sink_4_3456(cv_source()); // { dg-error "no match" }
@@ -914,9 +914,9 @@ seven sink_4_3457(volatile A&&); // { dg-message "note" }
int test4_3457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3457(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 920 }
sink_4_3457(cv_source()); // { dg-error "no match" }
@@ -932,9 +932,9 @@ seven sink_4_3467(volatile A&&); // { dg-message "note" }
int test4_3467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 938 }
sink_4_3467(cv_source()); // { dg-error "no match" }
@@ -950,9 +950,9 @@ seven sink_4_3567(volatile A&&); // { dg-message "note" }
int test4_3567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3567(ca); // { dg-error "lvalue" }
sink_4_3567(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 957 }
@@ -969,9 +969,9 @@ eight sink_4_3568(const volatile A&&); // { dg-message "" }
int test4_3568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3568(ca); // { dg-error "lvalue" }
sink_4_3568(cva); // { dg-error "lvalue" }
return 0;
@@ -985,9 +985,9 @@ eight sink_4_3578(const volatile A&&); // { dg-message "" }
int test4_3578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3578(ca); // { dg-error "lvalue" }
sink_4_3578(cva); // { dg-error "lvalue" }
return 0;
@@ -1001,9 +1001,9 @@ eight sink_4_3678(const volatile A&&); // { dg-message "" }
int test4_3678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_3678(ca); // { dg-error "lvalue" }
sink_4_3678(cva); // { dg-error "lvalue" }
sink_4_3678(source()); // { dg-error "ambiguous" }
@@ -1019,9 +1019,9 @@ seven sink_4_4567(volatile A&&); // { dg-message "note" }
int test4_4567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_4567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 1025 }
return 0;
@@ -1035,9 +1035,9 @@ eight sink_4_4678(const volatile A&&); // { dg-message "note" }
int test4_4678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_4678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 1041 }
return 0;
@@ -1051,9 +1051,9 @@ eight sink_4_5678(const volatile A&&); // { dg-message "" }
int test4_5678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_4_5678(a); // { dg-error "lvalue" }
sink_4_5678(ca); // { dg-error "lvalue" }
sink_4_5678(va); // { dg-error "lvalue" }
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -39,9 +39,9 @@ five sink_5_12345( A&&); // { dg-message "note" }
int test5_12345()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12345(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 45 }
sink_5_12345(cv_source()); // { dg-error "no match" }
@@ -58,9 +58,9 @@ six sink_5_12346(const A&&); // { dg-message "note" }
int test5_12346()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12346(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 64 }
sink_5_12346(cv_source()); // { dg-error "no match" }
@@ -77,9 +77,9 @@ seven sink_5_12347(volatile A&&); // { dg-message "note" }
int test5_12347()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12347(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 83 }
return 0;
@@ -94,9 +94,9 @@ six sink_5_12356(const A&&); // { dg-message "note" }
int test5_12356()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12356(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 100 }
sink_5_12356(v_source()); // { dg-error "no match" }
@@ -115,9 +115,9 @@ seven sink_5_12357(volatile A&&); // { dg-message "note" }
int test5_12357()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12357(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 121 }
sink_5_12357(cv_source()); // { dg-error "no match" }
@@ -134,9 +134,9 @@ eight sink_5_12358(const volatile A&&); // { dg-message "" }
int test5_12358()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12358(cva); // { dg-error "lvalue" }
return 0;
}
@@ -150,9 +150,9 @@ seven sink_5_12367(volatile A&&); // { dg-message "note" }
int test5_12367()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12367(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 156 }
sink_5_12367(source()); // { dg-error "ambiguous" }
@@ -171,9 +171,9 @@ eight sink_5_12368(const volatile A&&); // { dg-message "" }
int test5_12368()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12368(cva); // { dg-error "lvalue" }
return 0;
}
@@ -187,9 +187,9 @@ eight sink_5_12378(const volatile A&&); // { dg-message "" }
int test5_12378()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12378(cva); // { dg-error "lvalue" }
return 0;
}
@@ -203,9 +203,9 @@ six sink_5_12456(const A&&); // { dg-message "note" }
int test5_12456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 209 }
sink_5_12456(cv_source()); // { dg-error "no match" }
@@ -222,9 +222,9 @@ seven sink_5_12457(volatile A&&); // { dg-message "note" }
int test5_12457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12457(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 228 }
return 0;
@@ -239,9 +239,9 @@ seven sink_5_12467(volatile A&&); // { dg-message "note" }
int test5_12467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 245 }
sink_5_12467(cv_source()); // { dg-error "no match" }
@@ -258,9 +258,9 @@ seven sink_5_12567(volatile A&&); // { dg-message "" }
int test5_12567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12567(va); // { dg-error "lvalue" }
sink_5_12567(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 265 }
@@ -278,9 +278,9 @@ eight sink_5_12568(const volatile A&&); // { dg-message "" }
int test5_12568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12568(va); // { dg-error "lvalue" }
sink_5_12568(cva); // { dg-error "lvalue" }
return 0;
@@ -295,9 +295,9 @@ eight sink_5_12578(const volatile A&&); // { dg-message "" }
int test5_12578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12578(va); // { dg-error "lvalue" }
sink_5_12578(cva); // { dg-error "lvalue" }
return 0;
@@ -312,9 +312,9 @@ eight sink_5_12678(const volatile A&&); // { dg-message "" }
int test5_12678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_12678(va); // { dg-error "lvalue" }
sink_5_12678(cva); // { dg-error "lvalue" }
sink_5_12678(source()); // { dg-error "ambiguous" }
@@ -331,9 +331,9 @@ six sink_5_13456(const A&&); // { dg-message "note" }
int test5_13456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 337 }
sink_5_13456(cv_source()); // { dg-error "no match" }
@@ -350,9 +350,9 @@ seven sink_5_13457(volatile A&&); // { dg-message "note" }
int test5_13457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13457(c_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 356 }
sink_5_13457(cv_source()); // { dg-error "no match" }
@@ -369,9 +369,9 @@ seven sink_5_13467(volatile A&&); // { dg-message "note" }
int test5_13467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 375 }
sink_5_13467(cv_source()); // { dg-error "no match" }
@@ -388,9 +388,9 @@ seven sink_5_13567(volatile A&&); // { dg-message "note" }
int test5_13567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13567(ca); // { dg-error "lvalue" }
sink_5_13567(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 395 }
@@ -408,9 +408,9 @@ eight sink_5_13568(const volatile A&&); // { dg-message "" }
int test5_13568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13568(ca); // { dg-error "lvalue" }
sink_5_13568(cva); // { dg-error "lvalue" }
return 0;
@@ -425,9 +425,9 @@ eight sink_5_13578(const volatile A&&); // { dg-message "" }
int test5_13578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13578(ca); // { dg-error "lvalue" }
sink_5_13578(cva); // { dg-error "lvalue" }
return 0;
@@ -442,9 +442,9 @@ eight sink_5_13678(const volatile A&&); // { dg-message "" }
int test5_13678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_13678(ca); // { dg-error "lvalue" }
sink_5_13678(cva); // { dg-error "lvalue" }
sink_5_13678(source()); // { dg-error "ambiguous" }
@@ -461,9 +461,9 @@ seven sink_5_14567(volatile A&&); // { dg-message "note" }
int test5_14567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_14567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 467 }
return 0;
@@ -478,9 +478,9 @@ eight sink_5_14678(const volatile A&&); // { dg-message "note" }
int test5_14678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_14678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 484 }
return 0;
@@ -495,9 +495,9 @@ eight sink_5_15678(const volatile A&&); // { dg-message "" }
int test5_15678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_15678(ca); // { dg-error "lvalue" }
sink_5_15678(va); // { dg-error "lvalue" }
sink_5_15678(cva); // { dg-error "lvalue" }
@@ -513,9 +513,9 @@ six sink_5_23456(const A&&); // { dg-message "note" }
int test5_23456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23456(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 519 }
sink_5_23456(v_source()); // { dg-error "no match" }
@@ -534,9 +534,9 @@ seven sink_5_23457(volatile A&&); // { dg-message "note" }
int test5_23457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23457(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 540 }
sink_5_23457(cv_source()); // { dg-error "no match" }
@@ -553,9 +553,9 @@ eight sink_5_23458(const volatile A&&); // { dg-message "note" }
int test5_23458()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23458(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 559 }
return 0;
@@ -570,9 +570,9 @@ seven sink_5_23467(volatile A&&); // { dg-message "note" }
int test5_23467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23467(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 576 }
sink_5_23467(source()); // { dg-error "ambiguous" }
@@ -591,9 +591,9 @@ eight sink_5_23468(const volatile A&&); // { dg-message "note" }
int test5_23468()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23468(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 597 }
return 0;
@@ -608,9 +608,9 @@ eight sink_5_23478(const volatile A&&); // { dg-message "note" }
int test5_23478()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23478(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 614 }
return 0;
@@ -625,9 +625,9 @@ seven sink_5_23567(volatile A&&); // { dg-message "note" }
int test5_23567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23567(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 631 }
sink_5_23567(cva); // { dg-error "no match" }
@@ -646,9 +646,9 @@ eight sink_5_23568(const volatile A&&); // { dg-message "" }
int test5_23568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23568(cva); // { dg-error "lvalue" }
sink_5_23568(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 653 }
@@ -664,9 +664,9 @@ eight sink_5_23578(const volatile A&&); // { dg-message "" }
int test5_23578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23578(cva); // { dg-error "lvalue" }
sink_5_23578(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 671 }
@@ -682,9 +682,9 @@ eight sink_5_23678(const volatile A&&); // { dg-message "" }
int test5_23678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_23678(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
sink_5_23678(cva); // { dg-error "lvalue" }
@@ -702,9 +702,9 @@ seven sink_5_24567(volatile A&&); // { dg-message "note" }
int test5_24567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_24567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 708 }
return 0;
@@ -719,9 +719,9 @@ eight sink_5_24678(const volatile A&&); // { dg-message "note" }
int test5_24678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_24678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 725 }
return 0;
@@ -736,9 +736,9 @@ eight sink_5_25678(const volatile A&&); // { dg-message "" }
int test5_25678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_25678(va); // { dg-error "lvalue" }
sink_5_25678(cva); // { dg-error "lvalue" }
return 0;
@@ -753,9 +753,9 @@ seven sink_5_34567(volatile A&&); // { dg-message "note" }
int test5_34567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_34567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 759 }
return 0;
@@ -770,9 +770,9 @@ eight sink_5_34678(const volatile A&&); // { dg-message "note" }
int test5_34678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_34678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 776 }
return 0;
@@ -787,9 +787,9 @@ eight sink_5_35678(const volatile A&&); // { dg-message "" }
int test5_35678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_5_35678(ca); // { dg-error "lvalue" }
sink_5_35678(cva); // { dg-error "lvalue" }
return 0;
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -40,9 +40,9 @@ six sink_6_123456(const A&&); // { dg-message "note" }
int test6_123456()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123456(v_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 46 }
sink_6_123456(cv_source()); // { dg-error "no match" }
@@ -60,9 +60,9 @@ seven sink_6_123457(volatile A&&); // { dg-message "note" }
int test6_123457()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123457(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
return 0;
@@ -78,9 +78,9 @@ eight sink_6_235678(const volatile A&&); // { dg-message "" }
int test6_235678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_235678(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 84 }
sink_6_235678(cva); // { dg-error "lvalue" }
@@ -97,9 +97,9 @@ eight sink_6_234678(const volatile A&&); // { dg-message "note" }
int test6_234678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_234678(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 103 }
sink_6_234678(source()); // { dg-error "ambiguous" }
@@ -117,9 +117,9 @@ eight sink_6_234578(const volatile A&&); // { dg-message "note" }
int test6_234578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_234578(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 123 }
return 0;
@@ -135,9 +135,9 @@ eight sink_6_234568(const volatile A&&); // { dg-message "note" }
int test6_234568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_234568(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 141 }
return 0;
@@ -153,9 +153,9 @@ seven sink_6_234567(volatile A&&); // { dg-message "note" }
int test6_234567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_234567(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 159 }
sink_6_234567(cv_source()); // { dg-error "no match" }
@@ -173,9 +173,9 @@ eight sink_6_134678(const volatile A&&); // { dg-message "note" }
int test6_134678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_134678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 179 }
return 0;
@@ -191,9 +191,9 @@ eight sink_6_124678(const volatile A&&); // { dg-message "note" }
int test6_124678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_124678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 197 }
return 0;
@@ -209,9 +209,9 @@ eight sink_6_123678(const volatile A&&); // { dg-message "" }
int test6_123678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123678(cva); // { dg-error "lvalue" }
sink_6_123678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 216 }
@@ -228,9 +228,9 @@ seven sink_6_123567(volatile A&&); // { dg-message "note" }
int test6_123567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123567(cva); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 234 }
sink_6_123567(cv_source()); // { dg-error "no match" }
@@ -248,9 +248,9 @@ eight sink_6_123568(const volatile A&&); // { dg-message "" }
int test6_123568()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123568(cva); // { dg-error "lvalue" }
return 0;
}
@@ -265,9 +265,9 @@ eight sink_6_123578(const volatile A&&); // { dg-message "" }
int test6_123578()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123578(cva); // { dg-error "lvalue" }
return 0;
}
@@ -282,9 +282,9 @@ seven sink_6_123467(volatile A&&); // { dg-message "note" }
int test6_123467()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_123467(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 288 }
sink_6_123467(cv_source()); // { dg-error "no match" }
@@ -302,9 +302,9 @@ seven sink_6_124567(volatile A&&); // { dg-message "note" }
int test6_124567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_124567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 308 }
return 0;
@@ -320,9 +320,9 @@ eight sink_6_125678(const volatile A&&); // { dg-message "" }
int test6_125678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_125678(va); // { dg-error "lvalue" }
sink_6_125678(cva); // { dg-error "lvalue" }
return 0;
@@ -338,9 +338,9 @@ seven sink_6_134567(volatile A&&); // { dg-message "note" }
int test6_134567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_134567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 344 }
return 0;
@@ -356,9 +356,9 @@ eight sink_6_135678(const volatile A&&); // { dg-message "" }
int test6_135678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_6_135678(ca); // { dg-error "lvalue" }
sink_6_135678(cva); // { dg-error "lvalue" }
return 0;
@@ -20,7 +20,7 @@ struct eight {char x[8];};
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
@@ -41,9 +41,9 @@ seven sink_7_1234567(volatile A&&); // { dg-message "note" }
int test7_1234567()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_7_1234567(cv_source()); // { dg-error "no match" }
// { dg-message "candidate" "candidate note" { target *-*-* } 47 }
return 0;
@@ -60,9 +60,9 @@ eight sink_7_1235678(const volatile A&&); // { dg-message "" }
int test7_1235678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_7_1235678(cva); // { dg-error "lvalue" }
return 0;
}
@@ -78,9 +78,9 @@ eight sink_7_2345678(const volatile A&&); // { dg-message "note" }
int test7_2345678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_7_2345678(a); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 84 }
return 0;
@@ -97,9 +97,9 @@ eight sink_7_1234678(const volatile A&&); // { dg-message "note" }
int test7_1234678()
{
A a;
- const A ca = a; // { dg-error "lvalue" }
+ const A ca = a; // { dg-error "deleted" }
volatile A va;
- const volatile A cva = a; // { dg-error "lvalue" }
+ const volatile A cva = a; // { dg-error "deleted" }
sink_7_1234678(source()); // { dg-error "ambiguous" }
// { dg-message "candidate" "candidate note" { target *-*-* } 103 }
return 0;
@@ -211,6 +211,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @param __r A %shared_ptr.
* @post get() == __r.get() && use_count() == __r.use_count()
*/
+ shared_ptr(const shared_ptr&) noexcept = default;
template<typename _Tp1, typename = typename
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
shared_ptr(const shared_ptr<_Tp1>& __r) noexcept
@@ -264,6 +265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr shared_ptr(nullptr_t __p) noexcept
: __shared_ptr<_Tp>(__p) { }
+ shared_ptr& operator=(const shared_ptr&) noexcept = default;
template<typename _Tp1>
shared_ptr&
operator=(const shared_ptr<_Tp1>& __r) noexcept
@@ -41,19 +41,3 @@ main()
test01();
return 0;
}
-
-// { dg-warning "note" "" { target *-*-* } 370 }
-// { dg-warning "note" "" { target *-*-* } 365 }
-// { dg-warning "note" "" { target *-*-* } 356 }
-// { dg-warning "note" "" { target *-*-* } 1103 }
-// { dg-warning "note" "" { target *-*-* } 1098 }
-// { dg-warning "note" "" { target *-*-* } 1089 }
-// { dg-warning "note" "" { target *-*-* } 485 }
-// { dg-warning "note" "" { target *-*-* } 479 }
-// { dg-warning "note" "" { target *-*-* } 468 }
-// { dg-warning "note" "" { target *-*-* } 841 }
-// { dg-warning "note" "" { target *-*-* } 1056 }
-// { dg-warning "note" "" { target *-*-* } 1050 }
-// { dg-warning "note" "" { target *-*-* } 342 }
-// { dg-warning "note" "" { target *-*-* } 292 }
-// { dg-warning "note" "" { target *-*-* } 224 }
@@ -409,6 +409,14 @@ namespace __gnu_test
propagating_allocator(const propagating_allocator&) noexcept = default;
+ propagating_allocator&
+ operator=(const propagating_allocator& a) noexcept
+ {
+ static_assert(Propagate, "assigning propagating_allocator<T, true>");
+ propagating_allocator(a).swap_base(*this);
+ return *this;
+ }
+
template<bool P2>
propagating_allocator&
operator=(const propagating_allocator<Tp, P2>& a) noexcept
@@ -255,6 +255,9 @@ namespace __gnu_test
{ throw 1; }
throwing_move_constructor(const throwing_move_constructor&) = default;
+
+ throwing_move_constructor&
+ operator=(const throwing_move_constructor&) = default;
};
} // namespace __gnu_test