Explorar o código

[analyzer] remove assignments to unused vars without side-effects as well so we do not end up with block-level TFunction nodes

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

+ 1 - 0
analyzer.ml

@@ -1007,6 +1007,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
 			| _ -> true
 		in
 		let rec collect e = match e.eexpr with