Cil_builtins.Builtin_functionsA list of the built-in functions for the current compiler (GCC or * MSVC, depending on !msvcMode). Maps the name to the * result and argument types, and whether it is vararg. * Initialized by Cil.initCIL. Do not add builtins directly, use * add_custom_builtin below for that. * * This map replaces gccBuiltins and msvcBuiltins in previous * versions of CIL.
Hashtbl are a standard computation. BUT that is INCORRECT to use projectified hashtables if keys have a custom rehash function (see Project.DATATYPE_OUTPUT.rehash)
include State_builder.Sval self : State.tThe kind of the registered state.
val mark_as_computed : ?project:Project.t -> unit -> unitIndicate that the registered state will not change again for the given project (default is current ()).
val is_computed : ?project:Project.t -> unit -> boolReturns true iff the registered state will not change again for the given project (default is current ()).
Exportation of some inputs (easier use of State_builder.Register).
module Datatype : Datatype.Sval add_hook_on_update : ( Datatype.t -> unit ) -> unitAdd an hook which is applied each time (just before) the project library changes the local value of the state.
val howto_marshal : ( Datatype.t -> 'a ) -> ( 'a -> Datatype.t ) -> unithowto_marshal marshal unmarshal registers a custom couple of functions (marshal, unmarshal) to be used for serialization. Default functions are identities. In particular, this function must be used if Datatype.t is not marshallable and do_not_save is not called.
type data = Cil_types.typ * Cil_types.typ list * boolMemoization. Compute on need the data associated to a given key using the given function. If the data is already computed, it is possible to change with change.
val mem : key -> boolval remove : key -> unit