LibraryDescSourceLibrary function descriptor (specification).
Pointer argument access specification.
type math = | Nan of CilType.Fkind.t * Basetype.CilExp.t| Inf of CilType.Fkind.t| Isfinite of Basetype.CilExp.t| Isinf of Basetype.CilExp.t| Isnan of Basetype.CilExp.t| Isnormal of Basetype.CilExp.t| Signbit of Basetype.CilExp.t| Isgreater of Basetype.CilExp.t * Basetype.CilExp.t| Isgreaterequal of Basetype.CilExp.t * Basetype.CilExp.t| Isless of Basetype.CilExp.t * Basetype.CilExp.t| Islessequal of Basetype.CilExp.t * Basetype.CilExp.t| Islessgreater of Basetype.CilExp.t * Basetype.CilExp.t| Isunordered of Basetype.CilExp.t * Basetype.CilExp.t| Abs of CilType.Ikind.t * Basetype.CilExp.t| Ceil of CilType.Fkind.t * Basetype.CilExp.t| Floor of CilType.Fkind.t * Basetype.CilExp.t| Fabs of CilType.Fkind.t * Basetype.CilExp.t| Fmax of CilType.Fkind.t * Basetype.CilExp.t * Basetype.CilExp.t| Fmin of CilType.Fkind.t * Basetype.CilExp.t * Basetype.CilExp.t| Acos of CilType.Fkind.t * Basetype.CilExp.t| Asin of CilType.Fkind.t * Basetype.CilExp.t| Atan of CilType.Fkind.t * Basetype.CilExp.t| Atan2 of CilType.Fkind.t * Basetype.CilExp.t * Basetype.CilExp.t| Cos of CilType.Fkind.t * Basetype.CilExp.t| Sin of CilType.Fkind.t * Basetype.CilExp.t| Tan of CilType.Fkind.t * Basetype.CilExp.t| Sqrt of CilType.Fkind.t * Basetype.CilExp.ttype special = | Alloca of Cil.Cil.exp| Malloc of Cil.Cil.exp| Calloc of {count : Cil.Cil.exp;size : Cil.Cil.exp;}| Realloc of {ptr : Cil.Cil.exp;size : Cil.Cil.exp;}| Free of Cil.Cil.exp| Assert of {exp : Cil.Cil.exp;check : bool;refine : bool;}| Lock of {lock : Cil.Cil.exp;try_ : bool;write : bool;return_on_success : bool;}| Unlock of Cil.Cil.exp| ThreadCreate of {thread : Cil.Cil.exp;start_routine : Cil.Cil.exp;arg : Cil.Cil.exp;multiple : bool;}| ThreadJoin of {thread : Cil.Cil.exp;ret_var : Cil.Cil.exp;}| ThreadExit of {ret_val : Cil.Cil.exp;}| ThreadSelf| Globalize of Cil.Cil.exp| Signal of Cil.Cil.exp| Broadcast of Cil.Cil.exp| MutexAttrSetType of {attr : Cil.Cil.exp;typ : Cil.Cil.exp;}| MutexInit of {mutex : Cil.Cil.exp;attr : Cil.Cil.exp;}| SemInit of {sem : Cil.Cil.exp;value : Cil.Cil.exp;}| SemWait of {sem : Cil.Cil.exp;try_ : bool;timeout : Cil.Cil.exp option;}| SemPost of Cil.Cil.exp| SemDestroy of Cil.Cil.exp| Wait of {cond : Cil.Cil.exp;mutex : Cil.Cil.exp;}| TimedWait of {cond : Cil.Cil.exp;mutex : Cil.Cil.exp;abstime : Cil.Cil.exp;Unused
*)}| BarrierWait of Cil.Cil.exp| BarrierInit of {barrier : Cil.Cil.exp;attr : Cil.Cil.exp;count : Cil.Cil.exp;}| Math of {fun_args : math;}| Memset of {dest : Cil.Cil.exp;ch : Cil.Cil.exp;count : Cil.Cil.exp;}| Bzero of {dest : Cil.Cil.exp;count : Cil.Cil.exp;}| Memcpy of {dest : Cil.Cil.exp;src : Cil.Cil.exp;n : Cil.Cil.exp;}| Strcpy of {dest : Cil.Cil.exp;src : Cil.Cil.exp;n : Cil.Cil.exp option;}| Strcat of {dest : Cil.Cil.exp;src : Cil.Cil.exp;n : Cil.Cil.exp option;}| Strlen of Cil.Cil.exp| Strstr of {haystack : Cil.Cil.exp;needle : Cil.Cil.exp;}| Strcmp of {s1 : Cil.Cil.exp;s2 : Cil.Cil.exp;n : Cil.Cil.exp option;}| Abort| Identity of Cil.Cil.expIdentity function. Some compiler optimization annotation functions map to this.
*)| Setjmp of {env : Cil.Cil.exp;}| Longjmp of {env : Cil.Cil.exp;value : Cil.Cil.exp;}| Bounded of {exp : Cil.Cil.exp;}Used to check for bounds for termination analysis.
*)| Rand| Once of {once_control : Cil.Cil.exp;init_routine : Cil.Cil.exp;}| UnknownAnything not belonging to other types.
*)Type of special function, or Unknown.
Function attribute.
type t = {special : Cil.Cil.exp list -> special;accs : Accesses.t;Pointer arguments access specification.
*)attrs : attr list;Attributes of function.
*)}Library function descriptor.