PING [PATCH] PR c/19978 multiple overflow warnings
Manuel López-Ibáñez
lopezibanez@gmail.com
Sat Dec 16 17:21:00 GMT 2006
Please C/C++ reviewers (tree.h changes are already approved),
PING http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00588.html
I have a patch that fixes another PR (no regression, though) ready for
submission that depends on these changes.
Thanks,
Manuel.
On 09/12/06, Manuel López-Ibáñez <lopezibanez@gmail.com> wrote:
> :ADDPATCH c/c++:
>
> The following patch fixes PR c/19978: once an expression overflowed,
> an extra overflow warning is given for each additional operator that
> appears in the expression. This also affects unary operators in C++
> but it seems no one noticed that.
>
> With this patch overflow warnings are emitted only if the result of a
> binary or unary operation has TREE_OVERFLOW set, but its operands did
> not.
>
> The testcases multiple-overflow-warn-* have been checked to fail with
> current mainline. I have also added overflow-warn-6.c to test that
> everything works fine when the result of an operator is
> CONSTANT_CLASS_P and its operands are not.
>
> Bootstrapped and regression tested with --enable-languages=all on
> i686-pc-linux-gnu for mainline revision 119259.
>
> The changes to tree.h have been pre-approved by Roger Sayle.
>
>
> 2006-12-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
>
> PR c/19978
> * tree.h (TREE_OVERFLOW_P): New.
> * cp/semantics.c (finish_unary_op_expr): Warn only if result
> overflowed and operands did not.
> * c-typeck.c (parser_build_unary_op): Likewise.
> (parser_build_binary_op): Likewise.
> (convert_for_assignment): Remove redundant overflow_warning.
> * c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
>
> testsuite/
> 2006-12-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
>
> PR c/19978
> * gcc.dg/multiple-overflow-warn-1.c: New.
> * gcc.dg/multiple-overflow-warn-2.c: New.
> * gcc.dg/overflow-warn-6.c: New.
> * g++.dg/warn/multiple-overflow-warn-1.C: New.
>
>
>
More information about the Gcc-patches
mailing list