Commit 1a94ffae by Jason Merrill Committed by Jason Merrill

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
parent 0ad2cde8
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
* call.c (reference_binding): Set rvaluedness_matches_p properly
......
......@@ -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))
......
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