diff options
author | Jason Merrill <jason@redhat.com> | 2010-11-06 20:46:45 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-11-06 20:46:45 -0400 |
commit | 4de2f020aaca3d0a8112acc6234a34bb5d578fa0 (patch) | |
tree | 45f9728915ac3c72a301c98db3b78300411445b1 /gcc/cp/init.c | |
parent | acd6cc816df8ceee71651b20fb028b00cb4a7e96 (diff) | |
download | gcc-4de2f020aaca3d0a8112acc6234a34bb5d578fa0.zip gcc-4de2f020aaca3d0a8112acc6234a34bb5d578fa0.tar.gz gcc-4de2f020aaca3d0a8112acc6234a34bb5d578fa0.tar.bz2 |
init.c (perform_member_init): Use build_vec_init_expr for value-init of arrays, too.
* init.c (perform_member_init): Use build_vec_init_expr for
value-init of arrays, too.
* cp-gimplify.c (cp_gimplify_expr): Use VEC_INIT_EXPR_VALUE_INIT.
* cp-tree.h (VEC_INIT_EXPR_IS_CONSTEXPR): New macro.
(VEC_INIT_EXPR_VALUE_INIT): New macro.
* semantics.c (potential_constant_expression): No longer static.
Check VEC_INIT_EXPR_IS_CONSTEXPR.
* tree.c (build_vec_init_expr): Handle value-init. Set
VEC_INIT_EXPR_IS_CONSTEXPR and VEC_INIT_EXPR_VALUE_INIT.
From-SVN: r166413
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index ab834bf..0ecd61d 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -453,10 +453,8 @@ perform_member_init (tree member, tree init) /* mem() means value-initialization. */ if (TREE_CODE (type) == ARRAY_TYPE) { - init = build_vec_init (decl, NULL_TREE, NULL_TREE, - /*explicit_value_init_p=*/true, - /* from_array=*/0, - tf_warning_or_error); + init = build_vec_init_expr (type, init); + init = build2 (INIT_EXPR, type, decl, init); finish_expr_stmt (init); } else |