Explorar o código

[analyzer] we can remove OpAssignOps too if the variable is not used

Simon Krajewski %!s(int64=10) %!d(string=hai) anos
pai
achega
926fb0106e
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      analyzer.ml

+ 1 - 1
analyzer.ml

@@ -1246,7 +1246,7 @@ module LocalDce = struct
 		let has_side_effect e = match e.eexpr with
 			| TVar(v,None) -> is_used v
 			| TVar(v,Some e1) -> is_used v || Optimizer.has_side_effect e1
-			| TBinop(OpAssign,{eexpr = TLocal v},e2) -> is_used v || Optimizer.has_side_effect e2
+			| TBinop((OpAssign | OpAssignOp _),{eexpr = TLocal v},e2) -> is_used v || Optimizer.has_side_effect e2
 			| _ -> Optimizer.has_side_effect e
 		in
 		let rec collect e = match e.eexpr with