1/* config.h.in. Generated from configure.ac by autoheader. */ 2 3/* Define to 1 if using 'alloca.c'. */ 4#undef C_ALLOCA 5 6/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that 7 may be supplied by this distribution. */ 8#undef HAVE_ALLOCA 9 10/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). 11 */ 12#undef HAVE_ALLOCA_H 13 14/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you 15 don't. */ 16#undef HAVE_DECL__SNPRINTF 17 18/* Define to 1 if you have the <dlfcn.h> header file. */ 19#undef HAVE_DLFCN_H 20 21/* Define to 1 if you have the <features.h> header file. */ 22#undef HAVE_FEATURES_H 23 24/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ 25#undef HAVE_INTMAX_T 26 27/* Define to 1 if you have the <inttypes.h> header file. */ 28#undef HAVE_INTTYPES_H 29 30/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and 31 declares uintmax_t. */ 32#undef HAVE_INTTYPES_H_WITH_UINTMAX 33 34/* Define to 1 if the system has the type `long long int'. */ 35#undef HAVE_LONG_LONG_INT 36 37/* Define to 1 if you have the `mbrtowc' function. */ 38#undef HAVE_MBRTOWC 39 40/* Define to 1 if <wchar.h> declares mbstate_t. */ 41#undef HAVE_MBSTATE_T 42 43/* Define to 1 if you have the <memory.h> header file. */ 44#undef HAVE_MEMORY_H 45 46/* Define if your printf() function supports format strings with positions. */ 47#undef HAVE_POSIX_PRINTF 48 49/* Define to 1 if you have the `snprintf' function. */ 50#undef HAVE_SNPRINTF 51 52/* Define to 1 if you have the <stdint.h> header file. */ 53#undef HAVE_STDINT_H 54 55/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares 56 uintmax_t. */ 57#undef HAVE_STDINT_H_WITH_UINTMAX 58 59/* Define to 1 if you have the <stdlib.h> header file. */ 60#undef HAVE_STDLIB_H 61 62/* Define to 1 if you have the <strings.h> header file. */ 63#undef HAVE_STRINGS_H 64 65/* Define to 1 if you have the <string.h> header file. */ 66#undef HAVE_STRING_H 67 68/* Define to 1 if you have the `strnlen' function. */ 69#undef HAVE_STRNLEN 70 71/* Define to 1 if you have the <sys/stat.h> header file. */ 72#undef HAVE_SYS_STAT_H 73 74/* Define to 1 if you have the <sys/types.h> header file. */ 75#undef HAVE_SYS_TYPES_H 76 77/* Define to 1 if you have the <unistd.h> header file. */ 78#undef HAVE_UNISTD_H 79 80/* Define to 1 if the system has the type `unsigned long long int'. */ 81#undef HAVE_UNSIGNED_LONG_LONG_INT 82 83/* Define to 1 if you have the `vasprintf' function. */ 84#undef HAVE_VASPRINTF 85 86/* Define if you have the 'wchar_t' type. */ 87#undef HAVE_WCHAR_T 88 89/* Define to 1 if you have the `wcrtomb' function. */ 90#undef HAVE_WCRTOMB 91 92/* Define to 1 if you have the `wcslen' function. */ 93#undef HAVE_WCSLEN 94 95/* Define to 1 if you have the `wcsnlen' function. */ 96#undef HAVE_WCSNLEN 97 98/* Define if you have the 'wint_t' type. */ 99#undef HAVE_WINT_T 100 101/* Define to the sub-directory where libtool stores uninstalled libraries. */ 102#undef LT_OBJDIR 103 104/* Name of package */ 105#undef PACKAGE 106 107/* Define to the address where bug reports for this package should be sent. */ 108#undef PACKAGE_BUGREPORT 109 110/* Define to the full name of this package. */ 111#undef PACKAGE_NAME 112 113/* Define to the full name and version of this package. */ 114#undef PACKAGE_STRING 115 116/* Define to the one symbol short name of this package. */ 117#undef PACKAGE_TARNAME 118 119/* Define to the home page for this package. */ 120#undef PACKAGE_URL 121 122/* Define to the version of this package. */ 123#undef PACKAGE_VERSION 124 125/* Define as the maximum value of type 'size_t', if the system doesn't define 126 it. */ 127#ifndef SIZE_MAX 128# undef SIZE_MAX 129#endif 130 131/* If using the C implementation of alloca, define if you know the 132 direction of stack growth for your system; otherwise it will be 133 automatically deduced at runtime. 134 STACK_DIRECTION > 0 => grows toward higher addresses 135 STACK_DIRECTION < 0 => grows toward lower addresses 136 STACK_DIRECTION = 0 => direction of growth unknown */ 137#undef STACK_DIRECTION 138 139/* Define to 1 if you have the ANSI C header files. */ 140#undef STDC_HEADERS 141 142/* Version number of package */ 143#undef VERSION 144 145/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ 146#if defined __GNUC__ && defined __GNUC_MINOR__ 147# define _GL_GNUC_PREREQ(major, minor) \ 148 ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) 149#else 150# define _GL_GNUC_PREREQ(major, minor) 0 151#endif 152 153 154/* The _Noreturn keyword of C11. */ 155#ifndef _Noreturn 156# if (defined __cplusplus \ 157 && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ 158 || (defined _MSC_VER && 1900 <= _MSC_VER)) \ 159 && 0) 160 /* [[noreturn]] is not practically usable, because with it the syntax 161 extern _Noreturn void func (...); 162 would not be valid; such a declaration would only be valid with 'extern' 163 and '_Noreturn' swapped, or without the 'extern' keyword. However, some 164 AIX system header files and several gnulib header files use precisely 165 this syntax with 'extern'. */ 166# define _Noreturn [[noreturn]] 167# elif ((!defined __cplusplus || defined __clang__) \ 168 && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ 169 || _GL_GNUC_PREREQ (4, 7) \ 170 || (defined __apple_build_version__ \ 171 ? 6000000 <= __apple_build_version__ \ 172 : 3 < __clang_major__ + (5 <= __clang_minor__)))) 173 /* _Noreturn works as-is. */ 174# elif _GL_GNUC_PREREQ (2, 8) || 0x5110 <= __SUNPRO_C 175# define _Noreturn __attribute__ ((__noreturn__)) 176# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) 177# define _Noreturn __declspec (noreturn) 178# else 179# define _Noreturn 180# endif 181#endif 182 183 184/* The _GL_ASYNC_SAFE marker should be attached to functions that are 185 signal handlers (for signals other than SIGABRT, SIGPIPE) or can be 186 invoked from such signal handlers. Such functions have some restrictions: 187 * All functions that it calls should be marked _GL_ASYNC_SAFE as well, 188 or should be listed as async-signal-safe in POSIX 189 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> 190 section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in 191 particular, are NOT async-signal-safe. 192 * All memory locations (variables and struct fields) that these functions 193 access must be marked 'volatile'. This holds for both read and write 194 accesses. Otherwise the compiler might optimize away stores to and 195 reads from such locations that occur in the program, depending on its 196 data flow analysis. For example, when the program contains a loop 197 that is intended to inspect a variable set from within a signal handler 198 while (!signal_occurred) 199 ; 200 the compiler is allowed to transform this into an endless loop if the 201 variable 'signal_occurred' is not declared 'volatile'. 202 Additionally, recall that: 203 * A signal handler should not modify errno (except if it is a handler 204 for a fatal signal and ends by raising the same signal again, thus 205 provoking the termination of the process). If it invokes a function 206 that may clobber errno, it needs to save and restore the value of 207 errno. */ 208#define _GL_ASYNC_SAFE 209 210 211/* Attributes. */ 212#ifdef __has_attribute 213# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) 214#else 215# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr 216# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) 217# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) 218# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) 219# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) 220# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) 221# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) 222# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) 223# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) 224# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) 225# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) 226# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) 227# ifdef _ICC 228# define _GL_ATTR_may_alias 0 229# else 230# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) 231# endif 232# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) 233# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) 234# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) 235# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) 236# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) 237# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) 238# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) 239# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) 240# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) 241# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) 242# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) 243#endif 244 245 246#if _GL_HAS_ATTRIBUTE (alloc_size) 247# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) 248#else 249# define _GL_ATTRIBUTE_ALLOC_SIZE(args) 250#endif 251 252#if _GL_HAS_ATTRIBUTE (always_inline) 253# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) 254#else 255# define _GL_ATTRIBUTE_ALWAYS_INLINE 256#endif 257 258#if _GL_HAS_ATTRIBUTE (artificial) 259# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) 260#else 261# define _GL_ATTRIBUTE_ARTIFICIAL 262#endif 263 264/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at 265 <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>. */ 266#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ 267# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) 268#else 269# define _GL_ATTRIBUTE_COLD 270#endif 271 272#if _GL_HAS_ATTRIBUTE (const) 273# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) 274#else 275# define _GL_ATTRIBUTE_CONST 276#endif 277 278#if 201710L < __STDC_VERSION__ 279# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] 280#elif _GL_HAS_ATTRIBUTE (deprecated) 281# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) 282#else 283# define _GL_ATTRIBUTE_DEPRECATED 284#endif 285 286#if _GL_HAS_ATTRIBUTE (error) 287# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) 288# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) 289#else 290# define _GL_ATTRIBUTE_ERROR(msg) 291# define _GL_ATTRIBUTE_WARNING(msg) 292#endif 293 294#if _GL_HAS_ATTRIBUTE (externally_visible) 295# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) 296#else 297# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE 298#endif 299 300/* FALLTHROUGH is special, because it always expands to something. */ 301#if 201710L < __STDC_VERSION__ 302# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] 303#elif _GL_HAS_ATTRIBUTE (fallthrough) 304# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) 305#else 306# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) 307#endif 308 309#if _GL_HAS_ATTRIBUTE (format) 310# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) 311#else 312# define _GL_ATTRIBUTE_FORMAT(spec) 313#endif 314 315#if _GL_HAS_ATTRIBUTE (leaf) 316# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) 317#else 318# define _GL_ATTRIBUTE_LEAF 319#endif 320 321#if _GL_HAS_ATTRIBUTE (may_alias) 322# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) 323#else 324# define _GL_ATTRIBUTE_MAY_ALIAS 325#endif 326 327#if 201710L < __STDC_VERSION__ 328# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] 329#elif _GL_HAS_ATTRIBUTE (unused) 330# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) 331#else 332# define _GL_ATTRIBUTE_MAYBE_UNUSED 333#endif 334/* Earlier spellings of this macro. */ 335#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED 336#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED 337 338#if _GL_HAS_ATTRIBUTE (malloc) 339# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) 340#else 341# define _GL_ATTRIBUTE_MALLOC 342#endif 343 344#if 201710L < __STDC_VERSION__ 345# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] 346#elif _GL_HAS_ATTRIBUTE (warn_unused_result) 347# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) 348#else 349# define _GL_ATTRIBUTE_NODISCARD 350#endif 351 352#if _GL_HAS_ATTRIBUTE (noinline) 353# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) 354#else 355# define _GL_ATTRIBUTE_NOINLINE 356#endif 357 358#if _GL_HAS_ATTRIBUTE (nonnull) 359# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) 360#else 361# define _GL_ATTRIBUTE_NONNULL(args) 362#endif 363 364#if _GL_HAS_ATTRIBUTE (nonstring) 365# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) 366#else 367# define _GL_ATTRIBUTE_NONSTRING 368#endif 369 370/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ 371 372#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus 373# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) 374#else 375# define _GL_ATTRIBUTE_NOTHROW 376#endif 377 378#if _GL_HAS_ATTRIBUTE (packed) 379# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) 380#else 381# define _GL_ATTRIBUTE_PACKED 382#endif 383 384#if _GL_HAS_ATTRIBUTE (pure) 385# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) 386#else 387# define _GL_ATTRIBUTE_PURE 388#endif 389 390#if _GL_HAS_ATTRIBUTE (returns_nonnull) 391# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) 392#else 393# define _GL_ATTRIBUTE_RETURNS_NONNULL 394#endif 395 396#if _GL_HAS_ATTRIBUTE (sentinel) 397# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) 398#else 399# define _GL_ATTRIBUTE_SENTINEL(pos) 400#endif 401 402 403/* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'. */ 404#if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5) 405# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED 406#else 407# define _GL_UNUSED_LABEL 408#endif 409 410 411/* Please see the Gnulib manual for how to use these macros. 412 413 Suppress extern inline with HP-UX cc, as it appears to be broken; see 414 <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>. 415 416 Suppress extern inline with Sun C in standards-conformance mode, as it 417 mishandles inline functions that call each other. E.g., for 'inline void f 418 (void) { } inline void g (void) { f (); }', c99 incorrectly complains 419 'reference to static identifier "f" in extern inline function'. 420 This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. 421 422 Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) 423 on configurations that mistakenly use 'static inline' to implement 424 functions or macros in standard C headers like <ctype.h>. For example, 425 if isdigit is mistakenly implemented via a static inline function, 426 a program containing an extern inline function that calls isdigit 427 may not work since the C standard prohibits extern inline functions 428 from calling static functions (ISO C 99 section 6.7.4.(3). 429 This bug is known to occur on: 430 431 OS X 10.8 and earlier; see: 432 https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html 433 434 DragonFly; see 435 http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log 436 437 FreeBSD; see: 438 https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html 439 440 OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and 441 for clang but remains for g++; see <https://trac.macports.org/ticket/41033>. 442 Assume DragonFly and FreeBSD will be similar. 443 444 GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 445 inline semantics, unless -fgnu89-inline is used. It defines a macro 446 __GNUC_STDC_INLINE__ to indicate this situation or a macro 447 __GNUC_GNU_INLINE__ to indicate the opposite situation. 448 GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline 449 semantics but warns, unless -fgnu89-inline is used: 450 warning: C99 inline functions are not supported; using GNU89 451 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute 452 It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. 453 */ 454#if (((defined __APPLE__ && defined __MACH__) \ 455 || defined __DragonFly__ || defined __FreeBSD__) \ 456 && (defined __header_inline \ 457 ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ 458 && ! defined __clang__) \ 459 : ((! defined _DONT_USE_CTYPE_INLINE_ \ 460 && (defined __GNUC__ || defined __cplusplus)) \ 461 || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ 462 && defined __GNUC__ && ! defined __cplusplus)))) 463# define _GL_EXTERN_INLINE_STDHEADER_BUG 464#endif 465#if ((__GNUC__ \ 466 ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ 467 : (199901L <= __STDC_VERSION__ \ 468 && !defined __HP_cc \ 469 && !defined __PGI \ 470 && !(defined __SUNPRO_C && __STDC__))) \ 471 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) 472# define _GL_INLINE inline 473# define _GL_EXTERN_INLINE extern inline 474# define _GL_EXTERN_INLINE_IN_USE 475#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ 476 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) 477# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ 478 /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ 479# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) 480# else 481# define _GL_INLINE extern inline 482# endif 483# define _GL_EXTERN_INLINE extern 484# define _GL_EXTERN_INLINE_IN_USE 485#else 486# define _GL_INLINE static _GL_UNUSED 487# define _GL_EXTERN_INLINE static _GL_UNUSED 488#endif 489 490/* In GCC 4.6 (inclusive) to 5.1 (exclusive), 491 suppress bogus "no previous prototype for 'FOO'" 492 and "no previous declaration for 'FOO'" diagnostics, 493 when FOO is an inline function in the header; see 494 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and 495 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */ 496#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ 497# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ 498# define _GL_INLINE_HEADER_CONST_PRAGMA 499# else 500# define _GL_INLINE_HEADER_CONST_PRAGMA \ 501 _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") 502# endif 503# define _GL_INLINE_HEADER_BEGIN \ 504 _Pragma ("GCC diagnostic push") \ 505 _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ 506 _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ 507 _GL_INLINE_HEADER_CONST_PRAGMA 508# define _GL_INLINE_HEADER_END \ 509 _Pragma ("GCC diagnostic pop") 510#else 511# define _GL_INLINE_HEADER_BEGIN 512# define _GL_INLINE_HEADER_END 513#endif 514 515/* Define to `__inline__' or `__inline' if that's what the C compiler 516 calls it, or to nothing if 'inline' is not supported under any name. */ 517#ifndef __cplusplus 518#undef inline 519#endif 520 521/* Define to long or long long if <inttypes.h> and <stdint.h> don't define. */ 522#undef intmax_t 523 524/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports 525 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of 526 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. 527 __APPLE__ && __MACH__ test for Mac OS X. 528 __APPLE_CC__ tests for the Apple compiler and its version. 529 __STDC_VERSION__ tests for the C99 mode. */ 530#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ 531# define __GNUC_STDC_INLINE__ 1 532#endif 533 534/* Define to a type if <wchar.h> does not define. */ 535#undef mbstate_t 536 537/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2. 538 It returns 539 1 if n1 > n2 540 0 if n1 == n2 541 -1 if n1 < n2 542 The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional 543 jump with nearly all GCC versions up to GCC 10. 544 This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many 545 GCC versions up to GCC 9. 546 The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 547 avoids conditional jumps in all GCC versions >= 3.4. */ 548#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) 549 550 551/* Define as the type of the result of subtracting two pointers, if the system 552 doesn't define it. */ 553#undef ptrdiff_t 554 555/* Define to `unsigned int' if <sys/types.h> does not define. */ 556#undef size_t 557