On Mon, Mar 7, 2022 at 6:23 AM Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Mon, Mar 07, 2022 at 05:57:40AM -0800, H.J. Lu via Gcc-patches wrote:
> > --- a/gcc/config/i386/i386.cc
> > +++ b/gcc/config/i386/i386.cc
> > @@ -9444,9 +9444,8 @@ ix86_expand_epilogue (int style)
> >         rtx sa = EH_RETURN_STACKADJ_RTX;
> >         rtx_insn *insn;
> >
> > -       /* %ecx can't be used for both DRAP register and eh_return.  */
> > -       if (crtl->drap_reg)
> > -         gcc_assert (REGNO (crtl->drap_reg) != CX_REG);
> > +       /* Stack realignment doesn't work with eh_return.  */
> > +       gcc_assert (!crtl->stack_realign_needed);
>
> Shouldn't this be error or sorry?  Otherwise, won't
> calls to __builtin_eh_return from random testcases where
> stack realignment is needed or even with regparm nested functions
> just ICE?

Fixed in the v3 patch:

https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591307.html

Thanks.

> >
> >         /* regparm nested functions don't work with eh_return.  */
> >         gcc_assert (!ix86_static_chain_on_stack);
>
>         Jakub
>


-- 
H.J.

Reply via email to