RelationPriv.TracingPriv
module RD : RelationDomain.RD
module Priv : sig ... end
include module type of struct include Priv end
module G = Priv.G
module V = Priv.V
module P = Priv.P
Path-representative.
val startstate : unit -> Priv.D.t
val iter_sys_vars : (V.t -> G.t) -> VarQuery.t -> V.t VarQuery.f -> unit
Queries.IterSysVars
for apron.
val invariant_vars :
Queries.ask ->
(V.t -> G.t) ->
RelationDomain.RelComponents(RD)(Priv.D).t ->
GoblintCil.varinfo list
Returns global variables which are privatized.
module D = Priv.D
module RelComponents : sig ... end
val read_global :
Queries.ask ->
(V.t -> G.t) ->
RelComponents.t ->
CilType.Varinfo.t ->
CilType.Varinfo.t ->
RD.t
val write_global :
?invariant:bool ->
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
RelComponents.t ->
CilType.Varinfo.t ->
CilType.Varinfo.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val lock :
Queries.ask ->
(V.t -> G.t) ->
RelComponents.t ->
LockDomain.MustLock.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val unlock :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
RelComponents.t ->
LockDomain.MustLock.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val enter_multithreaded :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
RelComponents.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val threadenter :
Queries.ask ->
(V.t -> G.t) ->
RelComponents.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val sync :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
RelComponents.t ->
[ `Init
| `Join
| `JoinCall of CilType.Fundec.t
| `Normal
| `Return
| `Thread ] ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val escape :
Node.t ->
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
RelComponents.t ->
EscapeDomain.EscapedVars.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val thread_join :
?force:bool ->
Queries.ask ->
(V.t -> G.t) ->
GoblintCil.Cil.exp ->
RelComponents.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t
val thread_return :
Queries.ask ->
(V.t -> G.t) ->
(V.t -> G.t -> unit) ->
ThreadIdDomain.Thread.t ->
RelComponents.t ->
Goblint_lib__.RelationDomain.RelComponents(RD)({D}9).t