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

Nick Clifton <nickc at gcc dot gnu.org> changed:

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

--- Comment #9 from Nick Clifton <nickc at gcc dot gnu.org> ---
Created attachment 37543
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37543&action=edit
Use SUBREG_PROMOTED_SIGNED_P in place of SUBREG_PROMOTES_SIGN

Hi Guys,

  I am currently testing this patch locally.  It appears to fix the bug, and I
hope that it will not introduce any regressions.  We shall see.  (I am testing
arm-eabi and x86_64-linux-gnu).

  The problem, it appears to me is that the code in store_expr_with_bounds() is
using the SUBREG_PROMPTED_SIGN macro, which returns a tri-state value, as a
parameter to signed_or_unsigned_type_for().  This function, I think, but I am
not 100% sure, uses the parameter as a boolean, so really it should just be
told if the promotion is signed or unsigned, nothing else.

Cheers
  Nick

Reply via email to