Module PthreadBarriers.Spec

module Barriers : sig ... end
module MustBarriers : sig ... end
module Capacity = ValueDomainQueries.ID
include module type of struct include Analyses.IdentitySpec end
include module type of struct include Analyses.DefaultSpec end
module P = Analyses.UnitP
type marshal = unit
val init : 'a -> unit
val finalize : unit -> unit
val vdecl : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'a
val asm : ('a, 'b, 'c, 'd) Analyses.man -> 'a
val skip : ('a, 'b, 'c, 'd) Analyses.man -> 'a
val query : 'b -> 'a Queries.t -> 'a
val event : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'f -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'a
val context : 'a -> 'b -> 'c -> 'c
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.man -> 'a list
val assign : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.lval -> GoblintCil.exp -> 'a
val branch : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.exp -> bool -> 'a
val body : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.fundec -> 'a
val return : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.exp option -> GoblintCil.fundec -> 'a
val enter : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.lval option -> GoblintCil.fundec -> GoblintCil.exp list -> ('a * 'a) list
val combine_env : 'a -> GoblintCil.lval option -> 'b -> GoblintCil.fundec -> GoblintCil.exp list -> 'c -> 'd -> Queries.ask -> 'd
val combine_assign : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.lval option -> 'e -> GoblintCil.fundec -> GoblintCil.exp list -> 'f -> 'g -> Queries.ask -> 'a
val threadspawn : ('a, 'b, 'c, 'd) Analyses.man -> multiple:'e -> 'f -> 'g -> 'h -> 'i -> 'a
module MCPAPlusTID : sig ... end
val part_access : ('a, 'b, 'c, 'd) Analyses.man -> MCPAccess.A.t
module Waiters : sig ... end
module Multiprocess = BoolDomain.MayBool
module G : sig ... end
val name : unit -> string
module MustObserved : sig ... end
module D : sig ... end
include sig ... end
module C : sig ... end
val startcontext : unit -> D.t
val possible_vinfos : Queries.ask -> GoblintCil.exp -> GoblintCil.varinfo list
val special : (D.t, Multiprocess.t * ValueDomainQueries.ID.t Queries.result * Waiters.t, 'a, GoblintCil.varinfo) Analyses.man -> GoblintCil.lval option -> GoblintCil.varinfo -> GoblintCil.exp list -> D.t
val startstate : 'a -> Barriers.t * MustObserved.t
val threadenter : ('a, 'b, 'c, 'd) Analyses.man -> multiple:'e -> 'f -> 'g -> 'h -> 'a list
val exitstate : 'a -> Barriers.t * MustObserved.t
module A : sig ... end
val access : ('a * 'b, 'c, 'd, 'e) Analyses.man -> Queries.access -> 'a * 'b * ThreadIdDomain.ThreadLifted.t