diff options
Diffstat (limited to 'darwin-lib/config.h')
-rw-r--r-- | darwin-lib/config.h | 1107 |
1 files changed, 957 insertions, 150 deletions
diff --git a/darwin-lib/config.h b/darwin-lib/config.h index 2f88cc22..1c11fbab 100644 --- a/darwin-lib/config.h +++ b/darwin-lib/config.h @@ -23,17 +23,9 @@ non-IEEE-754 'long double' values. */ #define CHECK_PRINTF_SAFE 1 -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -/* #undef CRAY_STACKSEG_END */ - -/* Define to 1 if using `alloca.c'. */ +/* Define to 1 if using 'alloca.c'. */ /* #undef C_ALLOCA */ -/* Define to 1 if the C locale may have encoding errors. */ -/* #undef C_LOCALE_MAYBE_EILSEQ */ - /* Define as the bit index in the word where to find bit 0 of the exponent of 'double'. */ #define DBL_EXPBIT0_BIT 20 @@ -47,9 +39,22 @@ /* 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. */ +#define D_INO_IN_DIRENT 1 + /* Define to 1 if translation of program messages to the user's native language is requested. */ /* #undef ENABLE_NLS */ @@ -77,17 +82,22 @@ /* #undef FOPEN_TRAILING_SLASH_BUG */ /* Define to 1 if realpath() can malloc memory, always gives an absolute path, - and handles trailing slash correctly. */ -/* #undef FUNC_REALPATH_WORKS */ + and handles a trailing slash correctly. */ +/* #undef FUNC_REALPATH_NEARLY_WORKS */ -/* Define if gettimeofday clobbers the localtime buffer. */ -/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ +/* Define to 1 if realpath() can malloc memory, always gives an absolute path, + and handles leading slashes and a trailing slash correctly. */ +/* #undef FUNC_REALPATH_WORKS */ /* Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday. */ #define GETTIMEOFDAY_TIMEZONE void /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module canonicalize shall be considered present. */ +#define GNULIB_CANONICALIZE 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module canonicalize-lgpl shall be considered present. */ #define GNULIB_CANONICALIZE_LGPL 1 @@ -100,10 +110,18 @@ #define GNULIB_DIRNAME 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fdopendir shall be considered present. */ +#define GNULIB_FDOPENDIR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fd-safer-flag shall be considered present. */ #define GNULIB_FD_SAFER_FLAG 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fopen-gnu shall be considered present. */ +#define GNULIB_FOPEN_GNU 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fopen-safer shall be considered present. */ #define GNULIB_FOPEN_SAFER 1 @@ -112,18 +130,22 @@ #define GNULIB_FSCANF 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module lock shall be considered present. */ -#define GNULIB_LOCK 1 + whether the gnulib module getcwd shall be considered present. */ +#define GNULIB_GETCWD 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module malloc-gnu shall be considered present. */ -#define GNULIB_MALLOC_GNU 1 + whether the gnulib module lock shall be considered present. */ +#define GNULIB_LOCK 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module msvc-nothrow shall be considered present. */ #define GNULIB_MSVC_NOTHROW 1 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module openat shall be considered present. */ +#define GNULIB_OPENAT 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module pipe2-safer shall be considered present. */ #define GNULIB_PIPE2_SAFER 1 @@ -132,6 +154,10 @@ /* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */ /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module reallocarray shall be considered present. */ +#define GNULIB_REALLOCARRAY 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module scanf shall be considered present. */ #define GNULIB_SCANF 1 @@ -139,6 +165,14 @@ whether the gnulib module snprintf shall be considered present. */ #define GNULIB_SNPRINTF 1 +/* Define to 1 if you want the FILE stream functions getc, putc, etc. to use + unlocked I/O if available, throughout the package. Unlocked I/O can improve + performance, sometimes dramatically. But unlocked I/O is safe only in + single-threaded programs, as well as in multithreaded programs for which + you can guarantee that every FILE stream, including stdin, stdout, stderr, + is used only in a single thread. */ +#define GNULIB_STDIO_SINGLE_THREAD 1 + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module strerror shall be considered present. */ #define GNULIB_STRERROR 1 @@ -147,9 +181,15 @@ whether the gnulib module strerror_r-posix shall be considered present. */ #define GNULIB_STRERROR_R_POSIX 1 +/* Define to 1 when the gnulib module access should be tested. */ +#define GNULIB_TEST_ACCESS 1 + /* Define to 1 when the gnulib module calloc-posix should be tested. */ #define GNULIB_TEST_CALLOC_POSIX 1 +/* Define to 1 when the gnulib module canonicalize should be tested. */ +#define GNULIB_TEST_CANONICALIZE 1 + /* Define to 1 when the gnulib module canonicalize_file_name should be tested. */ #define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 @@ -163,35 +203,101 @@ /* Define to 1 when the gnulib module close should be tested. */ #define GNULIB_TEST_CLOSE 1 +/* Define to 1 when the gnulib module closedir should be tested. */ +#define GNULIB_TEST_CLOSEDIR 1 + +/* 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. */ #define GNULIB_TEST_DUP2 1 /* Define to 1 when the gnulib module environ should be tested. */ #define GNULIB_TEST_ENVIRON 1 +/* Define to 1 when the gnulib module fchdir should be tested. */ +#define GNULIB_TEST_FCHDIR 1 + /* Define to 1 when the gnulib module fcntl should be tested. */ #define GNULIB_TEST_FCNTL 1 +/* Define to 1 when the gnulib module fdopendir should be tested. */ +#define GNULIB_TEST_FDOPENDIR 1 + +/* Define to 1 when the gnulib module ffsl should be tested. */ +#define GNULIB_TEST_FFSL 1 + +/* Define to 1 when the gnulib module fgetc should be tested. */ +#define GNULIB_TEST_FGETC 1 + +/* Define to 1 when the gnulib module fgets should be tested. */ +#define GNULIB_TEST_FGETS 1 + /* Define to 1 when the gnulib module fopen should be tested. */ #define GNULIB_TEST_FOPEN 1 +/* Define to 1 when the gnulib module fprintf should be tested. */ +#define GNULIB_TEST_FPRINTF 1 + /* Define to 1 when the gnulib module fprintf-posix should be tested. */ #define GNULIB_TEST_FPRINTF_POSIX 1 +/* Define to 1 when the gnulib module fputc should be tested. */ +#define GNULIB_TEST_FPUTC 1 + +/* Define to 1 when the gnulib module fputs should be tested. */ +#define GNULIB_TEST_FPUTS 1 + +/* Define to 1 when the gnulib module fread should be tested. */ +#define GNULIB_TEST_FREAD 1 + +/* Define to 1 when the gnulib module free-posix should be tested. */ +#define GNULIB_TEST_FREE_POSIX 1 + /* Define to 1 when the gnulib module frexp should be tested. */ #define GNULIB_TEST_FREXP 1 /* Define to 1 when the gnulib module frexpl should be tested. */ #define GNULIB_TEST_FREXPL 1 +/* Define to 1 when the gnulib module fscanf should be tested. */ +#define GNULIB_TEST_FSCANF 1 + /* Define to 1 when the gnulib module fstat should be tested. */ #define GNULIB_TEST_FSTAT 1 +/* Define to 1 when the gnulib module fstatat should be tested. */ +#define GNULIB_TEST_FSTATAT 1 + /* Define to 1 when the gnulib module fsync should be tested. */ #define GNULIB_TEST_FSYNC 1 +/* Define to 1 when the gnulib module fwrite should be tested. */ +#define GNULIB_TEST_FWRITE 1 + +/* Define to 1 when the gnulib module getc should be tested. */ +#define GNULIB_TEST_GETC 1 + +/* Define to 1 when the gnulib module getchar should be tested. */ +#define GNULIB_TEST_GETCHAR 1 + +/* Define to 1 when the gnulib module getcwd should be tested. */ +#define GNULIB_TEST_GETCWD 1 + +/* Define to 1 when the gnulib module getdelim should be tested. */ +/* #undef GNULIB_TEST_GETDELIM */ + /* Define to 1 when the gnulib module getdtablesize should be tested. */ -/* #undef GNULIB_TEST_GETDTABLESIZE */ +#define GNULIB_TEST_GETDTABLESIZE 1 + +/* Define to 1 when the gnulib module getline should be tested. */ +/* #undef GNULIB_TEST_GETLINE */ + +/* Define to 1 when the gnulib module getopt-posix should be tested. */ +#define GNULIB_TEST_GETOPT_POSIX 1 /* Define to 1 when the gnulib module getrusage should be tested. */ #define GNULIB_TEST_GETRUSAGE 1 @@ -214,6 +320,12 @@ /* Define to 1 when the gnulib module iswblank should be tested. */ #define GNULIB_TEST_ISWBLANK 1 +/* Define to 1 when the gnulib module iswdigit should be tested. */ +#define GNULIB_TEST_ISWDIGIT 1 + +/* Define to 1 when the gnulib module iswxdigit should be tested. */ +#define GNULIB_TEST_ISWXDIGIT 1 + /* Define to 1 when the gnulib module ldexpl should be tested. */ #define GNULIB_TEST_LDEXPL 1 @@ -232,18 +344,36 @@ /* Define to 1 when the gnulib module memchr should be tested. */ #define GNULIB_TEST_MEMCHR 1 +/* Define to 1 when the gnulib module mempcpy should be tested. */ +#define GNULIB_TEST_MEMPCPY 1 + +/* Define to 1 when the gnulib module memrchr should be tested. */ +#define GNULIB_TEST_MEMRCHR 1 + /* Define to 1 when the gnulib module obstack-printf should be tested. */ #define GNULIB_TEST_OBSTACK_PRINTF 1 /* Define to 1 when the gnulib module open should be tested. */ #define GNULIB_TEST_OPEN 1 +/* Define to 1 when the gnulib module openat should be tested. */ +#define GNULIB_TEST_OPENAT 1 + +/* Define to 1 when the gnulib module opendir should be tested. */ +#define GNULIB_TEST_OPENDIR 1 + /* Define to 1 when the gnulib module perror should be tested. */ #define GNULIB_TEST_PERROR 1 +/* Define to 1 when the gnulib module pipe should be tested. */ +#define GNULIB_TEST_PIPE 1 + /* Define to 1 when the gnulib module pipe2 should be tested. */ #define GNULIB_TEST_PIPE2 1 +/* Define to 1 when the gnulib module posix_spawn should be tested. */ +#define GNULIB_TEST_POSIX_SPAWN 1 + /* Define to 1 when the gnulib module posix_spawnattr_destroy should be tested. */ #define GNULIB_TEST_POSIX_SPAWNATTR_DESTROY 1 @@ -256,6 +386,10 @@ tested. */ #define GNULIB_TEST_POSIX_SPAWNATTR_SETFLAGS 1 +/* Define to 1 when the gnulib module posix_spawnattr_setpgroup should be + tested. */ +#define GNULIB_TEST_POSIX_SPAWNATTR_SETPGROUP 1 + /* Define to 1 when the gnulib module posix_spawnattr_setsigmask should be tested. */ #define GNULIB_TEST_POSIX_SPAWNATTR_SETSIGMASK 1 @@ -263,6 +397,10 @@ /* Define to 1 when the gnulib module posix_spawnp should be tested. */ #define GNULIB_TEST_POSIX_SPAWNP 1 +/* Define to 1 when the gnulib module posix_spawn_file_actions_addchdir should + be tested. */ +#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR 1 + /* Define to 1 when the gnulib module posix_spawn_file_actions_addclose should be tested. */ #define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE 1 @@ -283,18 +421,36 @@ tested. */ #define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_INIT 1 +/* Define to 1 when the gnulib module printf should be tested. */ +#define GNULIB_TEST_PRINTF 1 + /* Define to 1 when the gnulib module printf-posix should be tested. */ #define GNULIB_TEST_PRINTF_POSIX 1 +/* Define to 1 when the gnulib module putc should be tested. */ +#define GNULIB_TEST_PUTC 1 + +/* Define to 1 when the gnulib module putchar should be tested. */ +#define GNULIB_TEST_PUTCHAR 1 + +/* Define to 1 when the gnulib module puts should be tested. */ +#define GNULIB_TEST_PUTS 1 + /* Define to 1 when the gnulib module raise should be tested. */ #define GNULIB_TEST_RAISE 1 /* Define to 1 when the gnulib module rawmemchr should be tested. */ -/* #undef GNULIB_TEST_RAWMEMCHR */ +#define GNULIB_TEST_RAWMEMCHR 1 + +/* Define to 1 when the gnulib module readdir should be tested. */ +#define GNULIB_TEST_READDIR 1 /* Define to 1 when the gnulib module readlink should be tested. */ #define GNULIB_TEST_READLINK 1 +/* Define to 1 when the gnulib module reallocarray should be tested. */ +#define GNULIB_TEST_REALLOCARRAY 1 + /* Define to 1 when the gnulib module realloc-posix should be tested. */ #define GNULIB_TEST_REALLOC_POSIX 1 @@ -304,9 +460,18 @@ /* Define to 1 when the gnulib module rename should be tested. */ #define GNULIB_TEST_RENAME 1 +/* Define to 1 when the gnulib module rewinddir should be tested. */ +#define GNULIB_TEST_REWINDDIR 1 + /* Define to 1 when the gnulib module rmdir should be tested. */ #define GNULIB_TEST_RMDIR 1 +/* Define to 1 when the gnulib module scanf should be tested. */ +#define GNULIB_TEST_SCANF 1 + +/* Define to 1 when the gnulib module setlocale_null should be tested. */ +/* #undef GNULIB_TEST_SETLOCALE_NULL */ + /* Define to 1 when the gnulib module sigaction should be tested. */ #define GNULIB_TEST_SIGACTION 1 @@ -328,8 +493,11 @@ /* Define to 1 when the gnulib module stpcpy should be tested. */ #define GNULIB_TEST_STPCPY 1 +/* Define to 1 when the gnulib module stpncpy should be tested. */ +#define GNULIB_TEST_STPNCPY 1 + /* Define to 1 when the gnulib module strchrnul should be tested. */ -/* #undef GNULIB_TEST_STRCHRNUL */ +#define GNULIB_TEST_STRCHRNUL 1 /* Define to 1 when the gnulib module strdup should be tested. */ #define GNULIB_TEST_STRDUP 1 @@ -346,6 +514,9 @@ /* Define to 1 when the gnulib module strnlen should be tested. */ /* #undef GNULIB_TEST_STRNLEN */ +/* Define to 1 when the gnulib module strtod should be tested. */ +#define GNULIB_TEST_STRTOD 1 + /* Define to 1 when the gnulib module strverscmp should be tested. */ #define GNULIB_TEST_STRVERSCMP 1 @@ -358,9 +529,15 @@ /* Define to 1 when the gnulib module vasprintf should be tested. */ #define GNULIB_TEST_VASPRINTF 1 +/* Define to 1 when the gnulib module vfprintf should be tested. */ +#define GNULIB_TEST_VFPRINTF 1 + /* Define to 1 when the gnulib module vfprintf-posix should be tested. */ #define GNULIB_TEST_VFPRINTF_POSIX 1 +/* Define to 1 when the gnulib module vprintf should be tested. */ +#define GNULIB_TEST_VPRINTF 1 + /* Define to 1 when the gnulib module vsnprintf should be tested. */ #define GNULIB_TEST_VSNPRINTF 1 @@ -373,6 +550,26 @@ /* Define to 1 when the gnulib module wcwidth should be tested. */ #define GNULIB_TEST_WCWIDTH 1 +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ +#define GNULIB_UNISTR_U8_MBTOUCR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-uctomb shall be considered present. */ +#define GNULIB_UNISTR_U8_UCTOMB 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module vfprintf-posix shall be considered present. */ +#define GNULIB_VFPRINTF_POSIX 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module xalloc shall be considered present. */ +#define GNULIB_XALLOC 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module xalloc-die shall be considered present. */ +#define GNULIB_XALLOC_DIE 1 + /* Define if your system defines TIOCGWINSZ in sys/ioctl.h. */ /* #undef GWINSZ_IN_SYS_IOCTL */ @@ -380,8 +577,7 @@ may be supplied by this distribution. */ #define HAVE_ALLOCA 1 -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ +/* Define to 1 if <alloca.h> works. */ #define HAVE_ALLOCA_H 1 /* Define if you have an arithmetic hrtime_t type. */ @@ -390,9 +586,6 @@ /* Define to 1 if you have the <bp-sym.h> header file. */ /* #undef HAVE_BP_SYM_H */ -/* Define if the 'calloc' function is POSIX compliant. */ -#define HAVE_CALLOC_POSIX 1 - /* Define to 1 if you have the `canonicalize_file_name' function. */ /* #undef HAVE_CANONICALIZE_FILE_NAME */ @@ -413,8 +606,11 @@ /* Define to 1 if you have the `clock_settime' function. */ #define HAVE_CLOCK_SETTIME 1 +/* Define to 1 if you have the `closedir' function. */ +#define HAVE_CLOSEDIR 1 + /* Define to 1 if you have the `confstr' function. */ -/* #undef HAVE_CONFSTR */ +#define HAVE_CONFSTR 1 /* Define if the copysignf function is declared in <math.h> and available in libc. */ @@ -458,6 +654,34 @@ 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. + */ +#define HAVE_DECL_ECVT 1 + +/* Define to 1 if you have the declaration of `execvpe', and to 0 if you + don't. */ +#define HAVE_DECL_EXECVPE 0 + +/* Define to 1 if you have the declaration of `fchdir', and to 0 if you don't. + */ +#define HAVE_DECL_FCHDIR 1 + +/* Define to 1 if you have the declaration of `fcloseall', and to 0 if you + don't. */ +#define HAVE_DECL_FCLOSEALL 0 + +/* Define to 1 if you have the declaration of `fcvt', and to 0 if you don't. + */ +#define HAVE_DECL_FCVT 1 + +/* Define to 1 if you have the declaration of `fdopendir', and to 0 if you + don't. */ +#define HAVE_DECL_FDOPENDIR 1 + /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #define HAVE_DECL_FEOF_UNLOCKED 1 @@ -490,14 +714,26 @@ you don't. */ #define HAVE_DECL_FWRITE_UNLOCKED 0 +/* Define to 1 if you have the declaration of `gcvt', and to 0 if you don't. + */ +#define HAVE_DECL_GCVT 1 + /* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if you don't. */ #define HAVE_DECL_GETCHAR_UNLOCKED 1 +/* Define to 1 if you have the declaration of `getcwd', and to 0 if you don't. + */ +#define HAVE_DECL_GETCWD 1 + /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #define HAVE_DECL_GETC_UNLOCKED 1 +/* Define to 1 if you have the declaration of `getdelim', and to 0 if you + don't. */ +#define HAVE_DECL_GETDELIM 1 + /* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you don't. */ #define HAVE_DECL_GETDTABLESIZE 1 @@ -506,6 +742,10 @@ don't. */ #define HAVE_DECL_GETHRTIME 0 +/* Define to 1 if you have the declaration of `getline', and to 0 if you + don't. */ +#define HAVE_DECL_GETLINE 1 + /* Define to 1 if you have the declaration of `iswblank', and to 0 if you don't. */ #define HAVE_DECL_ISWBLANK 1 @@ -522,10 +762,18 @@ otherwise. */ #define HAVE_DECL_MBSWIDTH_IN_WCHAR_H 0 +/* Define to 1 if you have the declaration of `memrchr', and to 0 if you + don't. */ +#define HAVE_DECL_MEMRCHR 0 + /* Define to 1 if you have the declaration of `obstack_printf', and to 0 if you don't. */ #define HAVE_DECL_OBSTACK_PRINTF 0 +/* Define to 1 if you have the declaration of `posix_spawn', and to 0 if you + don't. */ +#define HAVE_DECL_POSIX_SPAWN 1 + /* Define to 1 if you have the declaration of `program_invocation_name', and to 0 if you don't. */ #define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 @@ -550,6 +798,10 @@ don't. */ #define HAVE_DECL_SNPRINTF 1 +/* Define to 1 if you have the declaration of `stpncpy', and to 0 if you + don't. */ +#define HAVE_DECL_STPNCPY 1 + /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. */ #define HAVE_DECL_STRDUP 1 @@ -578,6 +830,10 @@ don't. */ #define HAVE_DECL_VSNPRINTF 1 +/* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't. + */ +#define HAVE_DECL_WCSDUP 1 + /* Define to 1 if you have the declaration of `wcwidth', and to 0 if you don't. */ #define HAVE_DECL_WCWIDTH 1 @@ -594,30 +850,64 @@ don't. */ /* #undef HAVE_DECL___FPENDING */ -/* Define to 1 if you have the 'dup2' function. */ -#define HAVE_DUP2 1 +/* Define to 1 if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the `dirfd' function. */ +/* #undef HAVE_DIRFD */ /* Define if you have the declaration of environ. */ /* #undef HAVE_ENVIRON_DECL */ +/* Define to 1 if you have the `faccessat' function. */ +#define HAVE_FACCESSAT 1 + +/* Define to 1 if you have the `fchdir' function. */ +#define HAVE_FCHDIR 1 + /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 +/* Define to 1 if you have the `fdopendir' function. */ +#define HAVE_FDOPENDIR 1 + /* Define to 1 if you have the <features.h> header file. */ /* #undef HAVE_FEATURES_H */ +/* Define to 1 if you have the `ffsl' function. */ +#define HAVE_FFSL 1 + +/* Define to 1 if you have the `flockfile' function. */ +/* #undef HAVE_FLOCKFILE */ + +/* Define if the 'free' function is guaranteed to preserve errno. */ +/* #undef HAVE_FREE_POSIX */ + /* Define if the frexpl function is available in libc. */ #define HAVE_FREXPL_IN_LIBC 1 /* Define if the frexp function is available in libc. */ #define HAVE_FREXP_IN_LIBC 1 +/* Define to 1 if you have the `fstatat' function. */ +#define HAVE_FSTATAT 1 + /* Define to 1 if you have the `fsync' function. */ #define HAVE_FSYNC 1 +/* Define to 1 if you have the `funlockfile' function. */ +/* #undef HAVE_FUNLOCKFILE */ + /* Define to 1 if you have the `getcwd' function. */ #define HAVE_GETCWD 1 +/* 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 `getdelim' function. */ +#define HAVE_GETDELIM 1 + /* Define to 1 if you have the `getdtablesize' function. */ #define HAVE_GETDTABLESIZE 1 @@ -630,6 +920,9 @@ /* Define to 1 if you have the `getopt_long_only' function. */ #define HAVE_GETOPT_LONG_ONLY 1 +/* Define to 1 if the system has the 'getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + /* Define to 1 if you have the `getprogname' function. */ #define HAVE_GETPROGNAME 1 @@ -645,6 +938,14 @@ /* Define if you have the iconv() function and it works. */ /* #undef HAVE_ICONV */ +/* Define to 1 if you have the <iconv.h> header file. */ +#define HAVE_ICONV_H 1 + +/* Define to 1 if the compiler supports one of the keywords 'inline', + '__inline__', '__inline' and effectively inlines functions marked as such. + */ +#define HAVE_INLINE 1 + /* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ #define HAVE_INTMAX_T 1 @@ -665,7 +966,7 @@ /* #undef HAVE_ISNANF_IN_LIBC */ /* Define if the isnan(long double) function is available in libc. */ -/* #undef HAVE_ISNANL_IN_LIBC */ +#define HAVE_ISNANL_IN_LIBC 1 /* Define to 1 if you have the `iswblank' function. */ #define HAVE_ISWBLANK 1 @@ -706,11 +1007,7 @@ /* Define to 1 if you have the <mach-o/dyld.h> header file. */ #define HAVE_MACH_O_DYLD_H 1 -/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and - to 0 otherwise. */ -#define HAVE_MALLOC_GNU 1 - -/* Define if the 'malloc' function is POSIX compliant. */ +/* Define if malloc, realloc, and calloc set errno on allocation failure. */ #define HAVE_MALLOC_POSIX 1 /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including @@ -729,12 +1026,22 @@ /* Define to 1 if <wchar.h> declares mbstate_t. */ #define HAVE_MBSTATE_T 1 -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 +/* 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 you have the `microuptime' function. */ /* #undef HAVE_MICROUPTIME */ +/* Define to 1 if getcwd minimally works, that is, its result can be trusted + when it succeeds. */ +#define HAVE_MINIMALLY_WORKING_GETCWD 1 + +/* Define to 1 if you have the <minix/config.h> header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ + /* Define to 1 if <limits.h> defines the MIN and MAX macros. */ /* #undef HAVE_MINMAX_IN_LIMITS_H */ @@ -760,8 +1067,18 @@ /* Define to 1 if you have the `obstack_printf' function. */ /* #undef HAVE_OBSTACK_PRINTF */ +/* Define to 1 if you have the `openat' function. */ +#define HAVE_OPENAT 1 + +/* Define to 1 if you have the `opendir' function. */ +#define HAVE_OPENDIR 1 + +/* Define to 1 if getcwd works, except it sometimes fails when it shouldn't, + setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */ +#define HAVE_PARTLY_WORKING_GETCWD 1 + /* Define to 1 if you have the <paths.h> header file. */ -/* #undef HAVE_PATHS_H */ +#define HAVE_PATHS_H 1 /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 @@ -775,9 +1092,20 @@ /* Define to 1 if the system has the type `posix_spawnattr_t'. */ #define HAVE_POSIX_SPAWNATTR_T 1 +/* Define to 1 if you have the `posix_spawn_file_actions_addchdir' function. + */ +/* #undef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR */ + +/* Define to 1 if you have the `posix_spawn_file_actions_addchdir_np' + function. */ +#define HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP 1 + /* Define to 1 if the system has the type `posix_spawn_file_actions_t'. */ #define HAVE_POSIX_SPAWN_FILE_ACTIONS_T 1 +/* Define if you have the <pthread.h> header and the POSIX threads API. */ +#define HAVE_PTHREAD_API 1 + /* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */ #define HAVE_PTHREAD_MUTEX_RECURSIVE 1 @@ -794,18 +1122,33 @@ /* Define to 1 if you have the `rawmemchr' function. */ /* #undef HAVE_RAWMEMCHR */ +/* Define to 1 if you have the `readdir' function. */ +#define HAVE_READDIR 1 + +/* Define if you have the readline library. */ +#define HAVE_READLINE 1 + +/* Define to 1 if you have the <readline/history.h> header file. */ +#define HAVE_READLINE_HISTORY_H 1 + +/* Define to 1 if you have the <readline/readline.h> header file. */ +#define HAVE_READLINE_READLINE_H 1 + /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 -/* Define if the 'realloc' function is POSIX compliant. */ -#define HAVE_REALLOC_POSIX 1 +/* Define to 1 if you have the `reallocarray' function. */ +/* #undef HAVE_REALLOCARRAY */ /* Define to 1 if you have the `realpath' function. */ #define HAVE_REALPATH 1 +/* Define to 1 if you have the `rewinddir' function. */ +#define HAVE_REWINDDIR 1 + /* Define to 1 if 'long double' and 'double' have the same representation. */ /* #undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE */ @@ -818,6 +1161,9 @@ /* Define to 1 if you have the `sched_setscheduler' function. */ /* #undef HAVE_SCHED_SETSCHEDULER */ +/* Define to 1 if you have the <sdkddkver.h> header file. */ +/* #undef HAVE_SDKDDKVER_H */ + /* Define to 1 if you have the <search.h> header file. */ #define HAVE_SEARCH_H 1 @@ -825,13 +1171,13 @@ /* #undef HAVE_SETDTABLESIZE */ /* Define to 1 if you have the `setegid' function. */ -/* #undef HAVE_SETEGID */ +#define HAVE_SETEGID 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `seteuid' function. */ -/* #undef HAVE_SETEUID */ +#define HAVE_SETEUID 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 @@ -871,6 +1217,10 @@ buffer had been large enough. */ #define HAVE_SNPRINTF_RETVAL_C99 1 +/* Define if the string produced by the snprintf function is always NUL + terminated. */ +#define HAVE_SNPRINTF_TRUNCATION_C99 1 + /* Define to 1 if you have the <spawn.h> header file. */ #define HAVE_SPAWN_H 1 @@ -884,18 +1234,21 @@ /* Define to 1 if you have the <stdio_ext.h> header file. */ /* #undef HAVE_STDIO_EXT_H */ +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `stpcpy' function. */ #define HAVE_STPCPY 1 +/* Define if you have the stpncpy() function and it works. */ +#define HAVE_STPNCPY 1 + /* Define to 1 if you have the `strchrnul' function. */ /* #undef HAVE_STRCHRNUL */ -/* Define to 1 if you have the `strdup' function. */ -#define HAVE_STRDUP 1 - /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 @@ -953,6 +1306,9 @@ /* Define to 1 if you have the <sys/inttypes.h> header file. */ /* #undef HAVE_SYS_INTTYPES_H */ +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#define HAVE_SYS_IOCTL_H 1 + /* Define to 1 if you have the <sys/mman.h> header file. */ #define HAVE_SYS_MMAN_H 1 @@ -962,6 +1318,9 @@ /* Define to 1 if you have the <sys/resource.h> header file. */ #define HAVE_SYS_RESOURCE_H 1 +/* Define to 1 if you have the <sys/single_threaded.h> header file. */ +/* #undef HAVE_SYS_SINGLE_THREADED_H */ + /* Define to 1 if you have the <sys/socket.h> header file. */ #define HAVE_SYS_SOCKET_H 1 @@ -983,6 +1342,12 @@ /* Define to 1 if you have the `tcdrain' function. */ #define HAVE_TCDRAIN 1 +/* Define to 1 if you have the <termios.h> header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the `thrd_create' function. */ +/* #undef HAVE_THRD_CREATE */ + /* Define to 1 if you have the <threads.h> header file. */ /* #undef HAVE_THREADS_H */ @@ -1013,6 +1378,10 @@ /* Define to 1 if you have the `vfork' function. */ /* #undef HAVE_VFORK */ +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +/* #undef HAVE_VISIBILITY */ + /* Define to 1 if you have the `vsnprintf' function. */ #define HAVE_VSNPRINTF 1 @@ -1040,18 +1409,29 @@ /* Define to 1 if you have the `wcwidth' function. */ #define HAVE_WCWIDTH 1 +/* Define to 1 if the compiler and linker support weak declarations of + symbols. */ +/* #undef HAVE_WEAK_SYMBOLS */ + /* Define to 1 if you have the <winsock2.h> header file. */ /* #undef HAVE_WINSOCK2_H */ /* Define if you have the 'wint_t' type. */ #define HAVE_WINT_T 1 +/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX + 7.1. */ +#define HAVE_WORKING_FSTATAT_ZERO_FLAG 1 + /* Define to 1 if O_NOATIME works. */ #define HAVE_WORKING_O_NOATIME 1 /* Define to 1 if O_NOFOLLOW works. */ #define HAVE_WORKING_O_NOFOLLOW 1 +/* Define to 1 if you have the <xlocale.h> header file. */ +#define HAVE_XLOCALE_H 1 + /* Define to 1 if the system has the type `_Bool'. */ #define HAVE__BOOL 1 @@ -1061,6 +1441,16 @@ /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ /* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */ +/* Define to 1 if the compiler supports __builtin_expect, + and to 2 if <builtins.h> does. */ +#define HAVE___BUILTIN_EXPECT 1 +#ifndef HAVE___BUILTIN_EXPECT +# define __builtin_expect(e, c) (e) +#elif HAVE___BUILTIN_EXPECT == 2 +# include <builtins.h> +#endif + + /* Define to 1 if you have the `__fseterr' function. */ /* #undef HAVE___FSETERR */ @@ -1070,15 +1460,22 @@ /* Define to 1 if you have the `__xpg_strerror_r' function. */ /* #undef HAVE___XPG_STRERROR_R */ +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST + +/* Define to a symbolic name denoting the flavor of iconv_open() + implementation. */ +/* #undef ICONV_FLAVOR */ + /* Define to the value of ${prefix}, as a string. */ #define INSTALLPREFIX "/nonexistent" /* Define as the bit index in the word where to find bit 0 of the exponent of 'long double'. */ -#define LDBL_EXPBIT0_BIT 0 +/* #undef LDBL_EXPBIT0_BIT */ /* Define as the word index where to find the exponent of 'long double'. */ -#define LDBL_EXPBIT0_WORD 2 +/* #undef LDBL_EXPBIT0_WORD */ /* Define as the bit index in the word where to find the sign of 'long double'. */ @@ -1107,6 +1504,10 @@ */ /* #undef MBRTOWC_EMPTY_INPUT_BUG */ +/* Define if the mbrtowc function may signal encoding errors in the C locale. + */ +/* #undef MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ */ + /* Define if the mbrtowc function has the NULL pwc argument bug. */ /* #undef MBRTOWC_NULL_ARG1_BUG */ @@ -1119,12 +1520,19 @@ /* Define if the mbrtowc function returns a wrong return value. */ /* #undef MBRTOWC_RETVAL_BUG */ +/* Define if the mbrtowc function stores a wide character when reporting + incomplete input. */ +/* #undef MBRTOWC_STORES_INCOMPLETE_BUG */ + /* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO # define __USE_MINGW_ANSI_STDIO 1 #endif +/* Define to 1 on musl libc. */ +/* #undef MUSL_LIBC */ + /* Define to 1 if assertions should be disabled. */ /* #undef NDEBUG */ @@ -1142,11 +1550,11 @@ /* Define if the vasnprintf implementation needs special code for 'double' arguments. */ -/* #undef NEED_PRINTF_DOUBLE */ +#define NEED_PRINTF_DOUBLE 1 /* Define if the vasnprintf implementation needs special code for surviving out-of-memory conditions. */ -/* #undef NEED_PRINTF_ENOMEM */ +#define NEED_PRINTF_ENOMEM 1 /* Define if the vasnprintf implementation needs special code for the ' flag. */ @@ -1170,7 +1578,7 @@ /* Define if the vasnprintf implementation needs special code for 'long double' arguments. */ -/* #undef NEED_PRINTF_LONG_DOUBLE */ +#define NEED_PRINTF_LONG_DOUBLE 1 /* Define if the vasnprintf implementation needs special code for supporting large precisions without arbitrary bounds. */ @@ -1186,25 +1594,22 @@ #define PACKAGE_BUGREPORT "bug-bison@gnu.org" /* The copyright year for this package */ -#define PACKAGE_COPYRIGHT_YEAR 2019 +#define PACKAGE_COPYRIGHT_YEAR 2021 /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU Bison" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU Bison 3.5" +#define PACKAGE_STRING "GNU Bison 3.8.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "bison" /* Define to the home page for this package. */ -#define PACKAGE_URL "http://www.gnu.org/software/bison/" +#define PACKAGE_URL "https://www.gnu.org/software/bison/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "3.5" - -/* Define if <inttypes.h> exists and defines unusable PRI* macros. */ -/* #undef PRI_MACROS_BROKEN */ +#define PACKAGE_VERSION "3.8.2" /* Define to the type that is the result of default argument promotions of type mode_t. */ @@ -1220,6 +1625,10 @@ /* Define to 1 if readlink fails to recognize a trailing slash. */ #define READLINK_TRAILING_SLASH_BUG 1 +/* Define to 1 if readlink sets errno instead of truncating a too-long link. + */ +/* #undef READLINK_TRUNCATE_BUG */ + /* Define if rename does not work when the destination file exists, as on Cygwin 1.5 or Windows. */ /* #undef RENAME_DEST_EXISTS_BUG */ @@ -1236,6 +1645,12 @@ such as on Solaris 9 or cygwin 1.5. */ #define RENAME_TRAILING_SLASH_SOURCE_BUG 1 +/* Define to 1 if gnulib's dirfd() replacement is used. */ +/* #undef REPLACE_DIRFD */ + +/* Define to 1 if gnulib's fchdir() replacement is used. */ +/* #undef REPLACE_FCHDIR */ + /* Define if fprintf is overridden by a POSIX compliant gnulib implementation. */ #define REPLACE_FPRINTF_POSIX 1 @@ -1244,8 +1659,12 @@ slash */ #define REPLACE_FUNC_STAT_FILE 1 +/* Define to 1 if open() should work around the inability to open a directory. + */ +/* #undef REPLACE_OPEN_DIRECTORY */ + /* Define if gnulib uses its own posix_spawn and posix_spawnp functions. */ -/* #undef REPLACE_POSIX_SPAWN */ +#define REPLACE_POSIX_SPAWN 1 /* Define if printf is overridden by a POSIX compliant gnulib implementation. */ @@ -1261,9 +1680,17 @@ implementation. */ #define REPLACE_VFPRINTF_POSIX 1 +/* Define to 1 if setlocale (LC_ALL, NULL) is multithread-safe. */ +#define SETLOCALE_NULL_ALL_MTSAFE 0 + +/* Define to 1 if setlocale (category, NULL) is multithread-safe. */ +#define SETLOCALE_NULL_ONE_MTSAFE 1 + /* File name of the Bourne shell. */ -#if defined __CYGWIN__ || defined __ANDROID__ +#if (defined _WIN32 && !defined __CYGWIN__) || defined __CYGWIN__ || defined __ANDROID__ /* Omit the directory part because + - For native Windows programs in a Cygwin environment, the Cygwin mounts + are not visible. - For 32-bit Cygwin programs in a 64-bit Cygwin environment, the Cygwin mounts are not visible. - On Android, /bin/sh does not exist. It's /system/bin/sh instead. */ @@ -1297,7 +1724,9 @@ /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ /* #undef STAT_MACROS_BROKEN */ -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #define STDC_HEADERS 1 /* Define to 1 if strerror_r returns char *. */ @@ -1324,6 +1753,10 @@ /* Define if the POSIX multithreading library can be used. */ #define USE_POSIX_THREADS 1 +/* Define if references to the POSIX multithreading library are satisfied by + libc. */ +/* #undef USE_POSIX_THREADS_FROM_LIBC */ + /* Define if references to the POSIX multithreading library should be made weak. */ /* #undef USE_POSIX_THREADS_WEAK */ @@ -1336,19 +1769,44 @@ #ifndef _DARWIN_C_SOURCE # define _DARWIN_C_SOURCE 1 #endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif -/* Enable NetBSD extensions on NetBSD. */ +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ #ifndef _NETBSD_SOURCE # define _NETBSD_SOURCE 1 #endif -/* Enable OpenBSD extensions on NetBSD. */ +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # define _OPENBSD_SOURCE 1 #endif -/* Enable threading extensions on Solaris. */ +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif @@ -1384,33 +1842,21 @@ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ #ifndef _XOPEN_SOURCE /* # undef _XOPEN_SOURCE */ #endif -/* Enable X/Open compliant socket functions that do not require linking - with -lxnet on HP-UX 11.11. */ -#ifndef _HPUX_ALT_XOPEN_SOCKET_API -# define _HPUX_ALT_XOPEN_SOCKET_API 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif -/* Define to 1 if you want getc etc. to use unlocked I/O if available. - Unlocked I/O can improve performance in unithreaded apps, but it is not - safe for multithreaded apps. */ -#define USE_UNLOCKED_IO 1 +/* An alias of GNULIB_STDIO_SINGLE_THREAD. */ +#define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD /* Define if the native Windows multithreading API can be used. */ /* #undef USE_WINDOWS_THREADS */ /* Version number of package */ -#define VERSION "3.5" +#define VERSION "3.8.2" /* Define to 1 if unsetenv returns void instead of int. */ /* #undef VOID_UNSETENV */ @@ -1445,20 +1891,26 @@ `char[]'. */ #define YYTEXT_POINTER 1 -/* Enable large inode numbers on Mac OS X 10.5. */ -#define _DARWIN_USE_64_BIT_INODE 1 - /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ +/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif + + +/* Define to enable the declarations of ISO C 11 types and functions. */ +/* #undef _ISOC11_SOURCE */ + /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ -#define _NETBSD_SOURCE 1 +/* Define to 1 on Solaris. */ +/* #undef _LCONV_C99 */ /* The _Noreturn keyword of C11. */ #ifndef _Noreturn @@ -1474,10 +1926,14 @@ this syntax with 'extern'. */ # define _Noreturn [[noreturn]] # elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) + && (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__)))))) /* _Noreturn works as-is. */ -# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) @@ -1487,12 +1943,8 @@ #endif -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for 'stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ +/* Number of bits in a timestamp, on hosts where this is settable. */ +/* #undef _TIME_BITS */ /* For standard stat data types on VMS. */ #define _USE_STD_STAT 1 @@ -1501,6 +1953,9 @@ used. */ #define __GETOPT_PREFIX rpl_ +/* For 64-bit time_t on 32-bit mingw. */ +/* #undef __MINGW_USE_VC2005_COMPAT */ + /* Define to 1 if the system <stdint.h> predates C++11. */ /* #undef __STDC_CONSTANT_MACROS */ @@ -1534,6 +1989,368 @@ #define _GL_ASYNC_SAFE +/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# 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) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# 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_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + + +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>. + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif + +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +#define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif + +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#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 + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + + +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + + +/* Define as 'access' if you don't have the eaccess() function. */ +#define eaccess access + /* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see @@ -1543,7 +2360,8 @@ mishandles inline functions that call each other. E.g., for 'inline void f (void) { } inline void g (void) { f (); }', c99 incorrectly complains 'reference to static identifier "f" in extern inline function'. - This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + This bug was observed with Oracle Developer Studio 12.6 + (Sun C 5.15 SunOS_sparc 2017/05/30). Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) on configurations that mistakenly use 'static inline' to implement @@ -1609,8 +2427,8 @@ # define _GL_EXTERN_INLINE extern # define _GL_EXTERN_INLINE_IN_USE #else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED +# define _GL_INLINE _GL_UNUSED static +# define _GL_EXTERN_INLINE _GL_UNUSED static #endif /* In GCC 4.6 (inclusive) to 5.1 (exclusive), @@ -1663,13 +2481,29 @@ /* Define to a type if <wchar.h> does not define. */ /* #undef mbstate_t */ +/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -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. + 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))) + + /* Define to `int' if <sys/types.h> does not define. */ /* #undef mode_t */ /* Define to the type of st_nlink in struct stat, or a supertype. */ /* #undef nlink_t */ -/* Define to `int' if <sys/types.h> does not define. */ +/* Define as a signed integer type capable of holding a process identifier. */ /* #undef pid_t */ /* Define as the type of the result of subtracting two pointers, if the system @@ -1678,14 +2512,15 @@ /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is - supported directly. */ -#define restrict __restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT + supported only directly. */ +#define restrict __restrict__ +/* Work around a bug in older versions of Sun C++, which did not + #define __restrict__ or support _Restrict or __restrict__ + even though the corresponding Sun C compiler ended up with + "#define restrict _Restrict" or "#define restrict __restrict__" + in the previous line. This workaround can be removed once + we assume Oracle Developer Studio 12.5 (2016) or later. */ +#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ # define _Restrict # define __restrict__ #endif @@ -1703,46 +2538,18 @@ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef uid_t */ -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif - -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST /* empty */ -#endif - -/* The __malloc__ attribute was added in gcc 3. */ -#if 3 <= __GNUC__ -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC /* empty */ -#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 + |