Module MemOutOfBounds.Spec
include module type of struct include Analyses.IdentitySpec end
include module type of struct include Analyses.DefaultSpec end
val finalize : unit -> unit
val morphstate : 'a -> 'b -> 'b
val access : 'a -> 'b -> unit
val body : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.fundec -> 'a
val combine_env :
'a ->
GoblintCil.lval option ->
'b ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'c ->
'd ->
Queries.ask ->
'd
val threadenter :
('a, 'b, 'c, 'd) Analyses.man ->
multiple:'e ->
'f ->
'g ->
'h ->
'a list
val threadspawn :
('a, 'b, 'c, 'd) Analyses.man ->
multiple:'e ->
'f ->
'g ->
'h ->
'i ->
'a
include sig ... end
val startcontext : unit -> D.t
val context : 'a -> 'b -> 'c -> unit
val name : unit -> string
val intdom_of_int : int -> ID.t
val size_of_type_in_bytes : GoblintCil.typ -> ID.t
val exp_contains_a_ptr : GoblintCil.exp -> bool
val lval_contains_a_ptr : GoblintCil.lval -> bool
val points_to_alloc_only :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.exp ->
bool
val get_ptr_deref_type : GoblintCil.Cil.typ -> GoblintCil.typ option
val eval_ptr_offset_in_binop :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.exp ->
GoblintCil.typ ->
[> `Bot | `Lifted of ID.t | `Top ]
val offs_to_idx :
GoblintCil.typ ->
[< `Field of GoblintCil.fieldinfo * 'a | `Index of ID.t * 'a | `NoOffset ] as 'a ->
ID.t
val check_unknown_addr_deref :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.exp ->
unit
val ptr_only_has_str_addr :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.exp ->
bool
val check_lval_for_oob_access :
('a, 'b, 'c, 'd) Analyses.man ->
?is_implicitly_derefed:bool ->
GoblintCil.lval ->
unit
val check_no_binop_deref :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.exp ->
unit
val check_exp_for_oob_access :
('a, 'b, 'c, 'd) Analyses.man ->
?is_implicitly_derefed:bool ->
GoblintCil.exp ->
unit
val check_binop_exp :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.binop ->
GoblintCil.exp ->
GoblintCil.exp ->
GoblintCil.typ ->
unit
val check_count :
('a, 'b, 'c, 'd) Analyses.man ->
string ->
GoblintCil.exp ->
GoblintCil.exp ->
unit
val return :
(D.t, 'a, 'b, 'c) Analyses.man ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.t
val special :
(D.t, 'a, 'b, 'c) Analyses.man ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t
val enter :
(D.t, 'a, 'b, 'c) Analyses.man ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) list
val combine_assign :
(D.t, 'a, 'b, 'c) Analyses.man ->
GoblintCil.lval option ->
'd ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'e ->
D.t ->
Queries.ask ->
D.t
val startstate : 'a -> unit
val exitstate : 'a -> unit