package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-1.1.1.tbz
sha256=999272bfbd3b9b96fcd58987b237ac6e9fa6d92ef935cc89f1ea2b4205185141
sha512=f3bf6ab71cf8c258d3290da4bf9f6fe42d7c671822e0efeb0fc50afdff078ab15e352237e5c1db31c5aa3a9d430691268ed2e5e00da10f2615835f672f91683d
doc/goblint.lib/Uninit/Spec/index.html
Module Uninit.Spec
include module type of struct include Analyses.DefaultSpec end
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 query : 'b -> 'a Queries.t -> 'a Queries.result
val event : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'a
val sync : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'a
module Addr = ValueDomain.Addr
module D = ValueDomain.AddrSetDomain
module C = ValueDomain.AddrSetDomain
module G = Lattice.Unit
type trans_in = D.t
type trans_out = D.t
val startstate : 'a -> D.t
val threadenter : 'a -> 'b -> 'c -> 'd -> D.t list
val threadspawn : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> 'g -> 'a
val exitstate : 'a -> D.t
val conv_offset :
[< `Field of 'b * 'a | `Index of Prelude.Ana.exp * 'a | `NoOffset ] as 'a ->
[> `Field of 'b * 'c | `Index of IdxDom.t * 'c | `NoOffset ] as 'c
val access_address :
Queries.ask ->
'a ->
Prelude.Ana.lval ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'b
| `Index of IdxDom.t * 'b
| `NoOffset ] as 'b
* 'a)
list
val access_one_byval :
Queries.ask ->
bool ->
Prelude.Ana.exp ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'a
| `Index of IdxDom.t * 'a
| `NoOffset ] as 'a
* bool)
list
val access_lv_byval :
Queries.ask ->
Prelude.Ana.lval ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'a
| `Index of IdxDom.t * 'a
| `NoOffset ] as 'a
* bool)
list
val access_byval :
Queries.ask ->
bool ->
Prelude.Ana.exp list ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'a
| `Index of IdxDom.t * 'a
| `NoOffset ] as 'a
* bool)
list
val access_byref :
(Queries.LS.t Queries.t -> Queries.LS.t) ->
Prelude.Ana.exp list ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'a
| `Index of IdxDom.t * 'a
| `NoOffset ] as 'a
* bool)
list
val varoffs :
Queries.ask ->
Prelude.Ana.exp ->
(CilType.Varinfo.t
* [> `Field of CilType.Fieldinfo.t * 'a
| `Index of IdxDom.t * 'a
| `NoOffset ] as 'a)
list
val vars : Queries.ask -> Prelude.Ana.exp -> Addr.t list
val is_prefix_of :
(Prelude.Ana.varinfo * (Addr.field, Addr.idx) Lval.offs) ->
(Prelude.Ana.varinfo * (Addr.field, Addr.idx) Lval.offs) ->
bool
val is_expr_initd : Queries.ask -> Prelude.Ana.exp -> D.t -> bool
val remove_if_prefix :
(Prelude.Ana.varinfo * (Addr.field, Addr.idx) Lval.offs) ->
D.t ->
D.t
type lval_offs = (Addr.field, Addr.idx) Lval.offs
type var_offs = Prelude.Ana.varinfo * lval_offs
val get_pfx :
Prelude.Ana.varinfo ->
lval_offs ->
lval_offs ->
Prelude.Ana.typ ->
Prelude.Ana.typ ->
var_offs list
val init_lval : Queries.ask -> Prelude.Ana.lval -> D.t -> D.t
val to_addrs : Prelude.Ana.varinfo -> Addr.t list
val remove_unreachable : Queries.ask -> Prelude.Ana.exp list -> D.t -> D.t
val assign :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.lval ->
Prelude.Ana.exp ->
trans_out
val branch : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.exp -> bool -> trans_out
val body : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.fundec -> trans_out
val return :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.exp option ->
Prelude.Ana.fundec ->
trans_out
val enter :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
(D.t * D.t) list
val combine :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.lval option ->
'c ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
'd ->
D.t ->
trans_out
val special :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.varinfo ->
Prelude.Ana.exp list ->
D.t
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>