re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)

PR c++/48535
	* semantics.c (finish_compound_literal): Handle references.

From-SVN: r172286
This commit is contained in:
Jason Merrill 2011-04-11 18:00:53 -04:00 committed by Jason Merrill
parent 834aa42659
commit 76186d20cc
2 changed files with 11 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2011-04-11 Jason Merrill <jason@redhat.com>
PR c++/48535
* semantics.c (finish_compound_literal): Handle references.
PR c++/48535
* semantics.c (finish_compound_literal): Take complain parm.
(build_lambda_object): Adjust.

View File

@ -2315,6 +2315,14 @@ finish_compound_literal (tree type, tree compound_literal,
if (type == error_mark_node)
return error_mark_node;
if (TREE_CODE (type) == REFERENCE_TYPE)
{
compound_literal
= finish_compound_literal (TREE_TYPE (type), compound_literal,
complain);
return cp_build_c_cast (type, compound_literal, complain);
}
if (!TYPE_OBJ_P (type))
{
if (complain & tf_error)