summaryrefslogtreecommitdiff
path: root/config.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'config.h.in')
-rw-r--r--config.h.in430
1 files changed, 186 insertions, 244 deletions
diff --git a/config.h.in b/config.h.in
index 43513c8d..95253425 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,5 +1,11 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wtrailing-whitespace"
+#endif
+
+
/* Witness that <config.h> has been included. */
#define _GL_CONFIG_H_INCLUDED 1
@@ -48,22 +54,9 @@
/* Define as the word index where to find the sign of 'double'. */
#undef DBL_SIGNBIT_WORD
-/* the name of the file descriptor member of DIR */
-#undef DIR_FD_MEMBER_NAME
-
-#ifdef DIR_FD_MEMBER_NAME
-# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
-#else
-# define DIR_TO_FD(Dir_p) -1
-#endif
-
-
/* Define to 1 if // is a file system root distinct from /. */
#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
-/* Define if struct dirent has a member d_ino that actually works. */
-#undef D_INO_IN_DIRENT
-
/* Define to 1 if the package shall run at any location in the file system. */
#undef ENABLE_RELOCATABLE
@@ -111,14 +104,6 @@
#undef GNULIB_CONNECT
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module fdopendir shall be considered present. */
-#undef GNULIB_FDOPENDIR
-
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module fd-safer-flag shall be considered present. */
-#undef GNULIB_FD_SAFER_FLAG
-
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
whether the gnulib module fscanf shall be considered present. */
#undef GNULIB_FSCANF
@@ -127,14 +112,6 @@
#undef GNULIB_FSTAT
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module fstatat shall be considered present. */
-#undef GNULIB_FSTATAT
-
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module getcwd shall be considered present. */
-#undef GNULIB_GETCWD
-
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
whether the gnulib module ioctl shall be considered present. */
#undef GNULIB_IOCTL
@@ -147,6 +124,14 @@
#undef GNULIB_LISTEN
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module localeconv shall be considered present. */
+#undef GNULIB_LOCALECONV
+
+/* Define to the directory where to find the localizations of the translation
+ domain 'gnulib', as a C string. */
+#undef GNULIB_LOCALEDIR
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
whether the gnulib module lock shall be considered present. */
#undef GNULIB_LOCK
@@ -158,10 +143,6 @@
whether the gnulib module msvc-nothrow shall be considered present. */
#undef GNULIB_MSVC_NOTHROW
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module openat shall be considered present. */
-#undef GNULIB_OPENAT
-
/* Define to 1 if printf and friends should be labeled with attribute
"__gnu_printf__" instead of "__printf__" */
#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
@@ -264,45 +245,27 @@
/* Define to 1 when the gnulib module calloc-posix should be tested. */
#undef GNULIB_TEST_CALLOC_POSIX
-/* Define to 1 when the gnulib module chdir should be tested. */
-#undef GNULIB_TEST_CHDIR
-
/* Define to 1 when the gnulib module cloexec should be tested. */
#undef GNULIB_TEST_CLOEXEC
/* Define to 1 when the gnulib module close should be tested. */
#undef GNULIB_TEST_CLOSE
-/* Define to 1 when the gnulib module closedir should be tested. */
-#undef GNULIB_TEST_CLOSEDIR
-
/* Define to 1 when the gnulib module connect should be tested. */
#undef GNULIB_TEST_CONNECT
-/* Define to 1 when the gnulib module dirfd should be tested. */
-#undef GNULIB_TEST_DIRFD
-
-/* Define to 1 when the gnulib module dup should be tested. */
-#undef GNULIB_TEST_DUP
-
/* Define to 1 when the gnulib module dup2 should be tested. */
#undef GNULIB_TEST_DUP2
/* Define to 1 when the gnulib module environ should be tested. */
#undef GNULIB_TEST_ENVIRON
-/* Define to 1 when the gnulib module fchdir should be tested. */
-#undef GNULIB_TEST_FCHDIR
-
/* Define to 1 when the gnulib module fcntl should be tested. */
#undef GNULIB_TEST_FCNTL
/* Define to 1 when the gnulib module fdopen should be tested. */
#undef GNULIB_TEST_FDOPEN
-/* Define to 1 when the gnulib module fdopendir should be tested. */
-#undef GNULIB_TEST_FDOPENDIR
-
/* Define to 1 when the gnulib module fgetc should be tested. */
#undef GNULIB_TEST_FGETC
@@ -336,9 +299,6 @@
/* Define to 1 when the gnulib module fstat should be tested. */
#undef GNULIB_TEST_FSTAT
-/* Define to 1 when the gnulib module fstatat should be tested. */
-#undef GNULIB_TEST_FSTATAT
-
/* Define to 1 when the gnulib module ftruncate should be tested. */
#undef GNULIB_TEST_FTRUNCATE
@@ -357,6 +317,10 @@
/* Define to 1 when the gnulib module getdtablesize should be tested. */
#undef GNULIB_TEST_GETDTABLESIZE
+/* Define to 1 when the gnulib module getlocalename_l-unsafe should be tested.
+ */
+#undef GNULIB_TEST_GETLOCALENAME_L_UNSAFE
+
/* Define to 1 when the gnulib module getprogname should be tested. */
#undef GNULIB_TEST_GETPROGNAME
@@ -381,6 +345,12 @@
/* Define to 1 when the gnulib module listen should be tested. */
#undef GNULIB_TEST_LISTEN
+/* Define to 1 when the gnulib module localeconv should be tested. */
+#undef GNULIB_TEST_LOCALECONV
+
+/* Define to 1 when the gnulib module localename-environ should be tested. */
+#undef GNULIB_TEST_LOCALENAME_ENVIRON
+
/* Define to 1 when the gnulib module localename-unsafe should be tested. */
#undef GNULIB_TEST_LOCALENAME_UNSAFE
@@ -414,11 +384,8 @@
/* Define to 1 when the gnulib module memchr should be tested. */
#undef GNULIB_TEST_MEMCHR
-/* Define to 1 when the gnulib module mempcpy should be tested. */
-#undef GNULIB_TEST_MEMPCPY
-
-/* Define to 1 when the gnulib module memrchr should be tested. */
-#undef GNULIB_TEST_MEMRCHR
+/* Define to 1 when the gnulib module mkfifo should be tested. */
+#undef GNULIB_TEST_MKFIFO
/* Define to 1 when the gnulib module nanosleep should be tested. */
#undef GNULIB_TEST_NANOSLEEP
@@ -426,12 +393,6 @@
/* Define to 1 when the gnulib module open should be tested. */
#undef GNULIB_TEST_OPEN
-/* Define to 1 when the gnulib module openat should be tested. */
-#undef GNULIB_TEST_OPENAT
-
-/* Define to 1 when the gnulib module opendir should be tested. */
-#undef GNULIB_TEST_OPENDIR
-
/* Define to 1 when the gnulib module perror should be tested. */
#undef GNULIB_TEST_PERROR
@@ -487,21 +448,12 @@
/* Define to 1 when the gnulib module random_r should be tested. */
#undef GNULIB_TEST_RANDOM_R
-/* Define to 1 when the gnulib module readdir should be tested. */
-#undef GNULIB_TEST_READDIR
-
/* Define to 1 when the gnulib module reallocarray should be tested. */
#undef GNULIB_TEST_REALLOCARRAY
-/* Define to 1 when the gnulib module realloc-gnu should be tested. */
-#undef GNULIB_TEST_REALLOC_GNU
-
/* Define to 1 when the gnulib module realloc-posix should be tested. */
#undef GNULIB_TEST_REALLOC_POSIX
-/* Define to 1 when the gnulib module rewinddir should be tested. */
-#undef GNULIB_TEST_REWINDDIR
-
/* Define to 1 when the gnulib module scanf should be tested. */
#undef GNULIB_TEST_SCANF
@@ -541,21 +493,27 @@
/* Define to 1 when the gnulib module stpcpy should be tested. */
#undef GNULIB_TEST_STPCPY
-/* Define to 1 when the gnulib module strdup should be tested. */
-#undef GNULIB_TEST_STRDUP
-
/* Define to 1 when the gnulib module strerror should be tested. */
#undef GNULIB_TEST_STRERROR
/* Define to 1 when the gnulib module strerror_r should be tested. */
#undef GNULIB_TEST_STRERROR_R
+/* Define to 1 when the gnulib module stringeq should be tested. */
+#undef GNULIB_TEST_STRINGEQ
+
/* Define to 1 when the gnulib module strncat should be tested. */
#undef GNULIB_TEST_STRNCAT
/* Define to 1 when the gnulib module strstr should be tested. */
#undef GNULIB_TEST_STRSTR
+/* Define to 1 when the gnulib module str_endswith should be tested. */
+#undef GNULIB_TEST_STR_ENDSWITH
+
+/* Define to 1 when the gnulib module str_startswith should be tested. */
+#undef GNULIB_TEST_STR_STARTSWITH
+
/* Define to 1 when the gnulib module symlink should be tested. */
#undef GNULIB_TEST_SYMLINK
@@ -751,9 +709,6 @@
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
-/* Define to 1 if you have the 'closedir' function. */
-#undef HAVE_CLOSEDIR
-
/* Define if the copysignf function is declared in <math.h> and available in
libc. */
#undef HAVE_COPYSIGNF_IN_LIBC
@@ -797,10 +752,6 @@
don't. */
#undef HAVE_DECL_COPYSIGNL
-/* Define to 1 if you have the declaration of 'dirfd', and to 0 if you don't.
- */
-#undef HAVE_DECL_DIRFD
-
/* Define to 1 if you have the declaration of 'ecvt', and to 0 if you don't.
*/
#undef HAVE_DECL_ECVT
@@ -809,10 +760,6 @@
don't. */
#undef HAVE_DECL_EXECVPE
-/* Define to 1 if you have the declaration of 'fchdir', and to 0 if you don't.
- */
-#undef HAVE_DECL_FCHDIR
-
/* Define to 1 if you have the declaration of 'fcloseall', and to 0 if you
don't. */
#undef HAVE_DECL_FCLOSEALL
@@ -821,18 +768,10 @@
*/
#undef HAVE_DECL_FCVT
-/* Define to 1 if you have the declaration of 'fdopendir', and to 0 if you
- don't. */
-#undef HAVE_DECL_FDOPENDIR
-
/* Define to 1 if you have the declaration of 'gcvt', and to 0 if you don't.
*/
#undef HAVE_DECL_GCVT
-/* Define to 1 if you have the declaration of 'getcwd', and to 0 if you don't.
- */
-#undef HAVE_DECL_GETCWD
-
/* Define to 1 if you have the declaration of 'getdtablesize', and to 0 if you
don't. */
#undef HAVE_DECL_GETDTABLESIZE
@@ -861,9 +800,9 @@
don't. */
#undef HAVE_DECL_MBSINIT
-/* Define to 1 if you have the declaration of 'memrchr', and to 0 if you
- don't. */
-#undef HAVE_DECL_MEMRCHR
+/* Define to 1 if you have the declaration of 'memeq', and to 0 if you don't.
+ */
+#undef HAVE_DECL_MEMEQ
/* Define to 1 if you have the declaration of 'program_invocation_name', and
to 0 if you don't. */
@@ -889,9 +828,9 @@
*/
#undef HAVE_DECL_SLEEP
-/* Define to 1 if you have the declaration of 'strdup', and to 0 if you don't.
+/* Define to 1 if you have the declaration of 'streq', and to 0 if you don't.
*/
-#undef HAVE_DECL_STRDUP
+#undef HAVE_DECL_STREQ
/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
don't. */
@@ -913,10 +852,6 @@
*/
#undef HAVE_DECL_WCSDUP
-/* Define to 1 if you have the declaration of 'wctob', and to 0 if you don't.
- */
-#undef HAVE_DECL_WCTOB
-
/* Define to 1 if you have the declaration of 'wcwidth', and to 0 if you
don't. */
#undef HAVE_DECL_WCWIDTH
@@ -933,12 +868,6 @@
*/
#undef HAVE_DECL___ARGV
-/* Define to 1 if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the 'dirfd' function. */
-#undef HAVE_DIRFD
-
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@@ -958,15 +887,9 @@
OpenBSD. */
#undef HAVE_FAKE_LOCALES
-/* Define to 1 if you have the 'fchdir' function. */
-#undef HAVE_FCHDIR
-
/* Define to 1 if you have the 'fcntl' function. */
#undef HAVE_FCNTL
-/* Define to 1 if you have the 'fdopendir' function. */
-#undef HAVE_FDOPENDIR
-
/* Define to 1 if you have the <features.h> header file. */
#undef HAVE_FEATURES_H
@@ -982,16 +905,9 @@
/* Define if the frexp function is available in libc. */
#undef HAVE_FREXP_IN_LIBC
-/* Define to 1 if you have the 'fstatat' function. */
-#undef HAVE_FSTATAT
-
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
-/* Define to 1 if getcwd works, but with shorter paths than is generally
- tested with the replacement. */
-#undef HAVE_GETCWD_SHORTER
-
/* Define to 1 if you have the 'getdtablesize' function. */
#undef HAVE_GETDTABLESIZE
@@ -1089,12 +1005,15 @@
/* Define to 1 if you have the 'lstat' function. */
#undef HAVE_LSTAT
+/* Define to 1 if malloc (0) returns nonnull. */
+#undef HAVE_MALLOC_0_NONNULL
+
/* Define if malloc, realloc, and calloc set errno on allocation failure. */
#undef HAVE_MALLOC_POSIX
-/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
- config.h and <sys/mman.h>. */
-#undef HAVE_MAP_ANONYMOUS
+/* Define to 1 if malloc-like functions do not allocate objects larger than
+ PTRDIFF_MAX bytes. */
+#undef HAVE_MALLOC_PTRDIFF
/* Define to 1 if you have the <math.h> header file. */
#undef HAVE_MATH_H
@@ -1111,16 +1030,6 @@
/* Define to 1 if you have the `mbtowc' function. */
#undef HAVE_MBTOWC
-/* Define to 1 if you have the `mempcpy' function. */
-#undef HAVE_MEMPCPY
-
-/* Define to 1 if you have the 'memrchr' function. */
-#undef HAVE_MEMRCHR
-
-/* Define to 1 if getcwd minimally works, that is, its result can be trusted
- when it succeeds. */
-#undef HAVE_MINIMALLY_WORKING_GETCWD
-
/* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H
@@ -1130,6 +1039,9 @@
/* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
#undef HAVE_MINMAX_IN_SYS_PARAM_H
+/* Define to 1 if you have a 'mkfifo' function. */
+#undef HAVE_MKFIFO
+
/* Define to 1 if you have the 'mprotect' function. */
#undef HAVE_MPROTECT
@@ -1153,16 +1065,6 @@
/* Define to 1 if you have the `nl_langinfo' function. */
#undef HAVE_NL_LANGINFO
-/* Define to 1 if you have the 'openat' function. */
-#undef HAVE_OPENAT
-
-/* Define to 1 if you have the 'opendir' function. */
-#undef HAVE_OPENDIR
-
-/* Define to 1 if getcwd works, except it sometimes fails when it shouldn't,
- setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */
-#undef HAVE_PARTLY_WORKING_GETCWD
-
/* Define to 1 if you have the 'pipe' function. */
#undef HAVE_PIPE
@@ -1206,14 +1108,11 @@
/* Define to 1 if you have the 'random_r' function. */
#undef HAVE_RANDOM_R
-/* Define to 1 if you have the 'readdir' function. */
-#undef HAVE_READDIR
-
/* Define to 1 if you have the `reallocarray' function. */
#undef HAVE_REALLOCARRAY
-/* Define to 1 if you have the 'rewinddir' function. */
-#undef HAVE_REWINDDIR
+/* Define to 1 if realloc (..., 0) returns nonnull. */
+#undef HAVE_REALLOC_0_NONNULL
/* Define to 1 if 'long double' and 'double' have the same representation. */
#undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
@@ -1312,6 +1211,12 @@
/* Define to 1 if you have the 'strnlen' function. */
#undef HAVE_STRNLEN
+/* Define to 1 if 'decimal_point' is a member of 'struct lconv'. */
+#undef HAVE_STRUCT_LCONV_DECIMAL_POINT
+
+/* Define to 1 if 'int_p_cs_precedes' is a member of 'struct lconv'. */
+#undef HAVE_STRUCT_LCONV_INT_P_CS_PRECEDES
+
/* Define to 1 if the system has the type 'struct random_data'. */
#undef HAVE_STRUCT_RANDOM_DATA
@@ -1449,6 +1354,9 @@
symbols. */
#undef HAVE_WEAK_SYMBOLS
+/* Define to 1 if <locale.h> defines the _locale_t type. */
+#undef HAVE_WINDOWS_LOCALE_T
+
/* Define to 1 if you have the <winsock2.h> header file. */
#undef HAVE_WINSOCK2_H
@@ -1458,17 +1366,16 @@
/* Define if the c32rtomb function basically works. */
#undef HAVE_WORKING_C32RTOMB
-/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX
- 7.1. */
-#undef HAVE_WORKING_FSTATAT_ZERO_FLAG
-
/* Define if the mbrtoc32 function basically works. */
#undef HAVE_WORKING_MBRTOC32
-/* Define to 1 if O_NOATIME works. */
+/* Define to 1 if O_DIRECTORY works, 0 otherwise. */
+#undef HAVE_WORKING_O_DIRECTORY
+
+/* Define to 1 if O_NOATIME works, 0 otherwise. */
#undef HAVE_WORKING_O_NOATIME
-/* Define to 1 if O_NOFOLLOW works. */
+/* Define to 1 if O_NOFOLLOW works, 0 otherwise. */
#undef HAVE_WORKING_O_NOFOLLOW
/* Define if the uselocale function exists and may safely be called. */
@@ -1494,7 +1401,7 @@
#elif HAVE___BUILTIN_EXPECT == 2
# include <builtins.h>
#endif
-
+
/* Define to 1 if you have the `__fseterr' function. */
#undef HAVE___FSETERR
@@ -1519,9 +1426,11 @@
functions or macros in standard C headers like <ctype.h>. For example,
if isdigit is mistakenly implemented via a static inline function,
a program containing an extern inline function that calls isdigit
- may not work since the C standard prohibits extern inline functions
- from calling static functions (ISO C 99 section 6.7.4.(3).
- This bug is known to occur on:
+ may not work since C99 through C23 prohibit extern inline functions
+ from calling static functions (ISO C 23 section 6.7.5.(2)).
+ Although a future C standard will likely relax this restriction
+ <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3622.txt>,
+ respect it for now. This bug is known to occur on:
OS X 10.8 and earlier; see:
https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
@@ -1588,8 +1497,8 @@
suppress bogus "no previous prototype for 'FOO'"
and "no previous declaration for 'FOO'" diagnostics,
when FOO is an inline function in the header; see
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */
+ <https://gcc.gnu.org/PR54113> and
+ <https://gcc.gnu.org/PR63877>. */
#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
# define _GL_INLINE_HEADER_CONST_PRAGMA
@@ -1649,9 +1558,6 @@
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
-/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
-#undef MALLOC_0_IS_NONNULL
-
/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
#undef MAP_ANONYMOUS
@@ -1678,9 +1584,6 @@
/* Define if the mbrtowc function has the NULL pwc argument bug. */
#undef MBRTOWC_NULL_ARG1_BUG
-/* Define if the mbrtowc function has the NULL string argument bug. */
-#undef MBRTOWC_NULL_ARG2_BUG
-
/* Define if the mbrtowc function does not return 0 for a NUL character. */
#undef MBRTOWC_NUL_RETVAL_BUG
@@ -1709,6 +1612,9 @@
6.2.1. */
#undef MIPS_NAN2008_LONG_DOUBLE
+/* Define to 1 if mkfifo does not reject trailing slash */
+#undef MKFIFO_TRAILING_SLASH_BUG
+
/* Define to 1 on musl libc. */
#undef MUSL_LIBC
@@ -1748,6 +1654,10 @@
*/
#undef NEED_PRINTF_FLAG_GROUPING
+/* Define if the vasnprintf implementation needs special code for the ' flag,
+ for integer directives only. */
+#undef NEED_PRINTF_FLAG_GROUPING_INT
+
/* Define if the vasnprintf implementation needs special code for the '-'
flag. */
#undef NEED_PRINTF_FLAG_LEFTADJUST
@@ -1772,6 +1682,9 @@
large precisions without arbitrary bounds. */
#undef NEED_PRINTF_UNBOUNDED_PRECISION
+/* Define to 1 if realloc should abort upon undefined behaviour. */
+#undef NEED_SANITIZED_REALLOC
+
/* Define to 1 to enable general improvements of setlocale. */
#undef NEED_SETLOCALE_IMPROVED
@@ -1832,24 +1745,14 @@
/* Define to 1 if pthread_sigmask may return 0 and have no effect. */
#undef PTHREAD_SIGMASK_INEFFECTIVE
-/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */
-#undef PTHREAD_SIGMASK_UNBLOCK_BUG
-
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'ptrdiff_t'. */
#undef PTRDIFF_T_SUFFIX
-/* Define to 1 if gnulib's fchdir() replacement is used. */
-#undef REPLACE_FCHDIR
-
/* Define to 1 if stat needs help when passed a file name with a trailing
slash */
#undef REPLACE_FUNC_STAT_FILE
-/* Define to 1 if open() should work around the inability to open a directory.
- */
-#undef REPLACE_OPEN_DIRECTORY
-
/* Define to 1 if strerror(0) does not return a message implying success. */
#undef REPLACE_STRERROR_0
@@ -2090,33 +1993,25 @@
/* Define so that AIX headers are more compatible with GNU/Linux. */
#undef _LINUX_SOURCE_COMPAT
-/* The _Noreturn keyword of C11. */
+/* The _Noreturn keyword of C11.
+ Do not use [[noreturn]], because with it the syntax
+ extern _Noreturn void func (...);
+ would not be valid; such a declaration would be valid only with 'extern'
+ and '_Noreturn' swapped, or without the 'extern' keyword. However, some
+ AIX system header files and several gnulib header files use precisely
+ this syntax with 'extern'. So even though C23 deprecates _Noreturn,
+ it is currently more portable to prefer it to [[noreturn]].
+
+ Also, do not try to work around LLVM bug 59792 (clang 15 or earlier).
+ This rare bug can be worked around by compiling with 'clang -D_Noreturn=',
+ though the workaround may generate many false-alarm warnings. */
#ifndef _Noreturn
-# if (defined __cplusplus \
- && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
- || (defined _MSC_VER && 1900 <= _MSC_VER)) \
- && 0)
- /* [[noreturn]] is not practically usable, because with it the syntax
- extern _Noreturn void func (...);
- would not be valid; such a declaration would only be valid with 'extern'
- and '_Noreturn' swapped, or without the 'extern' keyword. However, some
- AIX system header files and several gnulib header files use precisely
- this syntax with 'extern'. */
-# define _Noreturn [[noreturn]]
-# elif (defined __clang__ && __clang_major__ < 16 \
- && defined _GL_WORK_AROUND_LLVM_BUG_59792)
- /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
- that rare LLVM bug, though you may get many false-alarm warnings. */
-# define _Noreturn
-# elif ((!defined __cplusplus || defined __clang__) \
- && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
- || (!defined __STRICT_ANSI__ \
- && (_GL_GNUC_PREREQ (4, 7) \
- || (defined __apple_build_version__ \
- ? 6000000 <= __apple_build_version__ \
- : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+# if ((!defined __cplusplus || defined __clang__) \
+ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0)))
/* _Noreturn works as-is. */
# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
+ /* Prefer __attribute__ ((__noreturn__)) to plain _Noreturn even if the
+ latter works, as 'gcc -std=gnu99 -Wpedantic' warns about _Noreturn. */
# define _Noreturn __attribute__ ((__noreturn__))
# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
# define _Noreturn __declspec (noreturn)
@@ -2126,10 +2021,6 @@
#endif
-/* Define to 1 in order to get the POSIX compatible declarations of socket
- functions. */
-#undef _POSIX_PII_SOCKET
-
/* Number of bits in time_t, on hosts where this is settable. */
#undef _TIME_BITS
@@ -2190,6 +2081,9 @@
# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
# else
# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+/* The following lines list the first GCC version that supports the attribute.
+ Although the lines are not used in GCC 5 and later (as GCC 5 introduced
+ __has_attribute support), list GCC versions 5+ anyway for completeness. */
# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
@@ -2210,14 +2104,15 @@
# endif
# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonnull_if_nonzero _GL_GNUC_PREREQ (15, 1)
# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
-# define _GL_ATTR_reproducible 0 /* not yet supported, as of GCC 14 */
+# define _GL_ATTR_reproducible _GL_GNUC_PREREQ (15, 1)
# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
-# define _GL_ATTR_unsequenced 0 /* not yet supported, as of GCC 14 */
+# define _GL_ATTR_unsequenced _GL_GNUC_PREREQ (15, 1)
# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
# endif
@@ -2245,7 +2140,7 @@
======================================================================
This gives a syntax error
- in C mode with gcc
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108796>, and
+ <https://gcc.gnu.org/PR108796>, and
- in C++ mode with clang++ version < 16, and
- in C++ mode, inside extern "C" {}, still in newer clang++ versions
<https://github.com/llvm/llvm-project/issues/101990>.
@@ -2527,7 +2422,7 @@
yet. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
# if defined __cplusplus && defined __GNUC__ && !defined __clang__
-/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+/* Work around GCC bug <https://gcc.gnu.org/PR108231> */
# define _GL_ATTRIBUTE_DEALLOC_FREE \
_GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
# else
@@ -2753,6 +2648,17 @@
# endif
#endif
+/* _GL_ATTRIBUTE_NONNULL_IF_NONZERO (NP, NI) declares that the argument NP
+ (a pointer) must not be NULL if the argument NI (an integer) is != 0. */
+/* Applies to: functions. */
+#ifndef _GL_ATTRIBUTE_NONNULL_IF_NONZERO
+# if _GL_HAS_ATTRIBUTE (nonnull_if_nonzero)
+# define _GL_ATTRIBUTE_NONNULL_IF_NONZERO(np, ni) __attribute__ ((__nonnull_if_nonzero__ (np, ni)))
+# else
+# define _GL_ATTRIBUTE_NONNULL_IF_NONZERO(np, ni)
+# endif
+#endif
+
/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
not meant to be NUL-terminated. */
/* Applies to: struct/union members and variables that are arrays of element
@@ -2839,7 +2745,9 @@
than _GL_ATTRIBUTE_PURE because the function need not return
exactly once and can affect state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
- <https://stackoverflow.com/questions/76847905/>. */
+ <https://stackoverflow.com/questions/76847905/>.
+ ATTENTION! Efforts are underway to change the meaning of this attribute.
+ See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function types. */
#ifndef _GL_ATTRIBUTE_REPRODUCIBLE
/* This may be revisited when gcc and clang support [[reproducible]] or possibly
@@ -2890,7 +2798,9 @@
_GL_ATTRIBUTE_CONST because the function need not return exactly
once and can depend on state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
- <https://stackoverflow.com/questions/76847905/>. */
+ <https://stackoverflow.com/questions/76847905/>.
+ ATTENTION! Efforts are underway to change the meaning of this attribute.
+ See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function types. */
#ifndef _GL_ATTRIBUTE_UNSEQUENCED
/* This may be revisited when gcc and clang support [[unsequenced]] or possibly
@@ -2937,7 +2847,7 @@
# if __clang_major__ >= 15
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept) \
__attribute__ ((__capability__ (concept)))
-#else
+# else
# define _GL_ATTRIBUTE_CAPABILITY_TYPE(concept)
# endif
#endif
@@ -3005,8 +2915,8 @@
-1 if n1 < n2
The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional
jump with nearly all GCC versions up to GCC 10.
- This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many
- GCC versions up to GCC 9.
+ This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional jump with
+ many GCC versions up to GCC 9.
The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9
avoids conditional jumps in all GCC versions >= 3.4. */
#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
@@ -3053,20 +2963,20 @@
#undef uid_t
- /* This definition is a duplicate of the one in unitypes.h.
- It is here so that we can cope with an older version of unitypes.h
- that does not contain this definition and that is pre-installed among
- the public header files. */
- # if defined __restrict \
- || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
- || __clang_major__ >= 3
- # define _UC_RESTRICT __restrict
- # elif 199901L <= __STDC_VERSION__ || defined restrict
- # define _UC_RESTRICT restrict
- # else
- # define _UC_RESTRICT
- # endif
-
+/* This definition is a duplicate of the one in unitypes.h.
+ It is here so that we can cope with an older version of unitypes.h
+ that does not contain this definition and that is pre-installed among
+ the public header files. */
+# if defined __restrict \
+ || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
+ || __clang_major__ >= 3
+# define _UC_RESTRICT __restrict
+# elif 199901L <= __STDC_VERSION__ || defined restrict
+# define _UC_RESTRICT restrict
+# else
+# define _UC_RESTRICT
+# endif
+
/* Define to an unsigned 32-bit type if <sys/types.h> lacks this type. */
#undef useconds_t
@@ -3082,10 +2992,10 @@
References:
ISO C23 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf>)
+ <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf>)
sections 6.5.3.4, 6.7.5, 7.15.
C++11 (latest free draft
- <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
+ <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
section 18.10. */
/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
@@ -3103,12 +3013,14 @@
want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
- clang versions < 8.0.0 have the same bug. */
+ <https://gcc.gnu.org/PR52023>.
+ clang versions < 8.0.0 have the same bug.
+ IBM XL C V16.1.0 cc (non-clang) has the same bug. */
# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
|| (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
&& !defined __clang__) \
- || (defined __clang__ && __clang_major__ < 8))
+ || (defined __clang__ && __clang_major__ < 8) \
+ || defined __xlC__)
# undef/**/_Alignof
# ifdef __cplusplus
# if (201103 <= __cplusplus || defined _MSC_VER)
@@ -3179,7 +3091,8 @@
# if ((defined _Alignas \
&& !(defined __cplusplus \
&& (201103 <= __cplusplus || defined _MSC_VER))) \
- || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
+ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__ \
+ && !defined __xlC__))
# define alignas _Alignas
# endif
# endif
@@ -3189,7 +3102,13 @@
# endif
#endif
-#ifndef HAVE_C_BOOL
+#if !(defined __cplusplus \
+ ? 1 \
+ : (defined __clang__ \
+ ? __STDC_VERSION__ >= 202000L && __clang_major__ >= 15 \
+ : (defined __GNUC__ \
+ ? __STDC_VERSION__ >= 202000L && __GNUC__ >= 13 \
+ : defined HAVE_C_BOOL)))
# if !defined __cplusplus && !defined __bool_true_false_are_defined
# if HAVE_STDBOOL_H
# include <stdbool.h>
@@ -3206,19 +3125,42 @@
# endif
#endif
-#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+#if (!(defined __clang__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201703L \
+ : __STDC_VERSION__ >= 202000L && __clang_major__ >= 16 \
+ && !defined __sun) \
+ : (defined __GNUC__ \
+ ? (defined __cplusplus \
+ ? __cplusplus >= 201103L && __GNUG__ >= 6 \
+ : __STDC_VERSION__ >= 202000L && __GNUC__ >= 13 \
+ && !defined __sun) \
+ : defined HAVE_C_STATIC_ASSERT)) \
+ && !defined assert \
&& (!defined __cplusplus \
|| (__cpp_static_assert < 201411 \
&& __GNUG__ < 6 && __clang_major__ < 6)))
#include <assert.h>
#undef/**/assert
- #ifdef __sgi
- #undef/**/__ASSERT_H__
- #endif
/* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
- We need it also to be invocable with a single argument. */
- #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+ We need it also to be invocable with a single argument.
+ Haiku 2022 <assert.h> does not define static_assert at all. */
+ #if (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
#undef/**/static_assert
#define static_assert _Static_assert
#endif
#endif
+
+#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
+# pragma GCC diagnostic pop
+#endif
+
+
+
+/* The text domainname for Gnulib messages. Ordinarily this is "gnulib",
+ but packages that do their own translations of Gnulib can use something
+ different by defining GNULIB_TEXT_DOMAIN in their config.h file. */
+#ifndef GNULIB_TEXT_DOMAIN
+# define GNULIB_TEXT_DOMAIN/**/"gnulib"
+#endif
+