Module Cil.Builtin_functions

module Builtin_functions: State_builder.Hashtbl  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 State_builder.S

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 iter_sorted : ?cmp:(key -> key -> int) ->
(key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) ->
'a -> 'a
val fold_sorted : ?cmp:(key -> key -> int) ->
(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 mem : key -> bool
val remove : key -> unit