[PATCH][C] c/95141 - fix bogus integer overflow warning
Joseph Myers
joseph@codesourcery.com
Tue May 19 19:02:11 GMT 2020
On Tue, 19 May 2020, Richard Biener wrote:
> This fixes an integer overflow warning that ultimatively happens because
> of TREE_OVERFLOW propagating through transforms and the existing guard
> against this,
>
> 375 if (TREE_OVERFLOW_P (ret)
> 376 && !TREE_OVERFLOW_P (op0)
> 377 && !TREE_OVERFLOW_P (op1))
> 378 overflow_warning (EXPR_LOC_OR_LOC (expr, input_location,
>
> being insufficient. Rather than trying to use sth like walk_tree to
> exhaustively walk operands (with the possibility of introducing
> quadraticness when folding larger expressions recursively) the
> following amends the above with an ad-hoc test for a binary op0
> with a possibly constant op1.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?
OK.
The test in bug 32643 looks vaguely similar, but that's an older
regression, do I take it this patch doesn't help with that one?
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc-patches
mailing list