package goblint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ca24f72fa9a87d288affe97c411753f14b7802bab4ca3649b337276b89bf5674
sha512=394b3521ccda0da91540cebb2f433f7525763060be4bbe179edd3b952a3580a8e173c4e410fc6895dc67fe6d17e6699aeddfed600f4692858bec093dd912bf1e
doc/goblint.lib/Goblint_lib/Offset/MakeLattice/index.html
Module Offset.MakeLattice
Make offset Lattice
from lattice indices.
Parameters
module Idx : Index.Lattice
Signature
type idx = Idx.t
Type of indices in offset.
include Printable.S with type t = idx Goblint_lib__.Offset_intf.t
type t = [
| `NoOffset
(*No offset. Marks the end of offset list.
*)| `Field of CilType.Fieldinfo.t * idx Goblint_lib__.Offset_intf.t
(*Offset starting with a struct field.
*)| `Index of idx * idx Goblint_lib__.Offset_intf.t
(*Offset starting with an array index.
*)
]
val is_definite : t -> bool
Whether offset has only definite integer indexing (and fields).
val contains_index : t -> bool
Whether offset contains any indexing.
val to_cil : t -> GoblintCil.offset
Convert to CIL offset.
val to_exp : t -> GoblintCil.exp Goblint_lib__.Offset_intf.t
Convert to Goblint offset with GoblintCil.exp
indices.
val to_cil_offset : t -> GoblintCil.offset
Version of to_cil
which drops indices for ArrayDomain
.
val cmp_zero_offset : t -> [ `MustZero | `MustNonzero | `MayZero ]
Compare offset to zero offset.
Zero indices and first fields of a struct are in the same physical memory location as the outer object.
val type_of : base:GoblintCil.typ -> t -> GoblintCil.typ
Type of the offset on the base
type.
include Lattice.S with type t := t
include Lattice.PO with type t := t
include Printable.S with type t := t
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Goblint_lib__.Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrary
widen x y
assumes leq x y
. Solvers guarantee this by calling widen old (join old new)
.
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
val of_exp : GoblintCil.exp Goblint_lib__.Offset_intf.t -> t
Convert from Goblint offset with GoblintCil.exp
indices.
Physical memory offset in bytes of the entire offset. Used for semantic_equal
.