Commit a2e70335 by Jason Merrill Committed by Jason Merrill

re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy…

re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared)

	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.

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