diff options
| author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
|---|---|---|
| committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-30 20:35:25 +0000 |
| commit | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (patch) | |
| tree | cd08258054db80bb9a11b1061bb091c70b76926a /cmake.config | |
| parent | eaa89c11d0f8aefbb512de769c6c82f61a8baca3 (diff) | |
| parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
| download | rneovim-aucmd_textputpost.tar.gz rneovim-aucmd_textputpost.tar.bz2 rneovim-aucmd_textputpost.zip | |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpostaucmd_textputpost
Diffstat (limited to 'cmake.config')
| -rw-r--r-- | cmake.config/CMakeLists.txt | 100 | ||||
| -rw-r--r-- | cmake.config/config.h.in | 19 | ||||
| -rw-r--r-- | cmake.config/iwyu/c99.imp | 1031 | ||||
| -rw-r--r-- | cmake.config/iwyu/gcc.libc.imp | 226 | ||||
| -rw-r--r-- | cmake.config/iwyu/gcc.symbols.imp | 305 | ||||
| -rw-r--r-- | cmake.config/iwyu/mapping.imp | 254 | ||||
| -rw-r--r-- | cmake.config/iwyu/posix.imp | 33 | ||||
| -rw-r--r-- | cmake.config/pathdef.c.in | 6 | ||||
| -rw-r--r-- | cmake.config/versiondef.h.in | 4 | ||||
| -rw-r--r-- | cmake.config/versiondef_old.h.in | 21 |
10 files changed, 1148 insertions, 851 deletions
diff --git a/cmake.config/CMakeLists.txt b/cmake.config/CMakeLists.txt index 6de86cbaf2..ed405c602e 100644 --- a/cmake.config/CMakeLists.txt +++ b/cmake.config/CMakeLists.txt @@ -4,6 +4,7 @@ include(CheckFunctionExists) include(CheckIncludeFiles) include(CheckCSourceRuns) include(CheckCSourceCompiles) +include(TestBigEndian) check_c_source_compiles(" #include <execinfo.h> @@ -28,34 +29,26 @@ int main(void) check_type_size("int" SIZEOF_INT LANGUAGE C) check_type_size("long" SIZEOF_LONG LANGUAGE C) check_type_size("intmax_t" SIZEOF_INTMAX_T LANGUAGE C) -check_type_size("int32_t" SIZEOF_INT32_T LANGUAGE C) check_type_size("size_t" SIZEOF_SIZE_T LANGUAGE C) -check_type_size("long long" SIZEOF_LONG_LONG LANGUAGE C) check_type_size("void *" SIZEOF_VOID_PTR LANGUAGE C) check_symbol_exists(_NSGetEnviron crt_externs.h HAVE__NSGETENVIRON) # Headers check_include_files(langinfo.h HAVE_LANGINFO_H) -check_include_files(locale.h HAVE_LOCALE_H) -check_include_files(pwd.h HAVE_PWD_H) check_include_files(strings.h HAVE_STRINGS_H) check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H) check_include_files(termios.h HAVE_TERMIOS_H) check_include_files(sys/uio.h HAVE_SYS_UIO_H) check_include_files(sys/sdt.h HAVE_SYS_SDT_H) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + check_include_files(sys/xattr.h HAVE_XATTR) +endif() # Functions check_function_exists(fseeko HAVE_FSEEKO) -check_function_exists(getpwent HAVE_GETPWENT) -check_function_exists(getpwnam HAVE_GETPWNAM) -check_function_exists(getpwuid HAVE_GETPWUID) check_function_exists(readv HAVE_READV) -check_function_exists(opendir HAVE_OPENDIR) check_function_exists(readlink HAVE_READLINK) -check_function_exists(setpgid HAVE_SETPGID) -check_function_exists(setsid HAVE_SETSID) -check_function_exists(sigaction HAVE_SIGACTION) check_function_exists(strnlen HAVE_STRNLEN) check_function_exists(strcasecmp HAVE_STRCASECMP) check_function_exists(strncasecmp HAVE_STRNCASECMP) @@ -64,22 +57,28 @@ check_function_exists(strptime HAVE_STRPTIME) check_c_source_compiles(" #include <sys/types.h> #include <dirent.h> +#include <sys/file.h> int main(void) { DIR *dir = opendir(\"dirname\"); dirfd(dir); + flock(10, LOCK_SH); return 0; } -" HAVE_DIRFD) +" HAVE_DIRFD_AND_FLOCK) + check_c_source_compiles(" -#include <sys/file.h> +#include <pwd.h> int main(void) { - flock(10, LOCK_SH); + getpwent(); + getpwuid(0); + getpwnam(\"root\"); return 0; } -" HAVE_FLOCK) +" HAVE_PWD_FUNCS) + if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") check_c_source_compiles(" @@ -101,11 +100,13 @@ if(HAVE_LANGINFO_H) endif() check_include_files("endian.h" HAVE_ENDIAN_H) -check_include_files("sys/endian.h" HAVE_SYS_ENDIAN_H) set(ENDIAN_INCLUDE_FILE "endian.h") -if(HAVE_SYS_ENDIAN_H AND NOT HAVE_ENDIAN_H) - set(ENDIAN_INCLUDE_FILE "sys/endian.h") +if(NOT HAVE_ENDIAN_H) + check_include_files("sys/endian.h" HAVE_SYS_ENDIAN_H) + if (HAVE_SYS_ENDIAN_H) + set(ENDIAN_INCLUDE_FILE "sys/endian.h") + endif() endif() set(SI "#include <stdint.h>\n") @@ -130,63 +131,30 @@ endif() if("${HAVE_BE64TOH_MACROS}" OR "${HAVE_BE64TOH_FUNC}") set(HAVE_BE64TOH 1) endif() -if (NOT "${HAVE_BE64TOH}") - if (NOT "${CMAKE_CROSSCOMPILING}") - # It is safe to make ORDER_BIG_ENDIAN not defined if - # - HAVE_BE64TOH is true. In this case be64toh will be used unconditionally in - # any case and ORDER_BIG_ENDIAN will not be examined. - # - CMAKE_CROSSCOMPILING *and* HAVE_BE64TOH are both false. In this case - # be64toh function which uses cycle and arithmetic operations is used which - # will work regardless of endianness. Function is sub-optimal though. - check_c_source_runs(" - ${SI} - ${MS} - char *s = (char *) &i; - return ( - s[0] == 0x01 - && s[1] == 0x02 - && s[2] == 0x03 - && s[3] == 0x04 - && s[4] == 0x05 - && s[5] == 0x06 - && s[6] == 0x07 - && s[7] == 0x08) ? 0 : 1; - ${ME}" - ORDER_BIG_ENDIAN) - endif() -endif() -# generate configuration header and update include directories +test_big_endian(ORDER_BIG_ENDIAN) + configure_file ( "${PROJECT_SOURCE_DIR}/cmake.config/config.h.in" "${PROJECT_BINARY_DIR}/cmake.config/auto/config.h" ) -# generate version definitions -configure_file ( - "${PROJECT_SOURCE_DIR}/cmake.config/versiondef.h.in" - "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h" - ) - -# generate pathdef.c -find_program(WHOAMI_PROG whoami) -find_program(HOSTNAME_PROG hostname) - -if (DEFINED ENV{USERNAME}) - set(USERNAME $ENV{USERNAME}) -elseif (NOT DEFINED USERNAME AND EXISTS ${WHOAMI_PROG}) - execute_process(COMMAND ${WHOAMI_PROG} - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE USERNAME) +# Prevent double space in --version output if CMAKE_C_FLAGS is empty +set(C_FLAGS_VERSION_OUTPUT ${CMAKE_C_FLAGS}) +if(C_FLAGS_VERSION_OUTPUT) + string(PREPEND C_FLAGS_VERSION_OUTPUT " ") endif() -if (DEFINED ENV{HOSTNAME}) - set(HOSTNAME $ENV{HOSTNAME}) -elseif (EXISTS ${HOSTNAME_PROG}) - execute_process(COMMAND ${HOSTNAME_PROG} - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE HOSTNAME) + +if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.15) + configure_file(versiondef.h.in auto/versiondef.h.gen) +else() + configure_file(versiondef_old.h.in auto/versiondef.h.gen) endif() +file(GENERATE + OUTPUT "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef-$<CONFIG>.h" + INPUT "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef.h.gen") + configure_file ( "${PROJECT_SOURCE_DIR}/cmake.config/pathdef.c.in" "${PROJECT_BINARY_DIR}/cmake.config/auto/pathdef.c" diff --git a/cmake.config/config.h.in b/cmake.config/config.h.in index 4669e42c0f..fb12a7c558 100644 --- a/cmake.config/config.h.in +++ b/cmake.config/config.h.in @@ -3,9 +3,7 @@ #cmakedefine SIZEOF_INT @SIZEOF_INT@ #cmakedefine SIZEOF_INTMAX_T @SIZEOF_INTMAX_T@ -#cmakedefine SIZEOF_INT32_T @SIZEOF_INT32_T@ #cmakedefine SIZEOF_LONG @SIZEOF_LONG@ -#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@ #cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@ #if @SIZEOF_VOID_PTR@ == 8 @@ -19,23 +17,17 @@ #cmakedefine HAVE__NSGETENVIRON #cmakedefine HAVE_FD_CLOEXEC #cmakedefine HAVE_FSEEKO -#cmakedefine HAVE_GETPWENT -#cmakedefine HAVE_GETPWNAM -#cmakedefine HAVE_GETPWUID #cmakedefine HAVE_LANGINFO_H -#cmakedefine HAVE_LOCALE_H #cmakedefine HAVE_NL_LANGINFO_CODESET #cmakedefine HAVE_NL_MSG_CAT_CNTR -#cmakedefine HAVE_PWD_H +#cmakedefine HAVE_PWD_FUNCS #cmakedefine HAVE_READLINK -#cmakedefine HAVE_SETPGID -#cmakedefine HAVE_SETSID -#cmakedefine HAVE_SIGACTION #cmakedefine HAVE_STRNLEN #cmakedefine HAVE_STRCASECMP #cmakedefine HAVE_STRINGS_H #cmakedefine HAVE_STRNCASECMP #cmakedefine HAVE_STRPTIME +#cmakedefine HAVE_XATTR #cmakedefine HAVE_SYS_SDT_H #cmakedefine HAVE_SYS_UTSNAME_H #cmakedefine HAVE_SYS_WAIT_H @@ -51,14 +43,9 @@ # undef HAVE_SYS_UIO_H # endif #endif -#cmakedefine HAVE_DIRFD -#cmakedefine HAVE_FLOCK +#cmakedefine HAVE_DIRFD_AND_FLOCK #cmakedefine HAVE_FORKPTY -#ifndef UNIT_TESTING -#cmakedefine LOG_LIST_ACTIONS -#endif - #cmakedefine HAVE_BE64TOH #cmakedefine ORDER_BIG_ENDIAN #define ENDIAN_INCLUDE_FILE <@ENDIAN_INCLUDE_FILE@> diff --git a/cmake.config/iwyu/c99.imp b/cmake.config/iwyu/c99.imp new file mode 100644 index 0000000000..234fc71625 --- /dev/null +++ b/cmake.config/iwyu/c99.imp @@ -0,0 +1,1031 @@ +# Symbols defined in the C spec. +# 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 ] }, + { symbol: ["isblank", private, "<ctype.h>", public ] }, + { symbol: ["iscntrl", private, "<ctype.h>", public ] }, + { symbol: ["isdigit", private, "<ctype.h>", public ] }, + { symbol: ["isgraph", private, "<ctype.h>", public ] }, + { symbol: ["islower", private, "<ctype.h>", public ] }, + { symbol: ["isprint", private, "<ctype.h>", public ] }, + { symbol: ["ispunct", private, "<ctype.h>", public ] }, + { symbol: ["isspace", private, "<ctype.h>", public ] }, + { symbol: ["isupper", private, "<ctype.h>", public ] }, + { symbol: ["isxdigit", private, "<ctype.h>", public ] }, + { symbol: ["tolower", private, "<ctype.h>", public ] }, + { symbol: ["toupper", private, "<ctype.h>", public ] }, + + # B.4 Errors <errno.h> + { symbol: ["EDOM", private, "<errno.h>", public ] }, + { symbol: ["EILSEQ", private, "<errno.h>", public ] }, + { 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 ] }, + { symbol: ["LC_ALL", private, "<locale.h>", public ] }, + { symbol: ["LC_COLLATE", private, "<locale.h>", public ] }, + { symbol: ["LC_CTYPE", private, "<locale.h>", public ] }, + { symbol: ["LC_MONETARY", private, "<locale.h>", public ] }, + { symbol: ["LC_NUMERIC", private, "<locale.h>", public ] }, + { symbol: ["LC_TIME", private, "<locale.h>", public ] }, + { 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 ] }, |