diff options
Diffstat (limited to 'gcc/gimplify.cc')
-rw-r--r-- | gcc/gimplify.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc index fd18d8b..827941b 100644 --- a/gcc/gimplify.cc +++ b/gcc/gimplify.cc @@ -5420,6 +5420,8 @@ gimplify_init_ctor_eval (tree object, vec<constructor_elt, va_gc> *elts, cref = build2 (MEM_REF, rtype, addr, build_int_cst (ptr_type_node, 0)); rctor = tree_output_constant_def (rctor); + if (!useless_type_conversion_p (rtype, TREE_TYPE (rctor))) + rctor = build1 (VIEW_CONVERT_EXPR, rtype, rctor); if (gimplify_expr (&cref, pre_p, NULL, is_gimple_lvalue, fb_lvalue) != GS_ERROR) gimplify_seq_add_stmt (pre_p, |