소스 검색

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

Simon Krajewski 11 년 전
부모
커밋
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;