(expand_expr, case COND_EXPR): Protect the condition from being evaluated more than once.
(expand_expr, case COND_EXPR): Protect the condition from being evaluated more than once. (do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise. From-SVN: r10055
This commit is contained in:
parent
586c54377c
commit
0184223489
@ -6013,6 +6013,7 @@ expand_expr (exp, target, tmode, modifier)
|
||||
TREE_TYPE (cond) = integer_type_node;
|
||||
RTL_EXPR_RTL (cond) = flag;
|
||||
RTL_EXPR_SEQUENCE (cond) = NULL_RTX;
|
||||
cond = save_expr (cond);
|
||||
|
||||
if (! left_cleanups)
|
||||
left_cleanups = integer_zero_node;
|
||||
@ -8950,6 +8951,7 @@ do_jump (exp, if_false_label, if_true_label)
|
||||
TREE_TYPE (cond) = integer_type_node;
|
||||
RTL_EXPR_RTL (cond) = flag;
|
||||
RTL_EXPR_SEQUENCE (cond) = NULL_RTX;
|
||||
cond = save_expr (cond);
|
||||
|
||||
new_cleanups = build (COND_EXPR, void_type_node,
|
||||
truthvalue_conversion (cond),
|
||||
@ -9007,6 +9009,7 @@ do_jump (exp, if_false_label, if_true_label)
|
||||
TREE_TYPE (cond) = integer_type_node;
|
||||
RTL_EXPR_RTL (cond) = flag;
|
||||
RTL_EXPR_SEQUENCE (cond) = NULL_RTX;
|
||||
cond = save_expr (cond);
|
||||
|
||||
new_cleanups = build (COND_EXPR, void_type_node,
|
||||
truthvalue_conversion (cond),
|
||||
|
Loading…
Reference in New Issue
Block a user