re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&")
PR c++/49267 * call.c (reference_binding): Don't set is_lvalue for an rvalue reference rfrom. From-SVN: r178521
This commit is contained in:
parent
0ad2cde83d
commit
1a94ffae36
@ -1,5 +1,9 @@
|
||||
2011-09-04 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/49267
|
||||
* call.c (reference_binding): Don't set is_lvalue for an rvalue
|
||||
reference rfrom.
|
||||
|
||||
PR c++/49267
|
||||
PR c++/49458
|
||||
DR 1328
|
||||
|
@ -1576,9 +1576,10 @@ reference_binding (tree rto, tree rfrom, tree expr, bool c_cast_p, int flags)
|
||||
|
||||
if (TREE_CODE (from) == REFERENCE_TYPE)
|
||||
{
|
||||
/* Anything with reference type is an lvalue. */
|
||||
is_lvalue = clk_ordinary;
|
||||
from = TREE_TYPE (from);
|
||||
if (!TYPE_REF_IS_RVALUE (rfrom)
|
||||
|| TREE_CODE (from) == FUNCTION_TYPE)
|
||||
is_lvalue = clk_ordinary;
|
||||
}
|
||||
|
||||
if (expr && BRACE_ENCLOSED_INITIALIZER_P (expr))
|
||||
|
Loading…
Reference in New Issue
Block a user