+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ 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.
+
2011-10-18 Diego Novillo <dnovillo@google.com>
* parser.c: Remove ENABLE_CHECKING markers around debugging
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;
}
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;
}
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
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);
{
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,
/* 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)
+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/50500
+ * g++.dg/cpp0x/implicit12.C: New.
+ * g++.dg/cpp0x/defaulted20.C: Adjust.
+ * g++.dg/cpp0x/defaulted21.C: Adjust.
+ * g++.dg/cpp0x/implicit-copy.C: Adjust.
+ * g++.dg/cpp0x/implicit4.C: Adjust.
+ * g++.dg/cpp0x/implicit5.C: Adjust.
+ * g++.dg/cpp0x/implicit8.C: Adjust.
+ * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust.
+ * g++.dg/cpp0x/not_special.C: Adjust.
+ * g++.dg/cpp0x/rv-trivial-bug.C: Adjust.
+ * g++.dg/cpp0x/rv1n.C: Adjust.
+ * g++.dg/cpp0x/rv2n.C: Adjust.
+ * g++.dg/cpp0x/rv3n.C: Adjust.
+ * g++.dg/cpp0x/rv4n.C: Adjust.
+ * g++.dg/cpp0x/rv5n.C: Adjust.
+ * g++.dg/cpp0x/rv6n.C: Adjust.
+ * g++.dg/cpp0x/rv7n.C: Adjust.
+
2011-10-18 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/avx2-vpop-check.h: New header.
// { 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" }
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() {
{
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" }
}
--- /dev/null
+// 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" }
// 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" }
{
};
-// 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" }
}
// 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
{
// 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" }
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 }
// 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" }
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()
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;
}
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);
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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" }
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" }
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" }
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 }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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 }
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" }
}
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" }
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 }
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" }
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" }
}
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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" }
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" }
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" }
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 }
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" }
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" }
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" }
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 }
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" }
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;
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" }
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" }
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" }
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 }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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;
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" }
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 }
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;
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 }
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;
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;
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" }
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" }
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" }
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 }
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" }
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;
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 }
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;
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;
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" }
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" }
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" }
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" }
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" }
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" }
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" }
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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" }
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" }
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" }
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;
}
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" }
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" }
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;
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" }
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 }
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;
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 }
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;
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;
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" }
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" }
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" }
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 }
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" }
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;
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 }
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;
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;
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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;
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" }
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" }
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" }
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" }
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" }
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" }
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" }
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;
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" }
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 }
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;
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;
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" }
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" }
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" }
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" }
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 }
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;
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;
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" }
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;
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;
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" }
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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" }
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;
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" }
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" }
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;
}
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" }
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;
}
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;
}
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" }
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;
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" }
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 }
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;
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;
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" }
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" }
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" }
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" }
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 }
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;
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;
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" }
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;
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;
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" }
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" }
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" }
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;
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" }
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;
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;
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" }
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 }
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 }
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" }
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;
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;
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;
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;
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;
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;
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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" }
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;
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" }
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" }
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;
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;
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" }
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;
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;
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 }
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" }
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;
}
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;
}
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" }
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;
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;
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;
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;
struct A
{
A();
- A(const volatile A&&); // { dg-error "argument 1" }
+ A(const volatile A&&);
};
A source();
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;
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;
}
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;
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;
+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/50500
+ * include/bits/shared_ptr.h: Default copy ctor and assignment.
+ * testsuite/util/testsuite_allocator.h: Define copy assignment.
+ * testsuite/util/testsuite_rvalref.h: Default copy assignment.
+ * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove note tags.
+
2011-10-17 Michael Spertus <mike_spertus@symantec.com>
* include/tr2/type_traits (bases, direct_bases, typelist): New.
* @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
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
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 }
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
{ throw 1; }
throwing_move_constructor(const throwing_move_constructor&) = default;
+
+ throwing_move_constructor&
+ operator=(const throwing_move_constructor&) = default;
};
} // namespace __gnu_test