package goblint
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Static analysis framework for C
Install
dune-project
Dependency
Authors
Maintainers
Sources
goblint-2.6.0.tbz
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71
doc/goblint.lib/Goblint_lib/Access/index.html
Module Goblint_lib.Access
Memory accesses and their manipulation.
module M = Messagesval is_ignorable_attrs : GoblintCil.attribute list -> boolval is_ignorable_type : GoblintCil.typ -> boolval is_ignorable_type_offset : GoblintCil.typ -> 'a Offset.t -> boolval is_ignorable_typsig : GoblintCil.typsig -> boolis_ignorable_type for typsig.
val is_ignorable_typsig_offset : GoblintCil.typsig -> 'a Offset.t -> boolis_ignorable_type_offset for typsig.
val is_ignorable_mval : (GoblintCil.varinfo * 'a Offset.t) -> boolval is_ignorable_memo :
([< `Type of GoblintCil.typsig | `Var of GoblintCil.varinfo ] * 'a Offset.t) ->
boolmodule TSH : sig ... endval typeVar : GoblintCil.varinfo TSH.tval typeIncl : GoblintCil.fieldinfo TSH.tval collect_direct_arithmetic : bool refval init : GoblintCil.file -> unitOld access type inferred from an expression.
val equal_acc_typ : acc_typ -> acc_typ -> Ppx_deriving_runtime.boolval compare_acc_typ : acc_typ -> acc_typ -> Ppx_deriving_runtime.intval hash_acc_typ : acc_typ -> intmodule MemoRoot : sig ... endmodule Memo : sig ... endMemory location of an access.
val get_type : GoblintCil.typ Lazy.t -> GoblintCil.exp -> acc_typval get_val_type : GoblintCil.exp -> acc_typval add_one :
side:
((([< `Type of GoblintCil.typsig | `Var of CilType.Varinfo.t ] as 'a)
* Offset.Unit.t) ->
unit) ->
('a * Offset.Unit.t) ->
unitAdd access to Memo after distributing.
val add_distribute_outer :
side:
(([ `Type of GoblintCil.typsig | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
unit) ->
side_empty:
(([ `Type of GoblintCil.typsig | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
unit) ->
GoblintCil.typsig ->
Offset.Unit.t ->
unitDistribute empty access set for type-based access to variables and containing fields. Empty access sets are needed for prefix-type_suffix race checking.
val add :
side:
(([ `Type of GoblintCil.typsig | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
unit) ->
side_empty:
(([ `Type of GoblintCil.typsig | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
unit) ->
CilType.Exp.t ->
(CilType.Varinfo.t * CilType.Offset.t) option ->
unitAdd access to known variable with offsets or unknown variable from expression.
Distribute to AddrOf of all read lvals in subexpressions.
val distribute_access_lval : (GoblintCil.exp -> 'a) -> GoblintCil.lval -> unitval distribute_access_lval_addr :
(GoblintCil.exp -> 'a) ->
GoblintCil.lval ->
unitval distribute_access_offset :
(GoblintCil.exp -> 'a) ->
GoblintCil.offset ->
unitval distribute_access_exp : (GoblintCil.exp -> 'a) -> GoblintCil.exp -> unitval distribute_access_type : (GoblintCil.exp -> 'a) -> GoblintCil.typ -> unitmodule A : sig ... endmodule AS : sig ... endmodule WarnAccs : sig ... endAccess sets for race detection and warnings.
val group_may_race : WarnAccs.t -> AS.t listval race_conf : AS.t -> int optionval is_all_safe : bool refval print_accesses :
([< `Type of GoblintCil.typsig & 'a | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
AS.t list ->
unitval warn_global :
safe:int ref ->
vulnerable:int ref ->
unsafe:int ref ->
WarnAccs.t ->
([< `Type of GoblintCil.typsig & 'a | `Var of CilType.Varinfo.t ]
* Offset.Unit.t) ->
unit sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>