https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65554

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I would hazard a guess that this started with r171740.  And I think the fix is
the following:

--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -6366,7 +6366,8 @@ convert_like_real (conversion *convs, tree expr, tree fn,
int argnum,
     field = next_initializable_field (TYPE_FIELDS (totype));
     CONSTRUCTOR_APPEND_ELT (vec, field, array);
     field = next_initializable_field (DECL_CHAIN (field));
-    CONSTRUCTOR_APPEND_ELT (vec, field, size_int (len));
+    CONSTRUCTOR_APPEND_ELT (vec, field,
+                build_int_cst (TREE_TYPE (field), len));
     new_ctor = build_constructor (totype, vec);
     return get_target_expr_sfinae (new_ctor, complain);
       }

Reply via email to