toplev.c (flag_evaluation_order): New global variable.
authorRoger Sayle <roger@eyesopen.com>
Sun, 28 Sep 2003 04:56:35 +0000 (04:56 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 28 Sep 2003 04:56:35 +0000 (04:56 +0000)
commitc67e6e1492b2e8cedf8a95731ee788dc919984be
tree59d5e4829907404d9cd123482f4ad1565deac1eb
parentedaf3e0357bbc16c01ff9f341016a1e6969a617d
toplev.c (flag_evaluation_order): New global variable.

* toplev.c (flag_evaluation_order): New global variable.
* flags.h (flag_evaluation_order): Prototype here.
* expr.c (expand_operands): If we need to preserve observable
evaluation order, protect exp1 from clobbering exp0's result.

* java/lang.c (java_init_options): Set flag_evaluation_order.
* java/expr.c (force_evaluation_order): Don't attempt to force
evaluation order of binary operations using save_expr.
* java/parse.y (java_complete_lhs): No longer need to call
force_evaluation_order when constructing binary operators.

From-SVN: r71873
gcc/ChangeLog
gcc/expr.c
gcc/flags.h
gcc/java/ChangeLog
gcc/java/expr.c
gcc/java/lang.c
gcc/java/parse.y
gcc/toplev.c