aboutsummaryrefslogtreecommitdiff
path: root/cmake.config
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-11-29 21:52:58 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-11-29 21:52:58 +0000
commit931bffbda3668ddc609fc1da8f9eb576b170aa52 (patch)
treed8c1843a95da5ea0bb4acc09f7e37843d9995c86 /cmake.config
parent142d9041391780ac15b89886a54015fdc5c73995 (diff)
parent4a8bf24ac690004aedf5540fa440e788459e5e34 (diff)
downloadrneovim-userreg.tar.gz
rneovim-userreg.tar.bz2
rneovim-userreg.zip
Merge remote-tracking branch 'upstream/master' into userreguserreg
Diffstat (limited to 'cmake.config')
-rw-r--r--cmake.config/CMakeLists.txt100
-rw-r--r--cmake.config/config.h.in21
-rw-r--r--cmake.config/iwyu/c99.imp1031
-rw-r--r--cmake.config/iwyu/gcc.libc.imp226
-rw-r--r--cmake.config/iwyu/gcc.symbols.imp305
-rw-r--r--cmake.config/iwyu/mapping.imp254
-rw-r--r--cmake.config/iwyu/posix.imp33
-rw-r--r--cmake.config/pathdef.c.in6
-rw-r--r--cmake.config/versiondef.h.in4
-rw-r--r--cmake.config/versiondef_old.h.in21
10 files changed, 1148 insertions, 853 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 c8377bf45c..fb12a7c558 100644
--- a/cmake.config/config.h.in
+++ b/cmake.config/config.h.in
@@ -1,13 +1,9 @@
#ifndef AUTO_CONFIG_H
#define AUTO_CONFIG_H
-#cmakedefine DEBUG
-
#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
@@ -21,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
@@ -53,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 ] },
+ { symbol: ["scalbn", private, "<math.h>", public ] },
+ { symbol: ["scalbnf", private, "<math.h>", public ] },
+ { symbol: ["scalbnl", private, "<math.h>", public ] },
+ { symbol: ["scalbln", priv