https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65554
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Marek Polacek from comment #6) > --- 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); > } Not really, it doesn't fix the unreduced testcase.