sometimes swap operands in expressions with side-effects
This commit is contained in:
parent
118473af52
commit
606e882015
@ -341,6 +341,8 @@ mk_binop(expp, oper, expr, commutative)
|
||||
*expp = (commutative
|
||||
&& !(ex->ex_flags & EX_VOLATILE)
|
||||
&& (expr->ex_depth > ex->ex_depth
|
||||
|| ((expr->ex_flags & EX_SIDEEFFECTS)
|
||||
&& !(ex->ex_flags & EX_SIDEEFFECTS))
|
||||
|| is_cp_cst(ex)))
|
||||
? new_oper(ex->ex_type, expr, arg_switched(oper), ex)
|
||||
: new_oper(ex->ex_type, ex, oper, expr);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user