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