We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d239760 commit 73cd135Copy full SHA for 73cd135
src/analyses/varEq.ml
@@ -402,7 +402,10 @@ struct
402
| None -> None
403
| Some st ->
404
let vs = ask.f (Queries.ReachableFrom e) in
405
- Some (Queries.LS.join vs st)
+ if Queries.LS.is_top vs then
406
+ None
407
+ else
408
+ Some (Queries.LS.join vs st)
409
in
410
List.fold_right reachable es (Some (Queries.LS.empty ()))
411
@@ -496,6 +499,8 @@ struct
496
499
D.B.fold remove_reachable2 es st
497
500
498
501
D.fold remove_reachable1 ctx.local ctx.local
502
+ (* TODO: do something like this instead to be sound? *)
503
+ (* List.fold_left (fun st e -> remove_exp (Analyses.ask_of_ctx ctx) e st) ctx.local (Queries.LS.fold (fun lval acc -> mkAddrOf (Lval.CilLval.to_lval lval) :: acc) rs []) *)
504
505
let unknown_fn ctx lval f args =
506
let args =
0 commit comments