Uninit.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
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 A = Analyses.UnitA
module Addr = ValueDomain.Addr
module D = ValueDomain.AddrSetDomain
module P : sig ... end
type trans_in = D.t
type trans_out = D.t
val startstate : 'a -> D.t
val threadenter : 'a -> multiple:'b -> 'c -> 'd -> 'e -> D.t list
val threadspawn :
('a, 'b, 'c, 'd) Analyses.ctx ->
multiple:'e ->
'f ->
'g ->
'h ->
'i ->
'j
val exitstate : 'a -> D.t
val access_address :
Queries.ask ->
'a ->
GoblintCil.lval ->
(GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t * 'b) list
val access_one_byval :
Queries.ask ->
bool ->
GoblintCil.exp ->
(GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t * bool) list
val access_lv_byval :
Queries.ask ->
GoblintCil.lval ->
(GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t * bool) list
val varoffs :
Queries.ask ->
GoblintCil.exp ->
(GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t) list
val is_prefix_of : Addr.Mval.t -> Addr.Mval.t -> bool
val is_expr_initd : Queries.ask -> GoblintCil.exp -> D.t -> bool
val remove_if_prefix : Addr.Mval.t -> D.t -> D.t
type lval_offs = Addr.Offs.t
type var_offs = Addr.Mval.t
val init_lval : Queries.ask -> GoblintCil.lval -> D.t -> D.t
val to_addrs : GoblintCil.varinfo -> Addr.t list
val remove_unreachable : Queries.ask -> GoblintCil.exp list -> D.t -> D.t
val assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
trans_out
val branch :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp ->
bool ->
trans_out
val body : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.fundec -> trans_out
val return :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
trans_out
val enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) list
val combine_env :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
'd ->
'e ->
'f ->
GoblintCil.exp list ->
'g ->
D.t ->
'h ->
D.t
val combine_assign :
(trans_out, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
'd ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'e ->
D.t ->
Queries.ask ->
trans_out
val special :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t