Module MutexAnalysis.Spec
include sig ... end
val vdecl : ('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx -> 'e -> 'a
val asm : ('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx -> 'a
val skip : ('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx -> 'e -> 'a
val context : 'a -> 'b -> 'c -> 'c
val paths_as_set : ('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx -> 'a list
val assign :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
'a
val branch :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
GoblintCil.exp ->
bool ->
'a
val body :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
GoblintCil.fundec ->
'a
val return :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
'a
val enter :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
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) Goblint_lib__Analyses.ctx ->
GoblintCil.lval option ->
'e ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'f ->
'g ->
Queries.ask ->
'a
val special :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
'a
val threadspawn :
('a, 'b, 'c, 'd) Goblint_lib__Analyses.ctx ->
multiple:'e ->
'f ->
'g ->
'h ->
'i ->
'a
val threadenter : 'a -> multiple:'b -> 'c -> 'd -> 'e -> Arg.D.t list
val name : unit -> string
val max_protected : int Batteries.ref
val num_mutexes : int Batteries.ref
val sum_protected : int Batteries.ref
val finalize : unit -> unit