File tree Expand file tree Collapse file tree 1 file changed +10
-21
lines changed
Expand file tree Collapse file tree 1 file changed +10
-21
lines changed Original file line number Diff line number Diff line change @@ -465,33 +465,22 @@ struct
465465 (* Give the set of reachables from argument. *)
466466 let reachables (ask : Queries.ask ) es =
467467 let reachable e st =
468- match st with
469- | None -> None
470- | Some st ->
471- let ad = ask.f (Queries. ReachableFrom e) in
472- (* See https://github.com/goblint/analyzer/issues/1535 *)
473- let ad = Queries.AD. remove UnknownPtr ad in
474- Some (Queries.AD. join ad st)
468+ let ad = ask.f (Queries. ReachableFrom e) in
469+ Queries.AD. join ad st
475470 in
476- List. fold_right reachable es (Some ( Queries.AD. empty () ))
471+ List. fold_right reachable es (Queries.AD. empty () )
477472
478473
479474 let forget_reachable man st es =
480475 let ask = Analyses. ask_of_man man in
481476 let rs =
482- match reachables ask es with
483- | None ->
484- (* top reachable, so try to invalidate everything *)
485- RD. vars st.rel
486- |> List. filter_map RV. to_cil_varinfo
487- |> List. map Cil. var
488- | Some ad ->
489- let to_cil addr rs =
490- match addr with
491- | Queries.AD.Addr. Addr mval -> (ValueDomain.Addr.Mval. to_cil mval) :: rs
492- | _ -> rs
493- in
494- Queries.AD. fold to_cil ad []
477+ let ad = reachables ask es in
478+ let to_cil addr rs =
479+ match addr with
480+ | Queries.AD.Addr. Addr mval -> (ValueDomain.Addr.Mval. to_cil mval) :: rs
481+ | _ -> rs
482+ in
483+ Queries.AD. fold to_cil ad []
495484 in
496485 List. fold_left (fun st lval ->
497486 invalidate_one ask man st lval
You can’t perform that action at this time.
0 commit comments