Module Cil.BuiltinFunctions


module BuiltinFunctions: Computation.HASHTBL_OUTPUT  with type key = string
			     and type data = typ * typ list * bool
A 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

This map replaces gccBuiltins and msvcBuiltins in previous versions of CIL.


include Project.Computation.OUTPUT

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)
type key 
type data 
val replace : key -> data -> unit
Add a new binding. The previous one is removed.
val add : key -> data -> unit
Add a new binding. The previous one is only hidden.
val clear : unit -> unit
Clear the table.
val length : unit -> int
Length of the table.
val iter : (key -> data -> unit) ->
unit
val fold : (key ->
data -> 'a -> 'a) ->
'a -> 'a
val memo : ?change:(data -> data) ->
(key -> data) ->
key -> data
Memoization. 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 find : key -> data
Return the current binding of the given key.
Raises Not_found if the key is not in the table.
val find_all : key -> data list
Return the list of all data associated with the given key.
val unsafe_find : key -> data
Unsafe version of find. Do not raise Not_found. You can use it if you can prove that the given key belongs to the state.
val mem : key -> bool
val remove : key -> unit