diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-09-28 04:56:35 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-09-28 04:56:35 +0000 |
commit | c67e6e1492b2e8cedf8a95731ee788dc919984be (patch) | |
tree | 59d5e4829907404d9cd123482f4ad1565deac1eb /gcc/flags.h | |
parent | edaf3e0357bbc16c01ff9f341016a1e6969a617d (diff) | |
download | gcc-c67e6e1492b2e8cedf8a95731ee788dc919984be.zip gcc-c67e6e1492b2e8cedf8a95731ee788dc919984be.tar.gz gcc-c67e6e1492b2e8cedf8a95731ee788dc919984be.tar.bz2 |
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
Diffstat (limited to 'gcc/flags.h')
-rw-r--r-- | gcc/flags.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/flags.h b/gcc/flags.h index 823aaef..4d6ea07 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -604,6 +604,9 @@ extern int flag_trapv; /* Nonzero if the signed arithmetic overflow should wrap around. */ extern int flag_wrapv; +/* Nonzero if subexpressions must be evaluated from left-to-right. */ +extern int flag_evaluation_order; + /* Value of the -G xx switch, and whether it was passed or not. */ extern unsigned HOST_WIDE_INT g_switch_value; extern bool g_switch_set; |