summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/trans-stmt.c
diff options
context:
space:
mode:
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-22 17:55:35 +0000
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-22 17:55:35 +0000
commitd7c823289ebffd4f3c2ef212df5ff145216ea662 (patch)
tree214163f4503231f8dfaa69d0dde6f577e5931451 /gcc/fortran/trans-stmt.c
parenta35e7718f98191b407f0605d1d870b1e4c7803f2 (diff)
downloadppe42-gcc-d7c823289ebffd4f3c2ef212df5ff145216ea662.tar.gz
ppe42-gcc-d7c823289ebffd4f3c2ef212df5ff145216ea662.zip
2006-07-22 Steven Bosscher <steven@gcc.gnu.org>
PR fortran/28439 * trans-stmt.c (gfc_trans_arithmetic_if): Evaluate the condition once. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115677 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
-rw-r--r--gcc/fortran/trans-stmt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index a12316688cb..97cb747ee54 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -663,6 +663,7 @@ gfc_trans_arithmetic_if (gfc_code * code)
/* Pre-evaluate COND. */
gfc_conv_expr_val (&se, code->expr);
+ se.expr = gfc_evaluate_now (se.expr, &se.pre);
/* Build something to compare with. */
zero = gfc_build_const (TREE_TYPE (se.expr), integer_zero_node);
OpenPOWER on IntegriCloud