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.

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 sync : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
val context : 'a -> 'b -> 'b
module TD = Thread.D
module D : sig ... end
module C = D
module G = Lattice.Unit
val name : unit -> string
val startstate : 'a -> [> `Bot ] * TD.t
val exitstate : Cil.varinfo -> [> `Lifted of Thread.t ] * TD.t
val morphstate : Cil.varinfo -> 'a -> [> `Lifted of Thread.t ] * TD.t
val create_tid : ([> `Lifted of Thread.t ] * Thread.D.t) -> Node.t -> Cil.varinfo -> [> `Lifted of Thread.t ]
val body : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
val branch : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'a
val return : ([> `Top ] as 'a * TD.t, 'b, 'c) Analyses.ctx -> 'd -> Prelude.Ana.fundec -> 'a * TD.t
val assign : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.lval -> Prelude.Ana.exp -> D.t
val enter : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> ('a * 'a) list
val combine : 'a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g -> 'g
val special : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> 'a
val is_unique : ('a, 'b, 'c) Analyses.ctx -> Queries.MustBool.t Queries.result
val part_access : ([< `Bot | `Lifted of ThreadIdDomain.Thread.t | `Top ] * 'a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> Access.LSSSet.t * Access.LSSet.t
val query : (D.t, 'b, 'c) Analyses.ctx -> 'a Queries.t -> 'a Queries.result
val threadenter : ([> `Lifted of Thread.t ] * Thread.D.t, 'a, 'b) Analyses.ctx -> 'c -> Cil.varinfo -> 'd -> ([> `Lifted of Thread.t ] * TD.t) list
val threadspawn : ('a * Thread.D.t, 'b, 'c) Analyses.ctx -> 'd -> Cil.varinfo -> 'e -> 'f -> 'a * Thread.D.t
type marshal = Thread.marshal
val init : Thread.marshal option -> unit
val finalize : unit -> Thread.marshal