aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/ste.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/ste.c')
-rw-r--r--gcc/f/ste.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/gcc/f/ste.c b/gcc/f/ste.c
index 31ae6a4..91698f1 100644
--- a/gcc/f/ste.c
+++ b/gcc/f/ste.c
@@ -2905,22 +2905,24 @@ ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos)
ffecom_push_calltemps ();
if (neg == zero)
- if (neg == pos)
- expand_goto (gzero);
- else
- { /* IF (expr.LE.0) THEN GOTO neg/zero ELSE
- GOTO pos. */
- texpr = ffecom_expr (expr);
- texpr = ffecom_2 (LE_EXPR, integer_type_node,
- texpr,
- convert (TREE_TYPE (texpr),
- integer_zero_node));
- expand_start_cond (ffecom_truth_value (texpr), 0);
+ {
+ if (neg == pos)
expand_goto (gzero);
- expand_start_else ();
- expand_goto (gpos);
- expand_end_cond ();
- }
+ else
+ { /* IF (expr.LE.0) THEN GOTO neg/zero ELSE
+ GOTO pos. */
+ texpr = ffecom_expr (expr);
+ texpr = ffecom_2 (LE_EXPR, integer_type_node,
+ texpr,
+ convert (TREE_TYPE (texpr),
+ integer_zero_node));
+ expand_start_cond (ffecom_truth_value (texpr), 0);
+ expand_goto (gzero);
+ expand_start_else ();
+ expand_goto (gpos);
+ expand_end_cond ();
+ }
+ }
else if (neg == pos)
{ /* IF (expr.NE.0) THEN GOTO neg/pos ELSE GOTO
zero. */