package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
exception Top
include module type of struct include Analyses.DefaultSpec end

Relatively safe default implementations of some boring Spec functions.

type marshal = unit
val init : 'a -> unit
val finalize : unit -> unit
val should_join : 'a -> 'b -> bool
val call_descr : Cil.fundec -> 'a -> string
val intrpt : ('a, 'b, 'c) Analyses.ctx -> 'a
val vdecl : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
val asm : ('a, 'b, 'c) Analyses.ctx -> 'a
val skip : ('a, 'b, 'c) Analyses.ctx -> 'a
val event : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
val context : 'a -> 'b -> 'b
module D : sig ... end
module C = D
module G = Lattice.Unit
val name : unit -> string
val startstate : 'a -> D.E.t
val threadenter : 'a -> 'b -> 'c -> 'd -> D.E.t list
val threadspawn : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> 'g -> 'a
val exitstate : 'a -> D.E.t
val const_equal : Prelude.Ana.constant -> Prelude.Ana.constant -> bool
val option_eq : ('a -> 'b -> bool) -> 'a option -> 'b option -> bool
val typ_equal : Prelude.Ana.typ -> Prelude.Ana.typ -> bool
val lval_equal : Prelude.Ana.lval -> Prelude.Ana.lval -> bool
val exp_equal : Prelude.Ana.exp -> Prelude.Ana.exp -> bool
val query_exp_equal : 'a -> Prelude.Ana.exp -> Prelude.Ana.exp -> 'b -> D.t -> bool
val may_change_t : Prelude.Ana.exp -> Prelude.Ana.exp -> bool
val may_change_pt : (Queries.LS.t Queries.t -> Queries.LS.t) -> Prelude.Ana.exp -> Prelude.Ana.exp -> bool
val may_change : Queries.ask -> Prelude.Ana.exp -> Prelude.Ana.exp -> bool
val remove_exp : Queries.ask -> Prelude.Ana.exp -> D.t -> D.t
val remove : Queries.ask -> Prelude.Ana.lval -> D.t -> D.t
val add_eq : Queries.ask -> Prelude.Ana.lval -> Exp.t -> D.t -> D.E.t
val reachables : Queries.ask -> Cil.exp list -> Queries.LS.t option
val reachable_from : Queries.LS.t -> Prelude.Ana.exp -> bool
val body : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
val branch : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'a
val return : (D.t, 'a, 'b) Analyses.ctx -> 'c -> Prelude.Ana.fundec -> D.t
val assign : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.lval -> Prelude.Ana.exp -> D.t
val enter : (D.t, 'a, 'b) Analyses.ctx -> 'c -> Prelude.Ana.fundec -> Exp.t list -> (D.t * D.t) list
val combine : (D.E.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.lval option -> 'c -> 'd -> 'e -> 'f -> D.t -> D.t
val remove_reachable : (D.t, 'a, 'b) Analyses.ctx -> Cil.exp list -> D.E.t
val unknown_fn : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.varinfo -> Prelude.Ana.exp list -> D.E.t
val safe_fn : string -> bool
val special : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.varinfo -> Prelude.Ana.exp list -> D.t
val eq_set : Prelude.Ana.exp -> D.t -> [ `Lifted of SetDomain.Make(Exp.Exp).t | `Top ]
val eq_set_clos : Prelude.Ana.exp -> D.t -> [ `Lifted of SetDomain.Make(Exp.Exp).t | `Top ]
val query : (D.t, 'b, 'c) Analyses.ctx -> 'a Queries.t -> 'a Queries.result