Mercurial > hg > CbC > CbC_llvm
view libc/spec/stdc.td @ 240:ca573705d418
merge
author | matac |
---|---|
date | Fri, 28 Jul 2023 20:50:09 +0900 |
parents | c4bab56944e8 |
children | 1f2b6ac9f198 |
line wrap: on
line source
def StdC : StandardSpec<"stdc"> { NamedType StructTmType = NamedType<"struct tm">; PtrType StructTmPtr = PtrType<StructTmType>; PtrType TimeTTypePtr = PtrType<TimeTType>; NamedType ClockT = NamedType<"clock_t">; NamedType DivTType = NamedType<"div_t">; NamedType LDivTType = NamedType<"ldiv_t">; NamedType LLDivTType = NamedType<"lldiv_t">; NamedType JmpBuf = NamedType<"jmp_buf">; NamedType TssTType = NamedType<"tss_t">; PtrType TssTPtr = PtrType<TssTType>; NamedType TssDtorTType = NamedType<"tss_dtor_t">; HeaderSpec Assert = HeaderSpec< "assert.h", [ Macro<"static_assert">, Macro<"assert">, ], [], // Types [], // Enumerations [] >; HeaderSpec CType = HeaderSpec< "ctype.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "isalnum", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isalpha", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isblank", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "iscntrl", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isdigit", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isgraph", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "islower", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isprint", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "ispunct", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isspace", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isupper", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "isxdigit", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "tolower", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "toupper", RetValSpec<IntType>, [ArgSpec<IntType>] >, ] >; NamedType FEnvT = NamedType<"fenv_t">; PtrType FEnvTPtr = PtrType<FEnvT>; ConstType ConstFEnvTPtr = ConstType<FEnvTPtr>; NamedType FExceptT = NamedType<"fexcept_t">; PtrType FExceptTPtr = PtrType<FExceptT>; ConstType ConstFExceptTPtr = ConstType<FExceptTPtr>; HeaderSpec Fenv = HeaderSpec< "fenv.h", [ Macro<"FE_DIVBYZERO">, Macro<"FE_INEXACT">, Macro<"FE_INVALID">, Macro<"FE_OVERFLOW">, Macro<"FE_UNDERFLOW">, Macro<"FE_ALL_EXCEPT">, Macro<"FE_DOWNWARD">, Macro<"FE_TONEAREST">, Macro<"FE_TOWARDZERO">, Macro<"FE_UPWARD">, Macro<"FE_DFL_ENV"> ], [ NamedType<"fenv_t">, NamedType<"fexcept_t">, ], // Types [], // Enumerations [ FunctionSpec< "feclearexcept", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "fetestexcept", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "feraiseexcept", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "fesetround", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "fegetround", RetValSpec<IntType>, [] >, FunctionSpec< "fegetenv", RetValSpec<IntType>, [ArgSpec<FEnvTPtr>] >, FunctionSpec< "fesetenv", RetValSpec<IntType>, [ArgSpec<ConstFEnvTPtr>] >, FunctionSpec< "fegetexceptflag", RetValSpec<IntType>, [ArgSpec<FExceptTPtr>, ArgSpec<IntType>] >, FunctionSpec< "fesetexceptflag", RetValSpec<IntType>, [ArgSpec<ConstFExceptTPtr>, ArgSpec<IntType>] >, FunctionSpec< "feholdexcept", RetValSpec<IntType>, [ArgSpec<FEnvTPtr>] >, FunctionSpec< "feupdateenv", RetValSpec<IntType>, [ArgSpec<ConstFEnvTPtr>] >, ] >; HeaderSpec String = HeaderSpec< "string.h", [ Macro<"NULL">, ], [ SizeTType, ], [], // Enumerations [ FunctionSpec< "memcpy", RetValSpec<VoidPtr>, [ArgSpec<VoidRestrictedPtr>, ArgSpec<ConstVoidRestrictedPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "memmove", RetValSpec<VoidPtr>, [ArgSpec<VoidPtr>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "memcmp", RetValSpec<IntType>, [ArgSpec<ConstVoidPtr>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "memchr", RetValSpec<VoidPtr>, [ArgSpec<ConstVoidPtr>, ArgSpec<IntType>, ArgSpec<SizeTType>] >, FunctionSpec< "memset", RetValSpec<VoidPtr>, [ArgSpec<VoidPtr>, ArgSpec<IntType>, ArgSpec<SizeTType>] >, FunctionSpec< "strcpy", RetValSpec<CharPtr>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>] >, FunctionSpec< "strncpy", RetValSpec<CharPtr>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "strcat", RetValSpec<CharPtr>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>] >, FunctionSpec< "strncat", RetValSpec<CharPtr>, [ArgSpec<CharPtr>, ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "strcmp", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strcoll", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strncmp", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "strxfrm", RetValSpec<SizeTType>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "strchr", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>, ArgSpec<IntType>] >, FunctionSpec< "strcspn", RetValSpec<SizeTType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strdup", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>] >, FunctionSpec< "strndup", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>,ArgSpec<SizeTType>] >, FunctionSpec< "strpbrk", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strrchr", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>, ArgSpec<IntType>] >, FunctionSpec< "strspn", RetValSpec<SizeTType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strstr", RetValSpec<CharPtr>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "strtok", RetValSpec<CharPtr>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>] >, FunctionSpec< "strerror", RetValSpec<CharPtr>, [ArgSpec<IntType>] >, FunctionSpec< "strlen", RetValSpec<SizeTType>, [ArgSpec<ConstCharPtr>] >, ] >; HeaderSpec Math = HeaderSpec< "math.h", [ Macro<"MATH_ERRNO">, Macro<"MATH_ERREXCEPT">, Macro<"math_errhandling">, Macro<"HUGE_VAL">, Macro<"INFINITY">, Macro<"NAN">, Macro<"FP_ILOGB0">, Macro<"FP_ILOGBNAN">, Macro<"isfinite">, Macro<"isinf">, Macro<"isnan">, ], [ NamedType<"float_t">, NamedType<"double_t">, ], [], // Enumerations [ FunctionSpec<"copysign", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"copysignf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"copysignl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"ceil", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"ceilf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"ceill", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"fabs", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"fabsf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"fabsl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"fdim", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"fdimf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"fdiml", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"floor", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"floorf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"floorl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"fmin", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"fminf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"fminl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"fmax", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"fmaxf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"fmaxl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"fma", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"fmaf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"fmod", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"fmodf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"frexp", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<IntPtr>]>, FunctionSpec<"frexpf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<IntPtr>]>, FunctionSpec<"frexpl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<IntPtr>]>, FunctionSpec<"hypot", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"hypotf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"ilogb", RetValSpec<IntType>, [ArgSpec<DoubleType>]>, FunctionSpec<"ilogbf", RetValSpec<IntType>, [ArgSpec<FloatType>]>, FunctionSpec<"ilogbl", RetValSpec<IntType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"ldexp", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<IntType>]>, FunctionSpec<"ldexpf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<IntType>]>, FunctionSpec<"ldexpl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<IntType>]>, FunctionSpec<"log10f", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"log1pf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"log2f", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"logf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"logb", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"logbf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"logbl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"modf", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoublePtr>]>, FunctionSpec<"modff", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatPtr>]>, FunctionSpec<"modfl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoublePtr>]>, FunctionSpec<"cos", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"cosf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"sin", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"sinf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"tan", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"tanf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"expf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"exp2f", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"expm1f", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"remainderf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"remainder", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"remainderl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"remquof", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>, ArgSpec<IntPtr>]>, FunctionSpec<"remquo", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>, ArgSpec<IntPtr>]>, FunctionSpec<"remquol", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>, ArgSpec<IntPtr>]>, FunctionSpec<"round", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"roundf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"roundl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"lround", RetValSpec<LongType>, [ArgSpec<DoubleType>]>, FunctionSpec<"lroundf", RetValSpec<LongType>, [ArgSpec<FloatType>]>, FunctionSpec<"lroundl", RetValSpec<LongType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"llround", RetValSpec<LongLongType>, [ArgSpec<DoubleType>]>, FunctionSpec<"llroundf", RetValSpec<LongLongType>, [ArgSpec<FloatType>]>, FunctionSpec<"llroundl", RetValSpec<LongLongType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"rint", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"rintf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"rintl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"lrint", RetValSpec<LongType>, [ArgSpec<DoubleType>]>, FunctionSpec<"lrintf", RetValSpec<LongType>, [ArgSpec<FloatType>]>, FunctionSpec<"lrintl", RetValSpec<LongType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"llrint", RetValSpec<LongLongType>, [ArgSpec<DoubleType>]>, FunctionSpec<"llrintf", RetValSpec<LongLongType>, [ArgSpec<FloatType>]>, FunctionSpec<"llrintl", RetValSpec<LongLongType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"sqrt", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"sqrtf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"sqrtl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"trunc", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"truncf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"truncl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"nearbyint", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"nearbyintf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"nearbyintl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>, FunctionSpec<"nextafterf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>, FunctionSpec<"nextafter", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"nextafterl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>, FunctionSpec<"pow", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>, FunctionSpec<"coshf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"sinhf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"tanhf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"acosf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"asinf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"asin", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>, FunctionSpec<"atanf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, FunctionSpec<"atanhf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>, ] >; HeaderSpec StdIO = HeaderSpec< "stdio.h", [ Macro<"stdin">, Macro<"stderr">, Macro<"stdout">, Macro<"_IOFBF">, Macro<"_IOLBF">, Macro<"_IONBF">, Macro<"EOF">, ], // Macros [ // Types SizeTType, FILE, ], [], // Enumerations [ FunctionSpec< "clearerr", RetValSpec<VoidType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "fclose", RetValSpec<IntType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "feof", RetValSpec<IntType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "ferror", RetValSpec<IntType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "fgetc", RetValSpec<IntType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "fgets", RetValSpec<CharPtr>, [ ArgSpec<CharRestrictedPtr>, ArgSpec<IntType>, ArgSpec<FILERestrictedPtr>, ] >, FunctionSpec< "fflush", RetValSpec<IntType>, [ArgSpec<FILEPtr>] >, FunctionSpec< "fopen", RetValSpec<FILEPtr>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] >, FunctionSpec< "fputc", RetValSpec<IntType>, [ArgSpec<IntType>, ArgSpec<FILEPtr>] >, FunctionSpec< "putc", RetValSpec<IntType>, [ArgSpec<IntType>, ArgSpec<FILEPtr>] >, FunctionSpec< "putchar", RetValSpec<IntType>, [ArgSpec<IntType>] >, FunctionSpec< "fputs", RetValSpec<IntType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<FILERestrictedPtr>] >, FunctionSpec< "puts", RetValSpec<IntType>, [ArgSpec<ConstCharRestrictedPtr>] >, FunctionSpec< "fread", RetValSpec<SizeTType>, [ArgSpec<VoidRestrictedPtr>, ArgSpec<SizeTType>, ArgSpec<SizeTType>, ArgSpec<FILERestrictedPtr>] >, FunctionSpec< "fseek", RetValSpec<IntType>, [ArgSpec<FILEPtr>, ArgSpec<LongType>, ArgSpec<IntType>] >, FunctionSpec< "fwrite", RetValSpec<SizeTType>, [ArgSpec<ConstVoidRestrictedPtr>, ArgSpec<SizeTType>, ArgSpec<SizeTType>, ArgSpec<FILERestrictedPtr>] >, FunctionSpec< "remove", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>] >, FunctionSpec< "sprintf", RetValSpec<IntType>, [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<VarArgType>] >, FunctionSpec< "snprintf", RetValSpec<IntType>, [ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<VarArgType>] >, FunctionSpec< "printf", RetValSpec<IntType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<VarArgType>] >, FunctionSpec< "fprintf", RetValSpec<IntType>, [ArgSpec<FILERestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<VarArgType>] >, ], [ ObjectSpec< "stdin", "FILE *" >, ObjectSpec< "stdout", "FILE *" >, ObjectSpec< "stderr", "FILE *" >, ] >; HeaderSpec StdLib = HeaderSpec< "stdlib.h", [], // Macros [ DivTType, LDivTType, LLDivTType, SizeTType, BSearchCompareT, QSortCompareT, AtexitHandlerT, ], // Types [], // Enumerations [ FunctionSpec<"abort", RetValSpec<NoReturn>, [ArgSpec<VoidType>]>, FunctionSpec<"bsearch", RetValSpec<VoidPtr>, [ArgSpec<ConstVoidPtr>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>, ArgSpec<SizeTType>, ArgSpec<BSearchCompareT>]>, FunctionSpec<"abs", RetValSpec<IntType>, [ArgSpec<IntType>]>, FunctionSpec<"labs", RetValSpec<LongType>, [ArgSpec<LongType>]>, FunctionSpec<"llabs", RetValSpec<LongLongType>, [ArgSpec<LongLongType>]>, FunctionSpec<"atof", RetValSpec<DoubleType>, [ArgSpec<ConstCharRestrictedPtr>]>, FunctionSpec<"atoi", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>]>, FunctionSpec<"atol", RetValSpec<LongType>, [ArgSpec<ConstCharPtr>]>, FunctionSpec<"atoll", RetValSpec<LongLongType>, [ArgSpec<ConstCharPtr>]>, FunctionSpec<"div", RetValSpec<DivTType>, [ArgSpec<IntType>, ArgSpec<IntType>]>, FunctionSpec<"ldiv", RetValSpec<LDivTType>, [ArgSpec<LongType>, ArgSpec<LongType>]>, FunctionSpec<"lldiv", RetValSpec<LLDivTType>, [ArgSpec<LongLongType>, ArgSpec<LongLongType>]>, FunctionSpec<"qsort", RetValSpec<VoidType>, [ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<SizeTType>, ArgSpec<QSortCompareT>]>, FunctionSpec<"rand", RetValSpec<IntType>, [ArgSpec<VoidType>]>, FunctionSpec<"srand", RetValSpec<VoidType>, [ArgSpec<UnsignedIntType>]>, FunctionSpec<"strtof", RetValSpec<FloatType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>]>, FunctionSpec<"strtod", RetValSpec<DoubleType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>]>, FunctionSpec<"strtold", RetValSpec<LongDoubleType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>]>, FunctionSpec<"strtol", RetValSpec<LongType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, FunctionSpec<"strtoll", RetValSpec<LongLongType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, FunctionSpec<"strtoul", RetValSpec<UnsignedLongType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, FunctionSpec<"strtoull", RetValSpec<UnsignedLongLongType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, FunctionSpec<"malloc", RetValSpec<VoidPtr>, [ArgSpec<SizeTType>]>, FunctionSpec<"calloc", RetValSpec<VoidPtr>, [ArgSpec<SizeTType>, ArgSpec<SizeTType>]>, FunctionSpec<"realloc", RetValSpec<VoidPtr>, [ArgSpec<VoidPtr>, ArgSpec<SizeTType>]>, FunctionSpec<"aligned_alloc", RetValSpec<VoidPtr>, [ArgSpec<SizeTType>, ArgSpec<SizeTType>]>, FunctionSpec<"free", RetValSpec<VoidType>, [ArgSpec<VoidPtr>]>, FunctionSpec<"_Exit", RetValSpec<NoReturn>, [ArgSpec<IntType>]>, FunctionSpec<"exit", RetValSpec<NoReturn>, [ArgSpec<IntType>]>, FunctionSpec<"atexit", RetValSpec<IntType>, [ArgSpec<AtexitHandlerT>]>, ] >; NamedType IMaxDivTType = NamedType<"imaxdiv_t">; HeaderSpec IntTypes = HeaderSpec< "inttypes.h", [], // Macros [ IMaxDivTType, ], // Types [], // Enumerations [ FunctionSpec<"imaxabs", RetValSpec<IntMaxTType>, [ArgSpec<IntMaxTType>]>, FunctionSpec<"imaxdiv", RetValSpec<IMaxDivTType>, [ArgSpec<IntMaxTType>, ArgSpec<IntMaxTType>]>, FunctionSpec<"strtoimax", RetValSpec<IntMaxTType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, FunctionSpec<"strtoumax", RetValSpec<UIntMaxTType>, [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtrPtr>, ArgSpec<IntType>]>, ] >; HeaderSpec Errno = HeaderSpec< "errno.h", [ Macro<"errno">, Macro<"EDOM">, Macro<"EILSEQ">, Macro<"ERANGE">, ] >; NamedType SigAtomicT = NamedType<"sig_atomic_t">; HeaderSpec Signal = HeaderSpec< "signal.h", [ Macro<"SIG_BLOCK">, Macro<"SIG_UNBLOCK">, Macro<"SIG_SETMASK">, Macro<"SIGABRT">, Macro<"SIGFPE">, Macro<"SIGILL">, Macro<"SIGINT">, Macro<"SIGSEGV">, Macro<"SIGTERM"> ], [ SizeTType, SigAtomicT, SigHandlerT, ], [], // Enumerations [ FunctionSpec<"raise", RetValSpec<IntType>, [ArgSpec<IntType>]>, FunctionSpec< "signal", RetValSpec<SigHandlerT>, [ArgSpec<IntType>, ArgSpec<SigHandlerT>] >, ] >; HeaderSpec Threads = HeaderSpec< "threads.h", [ Macro<"ONCE_FLAG_INIT">, ], [ OnceFlagType, CallOnceFuncType, CndTType, MtxTType, ThrdStartTType, ThrdTType, TssTType, TssDtorTType, ], [ EnumeratedNameValue<"mtx_plain">, EnumeratedNameValue<"mtx_recursive">, EnumeratedNameValue<"mtx_timed">, EnumeratedNameValue<"thrd_timedout">, EnumeratedNameValue<"thrd_success">, EnumeratedNameValue<"thrd_busy">, EnumeratedNameValue<"thrd_error">, EnumeratedNameValue<"thrd_nomem">, ], [ FunctionSpec< "call_once", RetValSpec<VoidType>, [ ArgSpec<OnceFlagTypePtr>, ArgSpec<CallOnceFuncType>, ] >, FunctionSpec< "cnd_broadcast", RetValSpec<IntType>, [ ArgSpec<CndTTypePtr>, ] >, FunctionSpec< "cnd_destroy", RetValSpec<VoidType>, [ ArgSpec<CndTTypePtr>, ] >, FunctionSpec< "cnd_init", RetValSpec<IntType>, [ ArgSpec<CndTTypePtr>, ] >, FunctionSpec< "cnd_signal", RetValSpec<IntType>, [ ArgSpec<CndTTypePtr>, ] >, FunctionSpec< "cnd_wait", RetValSpec<IntType>, [ ArgSpec<CndTTypePtr>, ArgSpec<MtxTTypePtr>, ] >, FunctionSpec< "mtx_init", RetValSpec<IntType>, [ ArgSpec<MtxTTypePtr>, ArgSpec<IntType>, ] >, FunctionSpec< "mtx_destroy", RetValSpec<IntType>, [ ArgSpec<VoidType>, ] >, FunctionSpec< "mtx_lock", RetValSpec<IntType>, [ ArgSpec<MtxTTypePtr>, ] >, FunctionSpec< "mtx_unlock", RetValSpec<IntType>, [ ArgSpec<MtxTTypePtr>, ] >, FunctionSpec< "thrd_create", RetValSpec<IntType>, [ ArgSpec<ThrdTTypePtr>, ArgSpec<ThrdStartTType>, ArgSpec<VoidPtr>, ] >, FunctionSpec< "thrd_join", RetValSpec<IntType>, [ ArgSpec<ThrdTType>, ArgSpec<IntPtr>, ] >, FunctionSpec< "thrd_detach", RetValSpec<IntType>, [ArgSpec<ThrdTType>] >, FunctionSpec< "thrd_current", RetValSpec<ThrdTType>, [ArgSpec<VoidType>] >, FunctionSpec< "thrd_equal", RetValSpec<IntType>, [ArgSpec<ThrdTType>, ArgSpec<ThrdTType>] >, FunctionSpec< "thrd_exit", RetValSpec<VoidType>, [ArgSpec<IntType>] >, FunctionSpec< "tss_create", RetValSpec<IntType>, [ArgSpec<TssTPtr>, ArgSpec<TssDtorTType>] >, FunctionSpec< "tss_delete", RetValSpec<IntType>, [ArgSpec<TssTType>] >, FunctionSpec< "tss_get", RetValSpec<VoidPtr>, [ArgSpec<TssTType>] >, FunctionSpec< "tss_set", RetValSpec<IntType>, [ArgSpec<TssTType>, ArgSpec<VoidPtr>] >, ] >; HeaderSpec Time = HeaderSpec< "time.h", [], // Macros [ // Types ClockT, StructTmType, TimeTType, ], [], // Enumerations [ FunctionSpec< "asctime", RetValSpec<CharPtr>, [ArgSpec<StructTmPtr>] >, FunctionSpec< "asctime_r", RetValSpec<CharPtr>, [ ArgSpec<StructTmPtr>, ArgSpec<CharPtr>, ] >, FunctionSpec< "clock", RetValSpec<ClockT>, [ArgSpec<VoidType>] >, FunctionSpec< "difftime", RetValSpec<DoubleType>, [ ArgSpec<TimeTType>, ArgSpec<TimeTType>, ] >, FunctionSpec< "gmtime", RetValSpec<StructTmPtr>, [ArgSpec<TimeTTypePtr>] >, FunctionSpec< "gmtime_r", RetValSpec<StructTmPtr>, [ ArgSpec<TimeTTypePtr>, ArgSpec<StructTmPtr>, ] >, FunctionSpec< "mktime", RetValSpec<TimeTType>, [ArgSpec<StructTmPtr>] >, FunctionSpec< "time", RetValSpec<TimeTType>, [ArgSpec<TimeTTypePtr>] >, ] >; HeaderSpec SetJmp = HeaderSpec< "setjmp.h", [], // Macros [JmpBuf], [], // Enumerations [ FunctionSpec< "longjmp", RetValSpec<NoReturn>, [ArgSpec<JmpBuf>, ArgSpec<IntType>] >, FunctionSpec< "setjmp", RetValSpec<IntType>, [ArgSpec<JmpBuf>] >, FunctionSpec< "longjmp", RetValSpec<VoidType>, [ArgSpec<JmpBuf>, ArgSpec<IntType>] >, ] >; let Headers = [ Assert, CType, Errno, Fenv, Math, String, StdIO, StdLib, IntTypes, SetJmp, Signal, Threads, Time, ]; }