module type S = sig
.. end
include Mvalues.Values
module L: Formula.Logic
with module F = F
Memory, Field and Array access
type
mem
val mem : unit -> mem
val global : Cil_types.varinfo -> unit
val cvar : mem -> Cil_types.varinfo -> loc
val shift : loc -> Ctypes.c_object -> F.integer -> loc
shift ptr tau k
computes the location
of ptr+k
, where ptr
is a pointer to a value of type tau
.
val index : loc -> Ctypes.c_object -> F.integer -> loc
index tab tau k
computes the location
of tab[k]
, where tab
is an array with elements of type tau
.
val startof : loc -> Ctypes.c_object -> loc
startof
return a pointer to the first element of an array
val field : loc -> Cil_types.fieldinfo -> loc
val load : mem -> Ctypes.c_object -> loc -> value
val cast_loc_to_loc : Cil_types.typ -> Cil_types.typ -> loc -> loc
cast_loc_to_loc t1 t2 l
returns the casted location of type t2
from the location l
of type t1