------- Comment #5 from pinskia at gcc dot gnu dot org  2005-11-15 16:19 -------
(In reply to comment #1)
> "1000" is a signed integer constant, so b*1000 is a signed integer too. I
> guess the warning is ok, then.

That is only true for unsigned multiplication and signed when overflow is
undefined (-fno-wrapv which is default for C and C++).

The reason why this is middle-end and not C is because tree_expr_nonnegative_p
is part of the middle-end and not part of the C front-end.  Fixing
tree_expr_nonnegative_p will also provide some optimization opertunites also.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11492

Reply via email to