sig
exception Invalid_nb_of_args of int
exception Outside_builtin_possibilities
type builtin_type = unit -> Cil_types.typ * Cil_types.typ list
type cacheable = Eva.Eval.cacheable = Cacheable | NoCache | NoCacheCallers
type full_result = {
c_values : (Cvalue.V.t option * Cvalue.Model.t) list;
c_clobbered : Base.SetLattice.t;
c_from : (Function_Froms.froms * Locations.Zone.t) option;
}
type call_result =
States of Cvalue.Model.t list
| Result of Cvalue.V.t list
| Full of Eva.Builtins.full_result
type builtin =
Cvalue.Model.t ->
(Cil_types.exp * Cvalue.V.t) list -> Eva.Builtins.call_result
val register_builtin :
string ->
?replace:string ->
?typ:Eva.Builtins.builtin_type ->
Eva.Builtins.cacheable -> Eva.Builtins.builtin -> unit
val is_builtin : string -> bool
end