package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-2.1.0.tbz
sha256=bfc412ec2e447eaef6f4f83892e3511ebf305593cb00561c1406be3ae8bf48e9
sha512=5f2a162e5f36bffafc9836b0d18b5b2808cecfa6bf68f83bb7d1e8b9947ac74cf07776eb09274b4b29d55c897a45a10768f0d9ed25810cf6ba2409c525e4cd4d

doc/goblint.lib/Goblint_lib/Access/index.html

Module Goblint_lib.Access

module M = Messages
val is_ignorable_type : GoblintCil.typ -> bool
val is_ignorable : (GoblintCil.varinfo * 'a) option -> bool
val typeVar : (GoblintCil.typsig, GoblintCil.varinfo) Batteries.Hashtbl.t
val typeIncl : (GoblintCil.typsig, GoblintCil.fieldinfo) Batteries.Hashtbl.t
val unsound : bool Batteries.ref
val init : GoblintCil.file -> unit
val reset : unit -> unit
type offs = [
  1. | `NoOffset
  2. | `Index of offs
  3. | `Field of CilType.Fieldinfo.t * offs
]
val equal_offs : offs -> offs -> Ppx_deriving_runtime.bool
val compare_offs : offs -> offs -> Ppx_deriving_runtime.int
val hash_offs : offs -> int
val remove_idx : GoblintCil.offset -> offs
val addOffs : [< `Field of CilType.Fieldinfo.t * 'a | `Index of 'a | `NoOffset ] as 'a -> offs -> offs
val d_offs : unit -> offs -> GoblintCil.Pretty.doc
type acc_typ = [
  1. | `Type of CilType.Typ.t
  2. | `Struct of CilType.Compinfo.t * offs
]
val equal_acc_typ : acc_typ -> acc_typ -> Ppx_deriving_runtime.bool
val compare_acc_typ : acc_typ -> acc_typ -> Ppx_deriving_runtime.int
val hash_acc_typ : acc_typ -> int
val d_acct : unit -> [< `Struct of GoblintCil.compinfo * offs | `Type of GoblintCil.typ ] -> GoblintCil.Pretty.doc
val d_memo : unit -> ([< `Struct of GoblintCil.compinfo * offs | `Type of GoblintCil.typ ] * (GoblintCil.varinfo * offs) option) -> GoblintCil.Pretty.doc
val get_type : GoblintCil.typ -> GoblintCil.exp -> acc_typ
type var_o = GoblintCil.varinfo option
type off_o = GoblintCil.offset option
val get_val_type : GoblintCil.exp -> var_o -> off_o -> acc_typ
val add_one : (acc_typ -> (GoblintCil.varinfo * offs) option -> (int * AccessKind.t * Node.t * GoblintCil.exp * 'a) -> unit) -> GoblintCil.exp -> AccessKind.t -> int -> acc_typ -> (GoblintCil.varinfo * offs) option -> 'a -> unit
val type_from_type_offset : acc_typ -> GoblintCil.typ
val add_struct : (acc_typ -> (GoblintCil.varinfo * offs) option -> (int * AccessKind.t * Node.t * GoblintCil.exp * 'a) -> unit) -> GoblintCil.exp -> AccessKind.t -> int -> acc_typ -> (GoblintCil.varinfo * offs) option -> 'a -> unit
val add_propagate : (acc_typ -> (GoblintCil.varinfo * offs) option -> (int * AccessKind.t * Node.t * GoblintCil.exp * 'a) -> unit) -> GoblintCil.exp -> AccessKind.t -> int -> acc_typ -> 'b -> 'a -> unit
val distribute_access_lval : (GoblintCil.exp -> 'a) -> GoblintCil.lval -> unit
val distribute_access_lval_addr : (GoblintCil.exp -> 'a) -> GoblintCil.lval -> unit
val distribute_access_offset : (GoblintCil.exp -> 'a) -> GoblintCil.offset -> unit
val distribute_access_exp : (GoblintCil.exp -> 'a) -> GoblintCil.exp -> unit
val add : (acc_typ -> (GoblintCil.varinfo * offs) option -> (int * AccessKind.t * Node.t * GoblintCil.exp * 'a) -> unit) -> GoblintCil.exp -> AccessKind.t -> int -> var_o -> off_o -> 'a -> unit
module A : sig ... end
module AS : sig ... end
module T : sig ... end
module O : sig ... end
module LV : sig ... end
module LVOpt : sig ... end
val may_race : ('a * AccessKind.t * 'b * 'c * MCPAccess.A.t) -> ('d * AccessKind.t * 'e * 'f * MCPAccess.A.t) -> bool
val group_may_race : AS.t -> AS.t list
val race_conf : AS.t -> Batteries.Int.t option
val is_all_safe : bool Batteries.ref
val incr_summary : int Batteries.ref -> int Batteries.ref -> int Batteries.ref -> ('a * 'b) -> AS.t list -> unit
val print_accesses : ((GoblintCil.varinfo * offs) option * [< `Struct of GoblintCil.compinfo * offs | `Type of GoblintCil.typ ]) -> AS.t list -> unit
val warn_global : int Batteries.ref -> int Batteries.ref -> int Batteries.ref -> ((GoblintCil.varinfo * offs) option * [< `Struct of GoblintCil.compinfo * offs | `Type of GoblintCil.typ ]) -> AS.t -> unit
OCaml

Innovation. Community. Security.