Frama_c_kernel.Cil_builtinsmodule Frama_c_builtins :
State_builder.Hashtbl
with type key = string
and type data = Cil_types.varinfoThis module associates the name of a built-in function that might be used during elaboration with the corresponding varinfo. This is done when parsing ${FRAMAC_SHARE}/libc/__fc_builtins.h, which is always performed before processing the actual list of files provided on the command line (see File.init_from_c_files). Actual list of such built-ins is managed in Cabs2cil.
val is_builtin : Cil_types.varinfo -> boolval is_unused_builtin : Cil_types.varinfo -> boolregister a new family of special built-in functions.
initialize the C built-ins. Should be called once per project, after the machine has been set.
module Builtin_functions :
State_builder.Hashtbl
with type key = string
and type data = Cil_types.typ * Cil_types.typ list * boolA 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.
val string_of_compiler : compiler -> stringtype builtin_template = {name : string;compiler : compiler option;rettype : string;args : string list;types : string list option;variadic : bool;}module Builtin_templates :
State_builder.Hashtbl with type key = string and type data = builtin_templatemodule Gcc_builtin_templates_loaded : State_builder.Ref with type data = boolval add_custom_builtin :
(unit -> string * Cil_types.typ * Cil_types.typ list * bool) ->
unitRegister a new builtin. The function will be called after setting the machdep and initializing machine-dependent builtins. Hence, types such Cil.uint16_t might be used if needed.
val builtinLoc : Cil_types.locationThis is used as the location of the prototypes of builtin functions.