build(IWYU): map everything in the C99 specification

This commit is contained in:
dundargoc 2023-11-25 17:52:03 +01:00 committed by dundargoc
parent 38e98754a5
commit 17d81ac2ab
2 changed files with 655 additions and 2 deletions

View File

@ -2,6 +2,83 @@
# These are taken from https://port70.net/~nsz/c/c99/n1256.html#B
[
# B.1 Diagnostics <assert.h>
{ symbol: ["NDEBUG", private, "<assert.h>", public ] },
{ symbol: ["void assert(scalar expression);", private, "<assert.h>", public ] },
# B.2 Complex <complex.h>
{ symbol: ["complex", private, "<complex.h>", public ] },
{ symbol: ["_Complex_I", private, "<complex.h>", public ] },
{ symbol: ["imaginary", private, "<complex.h>", public ] },
{ symbol: ["_Imaginary_I", private, "<complex.h>", public ] },
{ symbol: ["I", private, "<complex.h>", public ] },
{ symbol: ["cacos", private, "<complex.h>", public ] },
{ symbol: ["cacosf", private, "<complex.h>", public ] },
{ symbol: ["cacosl", private, "<complex.h>", public ] },
{ symbol: ["casin", private, "<complex.h>", public ] },
{ symbol: ["casinf", private, "<complex.h>", public ] },
{ symbol: ["casinl", private, "<complex.h>", public ] },
{ symbol: ["catan", private, "<complex.h>", public ] },
{ symbol: ["catanf", private, "<complex.h>", public ] },
{ symbol: ["catanl", private, "<complex.h>", public ] },
{ symbol: ["ccos", private, "<complex.h>", public ] },
{ symbol: ["ccosf", private, "<complex.h>", public ] },
{ symbol: ["ccosl", private, "<complex.h>", public ] },
{ symbol: ["csin", private, "<complex.h>", public ] },
{ symbol: ["csinf", private, "<complex.h>", public ] },
{ symbol: ["csinl", private, "<complex.h>", public ] },
{ symbol: ["ctan", private, "<complex.h>", public ] },
{ symbol: ["ctanf", private, "<complex.h>", public ] },
{ symbol: ["ctanl", private, "<complex.h>", public ] },
{ symbol: ["cacosh", private, "<complex.h>", public ] },
{ symbol: ["cacoshf", private, "<complex.h>", public ] },
{ symbol: ["cacoshl", private, "<complex.h>", public ] },
{ symbol: ["casinh", private, "<complex.h>", public ] },
{ symbol: ["casinhf", private, "<complex.h>", public ] },
{ symbol: ["casinhl", private, "<complex.h>", public ] },
{ symbol: ["catanh", private, "<complex.h>", public ] },
{ symbol: ["catanhf", private, "<complex.h>", public ] },
{ symbol: ["catanhl", private, "<complex.h>", public ] },
{ symbol: ["ccosh", private, "<complex.h>", public ] },
{ symbol: ["ccoshf", private, "<complex.h>", public ] },
{ symbol: ["ccoshl", private, "<complex.h>", public ] },
{ symbol: ["csinh", private, "<complex.h>", public ] },
{ symbol: ["csinhf", private, "<complex.h>", public ] },
{ symbol: ["csinhl", private, "<complex.h>", public ] },
{ symbol: ["ctanh", private, "<complex.h>", public ] },
{ symbol: ["ctanhf", private, "<complex.h>", public ] },
{ symbol: ["ctanhl", private, "<complex.h>", public ] },
{ symbol: ["cexp", private, "<complex.h>", public ] },
{ symbol: ["cexpf", private, "<complex.h>", public ] },
{ symbol: ["cexpl", private, "<complex.h>", public ] },
{ symbol: ["clog", private, "<complex.h>", public ] },
{ symbol: ["clogf", private, "<complex.h>", public ] },
{ symbol: ["clogl", private, "<complex.h>", public ] },
{ symbol: ["cabs", private, "<complex.h>", public ] },
{ symbol: ["cabsf", private, "<complex.h>", public ] },
{ symbol: ["cabsl", private, "<complex.h>", public ] },
{ symbol: ["cpow", private, "<complex.h>", public ] },
{ symbol: ["cpowf", private, "<complex.h>", public ] },
{ symbol: ["cpowl", private, "<complex.h>", public ] },
{ symbol: ["csqrt", private, "<complex.h>", public ] },
{ symbol: ["csqrtf", private, "<complex.h>", public ] },
{ symbol: ["csqrtl", private, "<complex.h>", public ] },
{ symbol: ["carg", private, "<complex.h>", public ] },
{ symbol: ["cargf", private, "<complex.h>", public ] },
{ symbol: ["cargl", private, "<complex.h>", public ] },
{ symbol: ["cimag", private, "<complex.h>", public ] },
{ symbol: ["cimagf", private, "<complex.h>", public ] },
{ symbol: ["cimagl", private, "<complex.h>", public ] },
{ symbol: ["conj", private, "<complex.h>", public ] },
{ symbol: ["conjf", private, "<complex.h>", public ] },
{ symbol: ["conjl", private, "<complex.h>", public ] },
{ symbol: ["cproj", private, "<complex.h>", public ] },
{ symbol: ["cprojf", private, "<complex.h>", public ] },
{ symbol: ["cprojl", private, "<complex.h>", public ] },
{ symbol: ["creal", private, "<complex.h>", public ] },
{ symbol: ["crealf", private, "<complex.h>", public ] },
{ symbol: ["creall", private, "<complex.h>", public ] },
#B.3 Character handling <ctype.h>
{ symbol: ["isalnum", private, "<ctype.h>", public ] },
{ symbol: ["isalpha", private, "<ctype.h>", public ] },
@ -14,7 +91,7 @@
{ symbol: ["ispunct", private, "<ctype.h>", public ] },
{ symbol: ["isspace", private, "<ctype.h>", public ] },
{ symbol: ["isupper", private, "<ctype.h>", public ] },
{ symbol: ["isxdigi", private, "<ctype.h>", public ] },
{ symbol: ["isxdigit", private, "<ctype.h>", public ] },
{ symbol: ["tolower", private, "<ctype.h>", public ] },
{ symbol: ["toupper", private, "<ctype.h>", public ] },
@ -24,6 +101,262 @@
{ symbol: ["ERANGE", private, "<errno.h>", public ] },
{ symbol: ["errno", private, "<errno.h>", public ] },
# B.5 Floating-point environment <fenv.h>
{ symbol: ["fenv_t", private, "<fenv.h>", public ] },
{ symbol: ["fexcept_t", private, "<fenv.h>", public ] },
{ symbol: ["FE_DIVBYZERO", private, "<fenv.h>", public ] },
{ symbol: ["FE_INEXACT", private, "<fenv.h>", public ] },
{ symbol: ["FE_INVALID", private, "<fenv.h>", public ] },
{ symbol: ["FE_OVERFLOW", private, "<fenv.h>", public ] },
{ symbol: ["FE_UNDERFLOW", private, "<fenv.h>", public ] },
{ symbol: ["FE_ALL_EXCEPT", private, "<fenv.h>", public ] },
{ symbol: ["FE_DOWNWARD", private, "<fenv.h>", public ] },
{ symbol: ["FE_TONEAREST", private, "<fenv.h>", public ] },
{ symbol: ["FE_TOWARDZERO", private, "<fenv.h>", public ] },
{ symbol: ["FE_UPWARD", private, "<fenv.h>", public ] },
{ symbol: ["FE_DFL_ENV", private, "<fenv.h>", public ] },
{ symbol: ["feclearexcept", private, "<fenv.h>", public ] },
{ symbol: ["fegetexceptflag", private, "<fenv.h>", public ] },
{ symbol: ["feraiseexcept", private, "<fenv.h>", public ] },
{ symbol: ["fesetexceptflag", private, "<fenv.h>", public ] },
{ symbol: ["fetestexcept", private, "<fenv.h>", public ] },
{ symbol: ["fegetround", private, "<fenv.h>", public ] },
{ symbol: ["fesetround", private, "<fenv.h>", public ] },
{ symbol: ["fegetenv", private, "<fenv.h>", public ] },
{ symbol: ["feholdexcept", private, "<fenv.h>", public ] },
{ symbol: ["fesetenv", private, "<fenv.h>", public ] },
{ symbol: ["feupdateenv", private, "<fenv.h>", public ] },
# B.6 Characteristics of floating types <float.h>
{ symbol: ["FLT_ROUNDS", private, "<float.h>", public ] },
{ symbol: ["FLT_EVAL_METHOD", private, "<float.h>", public ] },
{ symbol: ["FLT_RADIX", private, "<float.h>", public ] },
{ symbol: ["FLT_MANT_DIG", private, "<float.h>", public ] },
{ symbol: ["DBL_MANT_DIG", private, "<float.h>", public ] },
{ symbol: ["LDBL_MANT_DIG", private, "<float.h>", public ] },
{ symbol: ["DECIMAL_DIG", private, "<float.h>", public ] },
{ symbol: ["FLT_DIG", private, "<float.h>", public ] },
{ symbol: ["DBL_DIG", private, "<float.h>", public ] },
{ symbol: ["LDBL_DIG", private, "<float.h>", public ] },
{ symbol: ["FLT_MIN_EXP", private, "<float.h>", public ] },
{ symbol: ["DBL_MIN_EXP", private, "<float.h>", public ] },
{ symbol: ["LDBL_MIN_EXP", private, "<float.h>", public ] },
{ symbol: ["FLT_MIN_10_EXP", private, "<float.h>", public ] },
{ symbol: ["DBL_MIN_10_EXP", private, "<float.h>", public ] },
{ symbol: ["LDBL_MIN_10_EXP", private, "<float.h>", public ] },
{ symbol: ["FLT_MAX_EXP", private, "<float.h>", public ] },
{ symbol: ["DBL_MAX_EXP", private, "<float.h>", public ] },
{ symbol: ["LDBL_MAX_EXP", private, "<float.h>", public ] },
{ symbol: ["FLT_MAX_10_EXP", private, "<float.h>", public ] },
{ symbol: ["DBL_MAX_10_EXP", private, "<float.h>", public ] },
{ symbol: ["LDBL_MAX_10_EXP", private, "<float.h>", public ] },
{ symbol: ["FLT_MAX", private, "<float.h>", public ] },
{ symbol: ["DBL_MAX", private, "<float.h>", public ] },
{ symbol: ["LDBL_MAX", private, "<float.h>", public ] },
{ symbol: ["FLT_EPSILON", private, "<float.h>", public ] },
{ symbol: ["DBL_EPSILON", private, "<float.h>", public ] },
{ symbol: ["LDBL_EPSILON", private, "<float.h>", public ] },
{ symbol: ["FLT_MIN", private, "<float.h>", public ] },
{ symbol: ["DBL_MIN", private, "<float.h>", public ] },
{ symbol: ["LDBL_MIN", private, "<float.h>", public ] },
# B.7 Format conversion of integer types <inttypes.h>
{ symbol: ["PRId8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIi8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIo8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIu8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIx8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIX8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNd8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNi8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNo8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNu8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNx8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxLEAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxFAST8", private, "<inttypes.h>", public ] },
{ symbol: ["PRId16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIi16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIo16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIu16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIx16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIX16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNd16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNi16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNo16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNu16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNx16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxLEAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxFAST16", private, "<inttypes.h>", public ] },
{ symbol: ["PRId32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIi32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIo32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIu32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIx32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIX32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNd32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNi32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNo32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNu32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNx32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxLEAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxFAST32", private, "<inttypes.h>", public ] },
{ symbol: ["PRId64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIi64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIo64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIu64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIx64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIX64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNd64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNi64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNo64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNu64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNx64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxLEAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxFAST64", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXMAX", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdMAX", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiMAX", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoMAX", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuMAX", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxMAX", private, "<inttypes.h>", public ] },
{ symbol: ["PRIdPTR", private, "<inttypes.h>", public ] },
{ symbol: ["PRIiPTR", private, "<inttypes.h>", public ] },
{ symbol: ["PRIoPTR", private, "<inttypes.h>", public ] },
{ symbol: ["PRIuPTR", private, "<inttypes.h>", public ] },
{ symbol: ["PRIxPTR", private, "<inttypes.h>", public ] },
{ symbol: ["PRIXPTR", private, "<inttypes.h>", public ] },
{ symbol: ["SCNdPTR", private, "<inttypes.h>", public ] },
{ symbol: ["SCNiPTR", private, "<inttypes.h>", public ] },
{ symbol: ["SCNoPTR", private, "<inttypes.h>", public ] },
{ symbol: ["SCNuPTR", private, "<inttypes.h>", public ] },
{ symbol: ["SCNxPTR", private, "<inttypes.h>", public ] },
{ symbol: ["imaxdiv_t", private, "<inttypes.h>", public ] },
{ symbol: ["imaxabs", private, "<inttypes.h>", public ] },
{ symbol: ["imaxdiv", private, "<inttypes.h>", public ] },
{ symbol: ["strtoimax", private, "<inttypes.h>", public ] },
{ symbol: ["strtoumax", private, "<inttypes.h>", public ] },
{ symbol: ["wcstoimax", private, "<inttypes.h>", public ] },
{ symbol: ["wcstoumax", private, "<inttypes.h>", public ] },
# B.8 Alternative spellings <iso646.h>
{ symbol: ["and", private, "<iso646.h>", public ] },
{ symbol: ["and_eq", private, "<iso646.h>", public ] },
{ symbol: ["bitand", private, "<iso646.h>", public ] },
{ symbol: ["bitor", private, "<iso646.h>", public ] },
{ symbol: ["compl", private, "<iso646.h>", public ] },
{ symbol: ["not", private, "<iso646.h>", public ] },
{ symbol: ["not_eq", private, "<iso646.h>", public ] },
{ symbol: ["or", private, "<iso646.h>", public ] },
{ symbol: ["or_eq", private, "<iso646.h>", public ] },
{ symbol: ["xor", private, "<iso646.h>", public ] },
{ symbol: ["xor_eq", private, "<iso646.h>", public ] },
# B.9 Sizes of integer types <limits.h>
{ symbol: ["CHAR_BIT", private, "<limits.h>", public ] },
{ symbol: ["SCHAR_MIN", private, "<limits.h>", public ] },
{ symbol: ["SCHAR_MAX", private, "<limits.h>", public ] },
{ symbol: ["UCHAR_MAX", private, "<limits.h>", public ] },
{ symbol: ["CHAR_MIN", private, "<limits.h>", public ] },
{ symbol: ["CHAR_MAX", private, "<limits.h>", public ] },
{ symbol: ["MB_LEN_MAX", private, "<limits.h>", public ] },
{ symbol: ["SHRT_MIN", private, "<limits.h>", public ] },
{ symbol: ["SHRT_MAX", private, "<limits.h>", public ] },
{ symbol: ["USHRT_MAX", private, "<limits.h>", public ] },
{ symbol: ["INT_MIN", private, "<limits.h>", public ] },
{ symbol: ["INT_MAX", private, "<limits.h>", public ] },
{ symbol: ["UINT_MAX", private, "<limits.h>", public ] },
{ symbol: ["LONG_MIN", private, "<limits.h>", public ] },
{ symbol: ["LONG_MAX", private, "<limits.h>", public ] },
{ symbol: ["ULONG_MAX", private, "<limits.h>", public ] },
{ symbol: ["LLONG_MIN", private, "<limits.h>", public ] },
{ symbol: ["LLONG_MAX", private, "<limits.h>", public ] },
{ symbol: ["ULLONG_MAX", private, "<limits.h>", public ] },
# B.10 Localization <locale.h>
{ symbol: ["lconv", private, "<locale.h>", public ] },
{ symbol: ["NULL", private, "<locale.h>", public ] },
@ -36,6 +369,230 @@
{ symbol: ["setlocale", private, "<locale.h>", public ] },
{ symbol: ["localeconv", private, "<locale.h>", public ] },
# B.11 Mathematics <math.h>
{ symbol: ["float_t", private, "<math.h>", public ] },
{ symbol: ["double_t", private, "<math.h>", public ] },
{ symbol: ["HUGE_VAL", private, "<math.h>", public ] },
{ symbol: ["HUGE_VALF", private, "<math.h>", public ] },
{ symbol: ["HUGE_VALL", private, "<math.h>", public ] },
{ symbol: ["INFINITY", private, "<math.h>", public ] },
{ symbol: ["NAN", private, "<math.h>", public ] },
{ symbol: ["FP_INFINITE", private, "<math.h>", public ] },
{ symbol: ["FP_NAN", private, "<math.h>", public ] },
{ symbol: ["FP_NORMAL", private, "<math.h>", public ] },
{ symbol: ["FP_SUBNORMAL", private, "<math.h>", public ] },
{ symbol: ["FP_ZERO", private, "<math.h>", public ] },
{ symbol: ["FP_FAST_FMA", private, "<math.h>", public ] },
{ symbol: ["FP_FAST_FMAF", private, "<math.h>", public ] },
{ symbol: ["FP_FAST_FMAL", private, "<math.h>", public ] },
{ symbol: ["FP_ILOGB0", private, "<math.h>", public ] },
{ symbol: ["FP_ILOGBNAN", private, "<math.h>", public ] },
{ symbol: ["MATH_ERRNO", private, "<math.h>", public ] },
{ symbol: ["MATH_ERREXCEPT", private, "<math.h>", public ] },
{ symbol: ["math_errhandling", private, "<math.h>", public ] },
{ symbol: ["fpclassify", private, "<math.h>", public ] },
{ symbol: ["isfinite", private, "<math.h>", public ] },
{ symbol: ["isinf", private, "<math.h>", public ] },
{ symbol: ["isnan", private, "<math.h>", public ] },
{ symbol: ["isnormal", private, "<math.h>", public ] },
{ symbol: ["signbit", private, "<math.h>", public ] },
{ symbol: ["acos", private, "<math.h>", public ] },
{ symbol: ["acosf", private, "<math.h>", public ] },
{ symbol: ["acosl", private, "<math.h>", public ] },
{ symbol: ["asin", private, "<math.h>", public ] },
{ symbol: ["asinf", private, "<math.h>", public ] },
{ symbol: ["asinl", private, "<math.h>", public ] },
{ symbol: ["atan", private, "<math.h>", public ] },
{ symbol: ["atanf", private, "<math.h>", public ] },
{ symbol: ["atanl", private, "<math.h>", public ] },
{ symbol: ["atan2", private, "<math.h>", public ] },
{ symbol: ["atan2f", private, "<math.h>", public ] },
{ symbol: ["atan2l", private, "<math.h>", public ] },
{ symbol: ["cos", private, "<math.h>", public ] },
{ symbol: ["cosf", private, "<math.h>", public ] },
{ symbol: ["cosl", private, "<math.h>", public ] },
{ symbol: ["sin", private, "<math.h>", public ] },
{ symbol: ["sinf", private, "<math.h>", public ] },
{ symbol: ["sinl", private, "<math.h>", public ] },
{ symbol: ["tan", private, "<math.h>", public ] },
{ symbol: ["tanf", private, "<math.h>", public ] },
{ symbol: ["tanl", private, "<math.h>", public ] },
{ symbol: ["acosh", private, "<math.h>", public ] },
{ symbol: ["acoshf", private, "<math.h>", public ] },
{ symbol: ["acoshl", private, "<math.h>", public ] },
{ symbol: ["asinh", private, "<math.h>", public ] },
{ symbol: ["asinhf", private, "<math.h>", public ] },
{ symbol: ["asinhl", private, "<math.h>", public ] },
{ symbol: ["atanh", private, "<math.h>", public ] },
{ symbol: ["atanhf", private, "<math.h>", public ] },
{ symbol: ["atanhl", private, "<math.h>", public ] },
{ symbol: ["cosh", private, "<math.h>", public ] },
{ symbol: ["coshf", private, "<math.h>", public ] },
{ symbol: ["coshl", private, "<math.h>", public ] },
{ symbol: ["sinh", private, "<math.h>", public ] },
{ symbol: ["sinhf", private, "<math.h>", public ] },
{ symbol: ["sinhl", private, "<math.h>", public ] },
{ symbol: ["tanh", private, "<math.h>", public ] },
{ symbol: ["tanhf", private, "<math.h>", public ] },
{ symbol: ["tanhl", private, "<math.h>", public ] },
{ symbol: ["exp", private, "<math.h>", public ] },
{ symbol: ["expf", private, "<math.h>", public ] },
{ symbol: ["expl", private, "<math.h>", public ] },
{ symbol: ["exp2", private, "<math.h>", public ] },
{ symbol: ["exp2f", private, "<math.h>", public ] },
{ symbol: ["exp2l", private, "<math.h>", public ] },
{ symbol: ["expm1", private, "<math.h>", public ] },
{ symbol: ["expm1f", private, "<math.h>", public ] },
{ symbol: ["expm1l", private, "<math.h>", public ] },
{ symbol: ["frexp", private, "<math.h>", public ] },
{ symbol: ["frexpf", private, "<math.h>", public ] },
{ symbol: ["frexpl", private, "<math.h>", public ] },
{ symbol: ["ilogb", private, "<math.h>", public ] },
{ symbol: ["ilogbf", private, "<math.h>", public ] },
{ symbol: ["ilogbl", private, "<math.h>", public ] },
{ symbol: ["ldexp", private, "<math.h>", public ] },
{ symbol: ["ldexpf", private, "<math.h>", public ] },
{ symbol: ["ldexpl", private, "<math.h>", public ] },
{ symbol: ["log", private, "<math.h>", public ] },
{ symbol: ["logf", private, "<math.h>", public ] },
{ symbol: ["logl", private, "<math.h>", public ] },
{ symbol: ["log10", private, "<math.h>", public ] },
{ symbol: ["log10f", private, "<math.h>", public ] },
{ symbol: ["log10l", private, "<math.h>", public ] },
{ symbol: ["log1p", private, "<math.h>", public ] },
{ symbol: ["log1pf", private, "<math.h>", public ] },
{ symbol: ["log1pl", private, "<math.h>", public ] },
{ symbol: ["log2", private, "<math.h>", public ] },
{ symbol: ["log2f", private, "<math.h>", public ] },
{ symbol: ["log2l", private, "<math.h>", public ] },
{ symbol: ["logb", private, "<math.h>", public ] },
{ symbol: ["logbf", private, "<math.h>", public ] },
{ symbol: ["logbl", private, "<math.h>", public ] },
{ symbol: ["modf", private, "<math.h>", public ] },
{ symbol: ["modff", private, "<math.h>", public ] },
{ symbol: ["modfl", private, "<math.h>", public ] },
{ symbol: ["scalbn", private, "<math.h>", public ] },
{ symbol: ["scalbnf", private, "<math.h>", public ] },
{ symbol: ["scalbnl", private, "<math.h>", public ] },
{ symbol: ["scalbln", private, "<math.h>", public ] },
{ symbol: ["scalblnf", private, "<math.h>", public ] },
{ symbol: ["scalblnl", private, "<math.h>", public ] },
{ symbol: ["cbrt", private, "<math.h>", public ] },
{ symbol: ["cbrtf", private, "<math.h>", public ] },
{ symbol: ["cbrtl", private, "<math.h>", public ] },
{ symbol: ["fabs", private, "<math.h>", public ] },
{ symbol: ["fabsf", private, "<math.h>", public ] },
{ symbol: ["fabsl", private, "<math.h>", public ] },
{ symbol: ["hypot", private, "<math.h>", public ] },
{ symbol: ["hypotf", private, "<math.h>", public ] },
{ symbol: ["hypotl", private, "<math.h>", public ] },
{ symbol: ["pow", private, "<math.h>", public ] },
{ symbol: ["powf", private, "<math.h>", public ] },
{ symbol: ["powl", private, "<math.h>", public ] },
{ symbol: ["sqrt", private, "<math.h>", public ] },
{ symbol: ["sqrtf", private, "<math.h>", public ] },
{ symbol: ["sqrtl", private, "<math.h>", public ] },
{ symbol: ["erf", private, "<math.h>", public ] },
{ symbol: ["erff", private, "<math.h>", public ] },
{ symbol: ["erfl", private, "<math.h>", public ] },
{ symbol: ["erfc", private, "<math.h>", public ] },
{ symbol: ["erfcf", private, "<math.h>", public ] },
{ symbol: ["erfcl", private, "<math.h>", public ] },
{ symbol: ["lgamma", private, "<math.h>", public ] },
{ symbol: ["lgammaf", private, "<math.h>", public ] },
{ symbol: ["lgammal", private, "<math.h>", public ] },
{ symbol: ["tgamma", private, "<math.h>", public ] },
{ symbol: ["tgammaf", private, "<math.h>", public ] },
{ symbol: ["tgammal", private, "<math.h>", public ] },
{ symbol: ["ceil", private, "<math.h>", public ] },
{ symbol: ["ceilf", private, "<math.h>", public ] },
{ symbol: ["ceill", private, "<math.h>", public ] },
{ symbol: ["floor", private, "<math.h>", public ] },
{ symbol: ["floorf", private, "<math.h>", public ] },
{ symbol: ["floorl", private, "<math.h>", public ] },
{ symbol: ["nearbyint", private, "<math.h>", public ] },
{ symbol: ["nearbyintf", private, "<math.h>", public ] },
{ symbol: ["nearbyintl", private, "<math.h>", public ] },
{ symbol: ["rint", private, "<math.h>", public ] },
{ symbol: ["rintf", private, "<math.h>", public ] },
{ symbol: ["rintl", private, "<math.h>", public ] },
{ symbol: ["lrint", private, "<math.h>", public ] },
{ symbol: ["lrintf", private, "<math.h>", public ] },
{ symbol: ["lrintl", private, "<math.h>", public ] },
{ symbol: ["llrint", private, "<math.h>", public ] },
{ symbol: ["llrintf", private, "<math.h>", public ] },
{ symbol: ["llrintl", private, "<math.h>", public ] },
{ symbol: ["round", private, "<math.h>", public ] },
{ symbol: ["roundf", private, "<math.h>", public ] },
{ symbol: ["roundl", private, "<math.h>", public ] },
{ symbol: ["lround", private, "<math.h>", public ] },
{ symbol: ["lroundf", private, "<math.h>", public ] },
{ symbol: ["lroundl", private, "<math.h>", public ] },
{ symbol: ["llround", private, "<math.h>", public ] },
{ symbol: ["llroundf", private, "<math.h>", public ] },
{ symbol: ["llroundl", private, "<math.h>", public ] },
{ symbol: ["trunc", private, "<math.h>", public ] },
{ symbol: ["truncf", private, "<math.h>", public ] },
{ symbol: ["truncl", private, "<math.h>", public ] },
{ symbol: ["fmod", private, "<math.h>", public ] },
{ symbol: ["fmodf", private, "<math.h>", public ] },
{ symbol: ["fmodl", private, "<math.h>", public ] },
{ symbol: ["remainder", private, "<math.h>", public ] },
{ symbol: ["remainderf", private, "<math.h>", public ] },
{ symbol: ["remainderl", private, "<math.h>", public ] },
{ symbol: ["remquo", private, "<math.h>", public ] },
{ symbol: ["remquof", private, "<math.h>", public ] },
{ symbol: ["remquol", private, "<math.h>", public ] },
{ symbol: ["copysign", private, "<math.h>", public ] },
{ symbol: ["copysignf", private, "<math.h>", public ] },
{ symbol: ["copysignl", private, "<math.h>", public ] },
{ symbol: ["nan", private, "<math.h>", public ] },
{ symbol: ["nanf", private, "<math.h>", public ] },
{ symbol: ["nanl", private, "<math.h>", public ] },
{ symbol: ["nextafter", private, "<math.h>", public ] },
{ symbol: ["nextafterf", private, "<math.h>", public ] },
{ symbol: ["nextafterl", private, "<math.h>", public ] },
{ symbol: ["nexttoward", private, "<math.h>", public ] },
{ symbol: ["nexttowardf", private, "<math.h>", public ] },
{ symbol: ["nexttowardl", private, "<math.h>", public ] },
{ symbol: ["fdim", private, "<math.h>", public ] },
{ symbol: ["fdimf", private, "<math.h>", public ] },
{ symbol: ["fdiml", private, "<math.h>", public ] },
{ symbol: ["fmax", private, "<math.h>", public ] },
{ symbol: ["fmaxf", private, "<math.h>", public ] },
{ symbol: ["fmaxl", private, "<math.h>", public ] },
{ symbol: ["fmin", private, "<math.h>", public ] },
{ symbol: ["fminf", private, "<math.h>", public ] },
{ symbol: ["fminl", private, "<math.h>", public ] },
{ symbol: ["fma", private, "<math.h>", public ] },
{ symbol: ["fmaf", private, "<math.h>", public ] },
{ symbol: ["fmal", private, "<math.h>", public ] },
{ symbol: ["isgreater", private, "<math.h>", public ] },
{ symbol: ["isgreaterequal", private, "<math.h>", public ] },
{ symbol: ["isless", private, "<math.h>", public ] },
{ symbol: ["islessequal", private, "<math.h>", public ] },
{ symbol: ["islessgreater", private, "<math.h>", public ] },
{ symbol: ["isunordered", private, "<math.h>", public ] },
# B.12 Nonlocal jumps <setjmp.h>
{ symbol: ["jmp_buf", private, "<setjmp.h>", public ] },
{ symbol: ["setjmp", private, "<setjmp.h>", public ] },
{ symbol: ["longjmp", private, "<setjmp.h>", public ] },
# B.13 Signal handling <signal.h>
{ symbol: ["sig_atomic_t", private, "<signal.h>", public ] },
{ symbol: ["SIG_DFL", private, "<signal.h>", public ] },
{ symbol: ["SIG_ERR", private, "<signal.h>", public ] },
{ symbol: ["SIG_IGN", private, "<signal.h>", public ] },
{ symbol: ["SIGABRT", private, "<signal.h>", public ] },
{ symbol: ["SIGFPE", private, "<signal.h>", public ] },
{ symbol: ["SIGILL", private, "<signal.h>", public ] },
{ symbol: ["SIGINT", private, "<signal.h>", public ] },
{ symbol: ["SIGSEGV", private, "<signal.h>", public ] },
{ symbol: ["SIGTERM", private, "<signal.h>", public ] },
{ symbol: ["signal", private, "<signal.h>", public ] },
{ symbol: ["raise", private, "<signal.h>", public ] },
# B.14 Variable arguments <stdarg.h>
{ symbol: ["va_list", private, "<stdarg.h>", public ] },
{ symbol: ["va_arg", private, "<stdarg.h>", public ] },
@ -43,6 +600,12 @@
{ symbol: ["va_end", private, "<stdarg.h>", public ] },
{ symbol: ["va_start", private, "<stdarg.h>", public ] },
# B.15 Boolean type and values <stdbool.h>
{ symbol: ["bool", private, "<stdbool.h>", public ] },
{ symbol: ["true", private, "<stdbool.h>", public ] },
{ symbol: ["false", private, "<stdbool.h>", public ] },
{ symbol: ["__bool_true_false_are_defined", private, "<stdbool.h>", public ] },
# B.16 Common definitions <stddef.h>
{ symbol: ["ptrdiff_t", private, "<stddef.h>", public ] },
{ symbol: ["size_t", private, "<stddef.h>", public ] },
@ -282,6 +845,68 @@
{ symbol: ["strerror", private, "<string.h>", public ] },
{ symbol: ["strlen", private, "<string.h>", public ] },
# B.21 Type-generic math <tgmath.h>
{ symbol: ["acos", private, "<tgmath.h>", public ] },
{ symbol: ["asin", private, "<tgmath.h>", public ] },
{ symbol: ["atan", private, "<tgmath.h>", public ] },
{ symbol: ["acosh", private, "<tgmath.h>", public ] },
{ symbol: ["asinh", private, "<tgmath.h>", public ] },
{ symbol: ["atanh", private, "<tgmath.h>", public ] },
{ symbol: ["cos", private, "<tgmath.h>", public ] },
{ symbol: ["sin", private, "<tgmath.h>", public ] },
{ symbol: ["tan", private, "<tgmath.h>", public ] },
{ symbol: ["cosh", private, "<tgmath.h>", public ] },
{ symbol: ["sinh", private, "<tgmath.h>", public ] },
{ symbol: ["tanh", private, "<tgmath.h>", public ] },
{ symbol: ["exp", private, "<tgmath.h>", public ] },
{ symbol: ["log", private, "<tgmath.h>", public ] },
{ symbol: ["pow", private, "<tgmath.h>", public ] },
{ symbol: ["sqrt", private, "<tgmath.h>", public ] },
{ symbol: ["fabs", private, "<tgmath.h>", public ] },
{ symbol: ["atan2", private, "<tgmath.h>", public ] },
{ symbol: ["cbrt", private, "<tgmath.h>", public ] },
{ symbol: ["ceil", private, "<tgmath.h>", public ] },
{ symbol: ["copysign", private, "<tgmath.h>", public ] },
{ symbol: ["erf", private, "<tgmath.h>", public ] },
{ symbol: ["erfc", private, "<tgmath.h>", public ] },
{ symbol: ["exp2", private, "<tgmath.h>", public ] },
{ symbol: ["expm1", private, "<tgmath.h>", public ] },
{ symbol: ["fdim", private, "<tgmath.h>", public ] },
{ symbol: ["floor", private, "<tgmath.h>", public ] },
{ symbol: ["fma", private, "<tgmath.h>", public ] },
{ symbol: ["fmax", private, "<tgmath.h>", public ] },
{ symbol: ["fmin", private, "<tgmath.h>", public ] },
{ symbol: ["fmod", private, "<tgmath.h>", public ] },
{ symbol: ["frexp", private, "<tgmath.h>", public ] },
{ symbol: ["hypot", private, "<tgmath.h>", public ] },
{ symbol: ["ilogb", private, "<tgmath.h>", public ] },
{ symbol: ["ldexp", private, "<tgmath.h>", public ] },
{ symbol: ["lgamma", private, "<tgmath.h>", public ] },
{ symbol: ["llrint", private, "<tgmath.h>", public ] },
{ symbol: ["llround", private, "<tgmath.h>", public ] },
{ symbol: ["log10", private, "<tgmath.h>", public ] },
{ symbol: ["log1p", private, "<tgmath.h>", public ] },
{ symbol: ["log2", private, "<tgmath.h>", public ] },
{ symbol: ["logb", private, "<tgmath.h>", public ] },
{ symbol: ["lrint", private, "<tgmath.h>", public ] },
{ symbol: ["lround", private, "<tgmath.h>", public ] },
{ symbol: ["nearbyint", private, "<tgmath.h>", public ] },
{ symbol: ["nextafter", private, "<tgmath.h>", public ] },
{ symbol: ["nexttoward", private, "<tgmath.h>", public ] },
{ symbol: ["remainder", private, "<tgmath.h>", public ] },
{ symbol: ["remquo", private, "<tgmath.h>", public ] },
{ symbol: ["rint", private, "<tgmath.h>", public ] },
{ symbol: ["round", private, "<tgmath.h>", public ] },
{ symbol: ["scalbn", private, "<tgmath.h>", public ] },
{ symbol: ["scalbln", private, "<tgmath.h>", public ] },
{ symbol: ["tgamma", private, "<tgmath.h>", public ] },
{ symbol: ["trunc", private, "<tgmath.h>", public ] },
{ symbol: ["carg", private, "<tgmath.h>", public ] },
{ symbol: ["cimag", private, "<tgmath.h>", public ] },
{ symbol: ["conj", private, "<tgmath.h>", public ] },
{ symbol: ["cproj", private, "<tgmath.h>", public ] },
{ symbol: ["creal", private, "<tgmath.h>", public ] },
# B.22 Date and time <time.h>
{ symbol: ["NULL", private, "<time.h>", public ] },
{ symbol: ["CLOCKS_PER_SEC", private, "<time.h>", public ] },
@ -369,9 +994,38 @@
{ symbol: ["mbsrtowcs", private, "<wchar.h>", public ] },
{ symbol: ["wcsrtombs", private, "<wchar.h>", public ] },
# B.24 Wide character classification and mapping utilities <wctype.h>
{ symbol: ["wint_t", private, "<wctype.h>", public ] },
{ symbol: ["wctrans_t", private, "<wctype.h>", public ] },
{ symbol: ["wctype_t", private, "<wctype.h>", public ] },
{ symbol: ["WEOF", private, "<wctype.h>", public ] },
{ symbol: ["iswalnum", private, "<wctype.h>", public ] },
{ symbol: ["iswalpha", private, "<wctype.h>", public ] },
{ symbol: ["iswblank", private, "<wctype.h>", public ] },
{ symbol: ["iswcntrl", private, "<wctype.h>", public ] },
{ symbol: ["iswdigit", private, "<wctype.h>", public ] },
{ symbol: ["iswgraph", private, "<wctype.h>", public ] },
{ symbol: ["iswlower", private, "<wctype.h>", public ] },
{ symbol: ["iswprint", private, "<wctype.h>", public ] },
{ symbol: ["iswpunct", private, "<wctype.h>", public ] },
{ symbol: ["iswspace", private, "<wctype.h>", public ] },
{ symbol: ["iswupper", private, "<wctype.h>", public ] },
{ symbol: ["iswxdigit", private, "<wctype.h>", public ] },
{ symbol: ["iswctype", private, "<wctype.h>", public ] },
{ symbol: ["wctype", private, "<wctype.h>", public ] },
{ symbol: ["towlower", private, "<wctype.h>", public ] },
{ symbol: ["towupper", private, "<wctype.h>", public ] },
{ symbol: ["towctrans", private, "<wctype.h>", public ] },
{ symbol: ["wctrans", private, "<wctype.h>", public ] },
# inttypes.h includes stdint.h
# https://port70.net/~nsz/c/c99/n1256.html#7.8p1
{ include: [ "<stdint.h>", public, "<inttypes.h>", public ] },
# tgmath.h includes math.h and complex.h
# https://port70.net/~nsz/c/c99/n1256.html#7.22p1
{ include: [ "<math.h>", public, "<tgmath.h>", public ] },
{ include: [ "<complex.h>", public, "<tgmath.h>", public ] },
]
# vim: set ft=toml:

View File

@ -32,7 +32,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <wctype.h>
#include "auto/config.h"