aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-01-15 09:03:53 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-01-15 09:03:53 +0100
commit241f845ab3717714234437e28bbaf2b1cc5f4426 (patch)
treecc04f22cb2a16aa9af9055fefe1388107a5c0f7b /gcc/builtins.c
parenteb6eb8623701589015d966a71970c1893a92884c (diff)
downloadgcc-241f845ab3717714234437e28bbaf2b1cc5f4426.zip
gcc-241f845ab3717714234437e28bbaf2b1cc5f4426.tar.gz
gcc-241f845ab3717714234437e28bbaf2b1cc5f4426.tar.bz2
re PR c/58943 (wrong calculation of indirect structure member arithmetic via function call)
PR c/58943 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side effects, preevaluate rhs using SAVE_EXPR first. * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around build_modify_expr with non-NOP_EXPR opcode. Handle return from it being COMPOUND_EXPR. (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first operand a SAVE_EXPR and second MODIFY_EXPR. * gcc.c-torture/execute/pr58943.c: New test. * gcc.dg/tree-ssa/ssa-fre-33.c (main): Avoid using += in the test. From-SVN: r206620
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions