2009-03-05 Richard Guenther <rguenther@suse.de>
commit44d2147176ec1221e71704eaedb3f74e1a0dec0f
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Mar 2009 15:14:33 +0000 (5 15:14 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Mar 2009 15:14:33 +0000 (5 15:14 +0000)
tree53498fb828008ef1878919aa2a228d70b79c8626
parent18b856d5ad6711e4aae0c274a8d083135e9e7074
2009-03-05  Richard Guenther  <rguenther@suse.de>

* c-common.c (pointer_int_sum): Use *NV_EXPR codes for
pointer arithmetic.
* c-typeck.c (build_unary_op): Use NEGATENV_EXPR if
signed arithmetic has undefined overflow.
(build_binary_op): Handle *NV_EXPR for recursive invocations.
If signed arithmetic has undefined overflow use
PLUSNV_EXPR, MINUSNV_EXPR and MULTNV_EXPR.
* c-omp.c (c_finish_omp_for): Deal with *NV_EXPR for increments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/no-undefined-overflow@144648 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog.overflow
gcc/c-common.c
gcc/c-omp.c
gcc/c-typeck.c