gcc/
* c-common.c (c_fully_fold_internal): Issue a warning if a binary
operation overflows. Likewise non-cast unary arithmetic.
If one arm of a conditional expression is always taken,
inhibit evaluation warnings for the other arm. Likewise inhibit
evaluation warnings for the second && or || operand if the first
operand is enough to determine the result.
* c-typeck.c (build_conditional_expr): Apply the same inhibition
rules here.
(build_binary_op): Prevent duplicate evaluation warnings.
gcc/testsuite/
* gcc.dg/overflow-warn-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150594
138bc75d-0d04-0410-961f-
82ee72b054a4