You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let vars =AD.fold find_fps adrs []in(* filter_map from AD to list *)
1683
-
let funs =List.filter (funx -> isFunctionType x.vtype) vars in
1684
-
List.iter (funx -> ctx.spawn None x []) funs
1683
+
let funs =Seq.filter (funx -> isFunctionType x.vtype)@@List.to_seq vars in
1684
+
Seq.iter (funx -> ctx.spawn None x []) funs
1685
1685
|_ -> ()
1686
1686
);
1687
1687
match lval with(* this section ensure global variables contain bottom values of the proper type before setting them *)
@@ -2234,12 +2234,13 @@ struct
2234
2234
let st = invalidate_ret_lv st in
2235
2235
(* apply all registered abstract effects from other analysis on the base value domain *)
2236
2236
LibraryFunctionEffects.effects_for f.vname args
2237
-
|>List.map (funsets ->
2238
-
List.fold_left (funacc (lv, x) ->
2237
+
|>List.to_seq
2238
+
|>Seq.map (funsets ->
2239
+
BatList.fold_left (funacc (lv, x) ->
2239
2240
set ~ctx (Analyses.ask_of_ctx ctx) ctx.global acc (eval_lv (Analyses.ask_of_ctx ctx) ctx.global acc lv) (Cilfacade.typeOfLval lv) x
2240
2241
) st sets
2241
2242
)
2242
-
|>BatList.fold_left D.meet st
2243
+
|>Seq.fold_left D.meet st
2243
2244
2244
2245
(* List.map (fun f -> f (fun lv -> (fun x -> set ~ctx:(Some ctx) ctx.ask ctx.global st (eval_lv ctx.ask ctx.global st lv) (Cilfacade.typeOfLval lv) x))) (LF.effects_for f.vname args) |> BatList.fold_left D.meet st *)
0 commit comments