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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic, ra
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-08-30
          Component|c                           |middle-end
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  I think the warning tells you that the ISRA.312 when not spilled
to the stack by the compiler, might be not properly restored.  That it is
'const' doesn't really matter.

Given the source passes an aggregate by value depending on the ABI
you might get the very same bad effect.

Eventually we can do better with this warning and only warn when we
actually failed to spill the register.

I think the warning for arguments is usually a false positive since
argument registers are call-clobbered.

Given we use setjmp_crosses for the warning I wonder why we do not use
that to guide register allocation ...

Reply via email to