2
0
Эх сурвалжийг харах

ignore `else false` cases in check_local_vars_init to avoid problems with the side-effect handler

Simon Krajewski 11 жил өмнө
parent
commit
0959aea7b4
1 өөрчлөгдсөн 2 нэмэгдсэн , 0 устгасан
  1. 2 0
      filters.ml

+ 2 - 0
filters.ml

@@ -275,6 +275,8 @@ let check_local_vars_init e =
 			loop vars e2;
 			(match eo with
 			| None -> vars := vbase
+			(* ignore else false cases (they are added by the side-effect handler) *)
+			| Some {eexpr = TConst (TBool(false))} -> ()
 			| Some e ->
 				let v1 = !vars in
 				vars := vbase;