fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRI...
authorJakub Jelinek <jakub@redhat.com>
Tue, 4 Oct 2011 12:34:06 +0000 (14:34 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 4 Oct 2011 12:34:06 +0000 (14:34 +0200)
commitf548a3173e47b45bf132c533091c8776ca79b629
treee03429ddfdb28c26c0b8a6b943ec84b3196db8b1
parent8cba60274732940251f0cd65af9f2d3b6f7b7e18
fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by casting the...

* fold-const.c (fold_unary_loc): Don't optimize
POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
casting the inner pointer if it isn't TYPE_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through
casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer.

* gcc.dg/tree-ssa/restrict-4.c: New test.

From-SVN: r179500
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/restrict-4.c [new file with mode: 0644]
gcc/tree-ssa-forwprop.c