call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.

* call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.
	* decl.c (reshape_init_array_1): Likewise.

From-SVN: r171739
This commit is contained in:
Jason Merrill 2011-03-30 14:06:52 -04:00 committed by Jason Merrill
parent c019d84956
commit c06ce6e40e
3 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2011-03-30 Jason Merrill <jason@redhat.com>
* call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.
* decl.c (reshape_init_array_1): Likewise.
2011-03-29 Jason Merrill <jason@redhat.com>
PR c++/48265

View File

@ -5481,6 +5481,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
if (!BRACE_ENCLOSED_INITIALIZER_P (val))
check_narrowing (TREE_TYPE (sub), val);
CONSTRUCTOR_APPEND_ELT (CONSTRUCTOR_ELTS (new_ctor), NULL_TREE, sub);
if (!TREE_CONSTANT (sub))
TREE_CONSTANT (new_ctor) = false;
}
/* Build up the array. */
elttype = cp_build_qualified_type

View File

@ -4905,6 +4905,8 @@ reshape_init_array_1 (tree elt_type, tree max_index, reshape_iter *d)
return error_mark_node;
CONSTRUCTOR_APPEND_ELT (CONSTRUCTOR_ELTS (new_init),
size_int (index), elt_init);
if (!TREE_CONSTANT (elt_init))
TREE_CONSTANT (new_init) = false;
}
return new_init;