MainFunctor.Privmodule V : Printable.Sval startstate : unit -> D.tval read_global :
Queries.ask ->
(V.t -> G.t) ->
BaseDomain.BaseComponents(D).t ->
GoblintCil.varinfo ->
ValueDomain.Compound.tval write_global :
?invariant:bool ->
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
GoblintCil.varinfo ->
ValueDomain.Compound.t ->
BaseDomain.BaseComponents(D).tval lock :
Queries.ask ->
(V.t -> G.t) ->
BaseDomain.BaseComponents(D).t ->
ValueDomain.Addr.t ->
BaseDomain.BaseComponents(D).tval unlock :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
ValueDomain.Addr.t ->
BaseDomain.BaseComponents(D).tval sync :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
[ `Normal | `Join | `Return | `Init | `Thread ] ->
BaseDomain.BaseComponents(D).tval escape :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
EscapeDomain.EscapedVars.t ->
BaseDomain.BaseComponents(D).tval enter_multithreaded :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
BaseDomain.BaseComponents(D).tval threadenter :
Queries.ask ->
BaseDomain.BaseComponents(D).t ->
BaseDomain.BaseComponents(D).tval threadspawn :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
BaseDomain.BaseComponents(D).t ->
BaseDomain.BaseComponents(D).tval iter_sys_vars : (V.t -> G.t) -> VarQuery.t -> V.t VarQuery.f -> unitQueries.IterSysVars for base.
val thread_join :
?force:bool ->
Queries.ask ->
(V.t -> G.t) ->
GoblintCil.Cil.exp ->
BaseDomain.BaseComponents(D).t ->
BaseDomain.BaseComponents(D).tval thread_return :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
ThreadIdDomain.FlagConfiguredTID.t ->
BaseDomain.BaseComponents(D).t ->
BaseDomain.BaseComponents(D).tval invariant_global : (V.t -> G.t) -> V.t -> Invariant.tProvides Queries.InvariantGlobal result for base.
Should account for all unprotected/weak values of global variables.
val invariant_vars :
Queries.ask ->
(V.t -> G.t) ->
BaseDomain.BaseComponents(D).t ->
GoblintCil.varinfo listReturns global variables which are privatized.