package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
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
type marshal = unit
val init : 'a -> unit
val finalize : unit -> unit
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val query : 'b -> 'a Queries.t -> 'a
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val context : 'a -> 'b -> 'c -> 'c
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a list
module A = Analyses.UnitA
val access : 'a -> 'b -> unit
module Addr = ValueDomain.Addr
include sig ... end
module C : sig ... end
val startcontext : unit -> D.t
module P : sig ... end
type trans_in = D.t
type trans_out = D.t
type transfer = trans_in -> trans_out
val name : unit -> string
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 -> 'a
val exitstate : 'a -> D.t
val access_address : Queries.ask -> 'a -> GoblintCil.lval -> (GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t * 'a) list
val access_one_byval : Queries.ask -> bool -> GoblintCil.exp -> (GoblintCil.varinfo * PreValueDomain.Mval.idx Offset.t * bool) 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
OCaml

Innovation. Community. Security.