|
@@ -779,9 +779,9 @@ module Ssa = struct
|
|
{e with eexpr = TBinop(OpAssign,e1,e2)}
|
|
{e with eexpr = TBinop(OpAssign,e1,e2)}
|
|
| TBinop(OpAssignOp op,({eexpr = TLocal v} as e1),e2) ->
|
|
| TBinop(OpAssignOp op,({eexpr = TLocal v} as e1),e2) ->
|
|
let e1 = loop ctx e1 in
|
|
let e1 = loop ctx e1 in
|
|
|
|
+ let e2 = loop ctx e2 in
|
|
let e_op = mk (TBinop(op,e1,e2)) e.etype e.epos in
|
|
let e_op = mk (TBinop(op,e1,e2)) e.etype e.epos in
|
|
let _ = assign_var ctx v e_op e1.epos in
|
|
let _ = assign_var ctx v e_op e1.epos in
|
|
- let e2 = loop ctx e2 in
|
|
|
|
{e with eexpr = TBinop(OpAssignOp op,e1,e2)}
|
|
{e with eexpr = TBinop(OpAssignOp op,e1,e2)}
|
|
| TUnop((Increment | Decrement as op),flag,({eexpr = TLocal v} as e1)) ->
|
|
| TUnop((Increment | Decrement as op),flag,({eexpr = TLocal v} as e1)) ->
|
|
let op = match op with Increment -> OpAdd | Decrement -> OpSub | _ -> assert false in
|
|
let op = match op with Increment -> OpAdd | Decrement -> OpSub | _ -> assert false in
|