[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