re PR tree-optimization/38835 (field-insensitive PTA causes libstdc++ miscompiles)
authorRichard Guenther <rguenther@suse.de>
Fri, 16 Jan 2009 19:18:18 +0000 (19:18 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 16 Jan 2009 19:18:18 +0000 (19:18 +0000)
commit786ce82d44352369486d69add3cf3695b08998a2
treec4997b22540cbef79a66ef53490b30491bd30b3d
parentc1cb09ada04abbf0087eafedaab7b3ec32b23659
re PR tree-optimization/38835 (field-insensitive PTA causes libstdc++ miscompiles)

2009-01-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/38835
PR middle-end/36227
* fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
and INT + PTR -> (INT)(PTR p+ INT) folding.
* tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.

java/
* builtins.c (build_addr_sum): Use POINTER_PLUS_EXPR.

* gcc.c-torture/execute/pr36227.c: New testcase.
* gcc.dg/tree-ssa/foldaddr-1.c: XFAIL.
* g++.dg/init/const7.C: Likewise.

From-SVN: r143442
gcc/ChangeLog
gcc/fold-const.c
gcc/java/ChangeLog
gcc/java/builtins.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/init/const7.C
gcc/testsuite/gcc.c-torture/execute/pr36227.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c
gcc/tree-ssa-address.c