SymbLocks.Spec
include module type of struct include Analyses.DefaultSpec end
Relatively safe default implementations of some boring Spec functions.
module G = Lattice.Unit
module V = Analyses.EmptyV
module P = Analyses.UnitP
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val query : 'b -> 'a Queries.t -> 'a0
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e list
module D = SymbLocksDomain.Symbolic
val startstate : 'a -> D.S.t
val threadenter : 'a -> multiple:'b -> 'c -> 'd -> 'e -> D.S.t list
val threadspawn :
('a, 'b, 'c, 'd) Analyses.ctx ->
multiple:'e ->
'f ->
'g ->
'h ->
'i ->
'j
val exitstate : 'a -> D.S.t
val branch : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g
val body : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val invalidate_exp : Queries.ask -> GoblintCil.exp -> D.S.t -> D.S.t
val invalidate_lval : Queries.ask -> GoblintCil.lval -> D.S.t -> D.S.t
val assign : (D.S.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.lval -> 'd -> D.S.t
val return :
(D.S.t, 'a, 'b, 'c) Analyses.ctx ->
'd ->
GoblintCil.fundec ->
D.S.t
val enter : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g -> ('h * 'i) list
val combine_assign :
('a, 'b, 'c, 'd) Analyses.ctx ->
'e ->
'f ->
'g ->
'h ->
'i ->
'j ->
'k ->
'l
val get_all_locks : Queries.ask -> GoblintCil.exp -> D.t -> PS.t
val same_unknown_index : Queries.ask -> GoblintCil.exp -> D.S.t -> PS.t
val special :
(D.S.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.Cil.varinfo ->
LibraryDesc.Cil.Cil.exp list ->
D.S.t
module A : sig ... end
val add_per_element_access :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp ->
'd ->
A.t
val access : (D.t, 'a, 'b, 'c) Analyses.ctx -> Queries.access -> A.t