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

--- Comment #8 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Jason Merrill from comment #7)
> Fixed for GCC 15 so far.  The ramp generation is completely different in
> earlier versions, the code that would need to change in 14 and below is in
> morph_fn_to_coro:
> 
>     /* [dcl.fct.def.coroutine] / 7                                          
> 
>         The expression promise.get_return_object() is used to initialize the
> 
>         glvalue result or... (see below)                                    
> 
>         Construct the return result directly.  */
>       if (type_build_ctor_call (gro_type))
>         {
>           vec<tree, va_gc> *arg = make_tree_vector_single (get_ro);
>           r = build_special_member_call (DECL_RESULT (orig),
>                                          complete_ctor_identifier,
>                                          &arg, gro_type, LOOKUP_NORMAL,
>                                          tf_warning_or_error);
>           release_tree_vector (arg);
>         }
>       else
>         r = cp_build_init_expr (fn_start, DECL_RESULT (orig), get_ro);

we might have pending back-ports for the fix that applies conversions correctly
at this point (which would further adjust this). We need to review the list -
(where a PR is assigned to me or Arsen and marked as WAITING, that implies we
intend(ed) to back port it).

Reply via email to