1/* lib/config.h.in. Generated from configure.ac by autoheader. */ 2 3/* Define if building universal (internal helper macro) */ 4#undef AC_APPLE_UNIVERSAL_BUILD 5 6/* Define to the number of bits in type 'ptrdiff_t'. */ 7#undef BITSIZEOF_PTRDIFF_T 8 9/* Define to the number of bits in type 'sig_atomic_t'. */ 10#undef BITSIZEOF_SIG_ATOMIC_T 11 12/* Define to the number of bits in type 'size_t'. */ 13#undef BITSIZEOF_SIZE_T 14 15/* Define to the number of bits in type 'wchar_t'. */ 16#undef BITSIZEOF_WCHAR_T 17 18/* Define to the number of bits in type 'wint_t'. */ 19#undef BITSIZEOF_WINT_T 20 21/* Define if you wish *printf() functions that have a safe handling of 22 non-IEEE-754 'long double' values. */ 23#undef CHECK_PRINTF_SAFE 24 25/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 26 systems. This function is required for `alloca.c' support on those systems. 27 */ 28#undef CRAY_STACKSEG_END 29 30/* Define to 1 if using `alloca.c'. */ 31#undef C_ALLOCA 32 33/* Define as the bit index in the word where to find bit 0 of the exponent of 34 'double'. */ 35#undef DBL_EXPBIT0_BIT 36 37/* Define as the word index where to find the exponent of 'double'. */ 38#undef DBL_EXPBIT0_WORD 39 40/* Define as the bit index in the word where to find the sign of 'double'. */ 41#undef DBL_SIGNBIT_BIT 42 43/* Define as the word index where to find the sign of 'double'. */ 44#undef DBL_SIGNBIT_WORD 45 46/* Define to enable tracing */ 47#undef ENABLE_TRACING 48 49/* Define as the bit index in the word where to find bit 0 of the exponent of 50 'float'. */ 51#undef FLT_EXPBIT0_BIT 52 53/* Define as the word index where to find the exponent of 'float'. */ 54#undef FLT_EXPBIT0_WORD 55 56/* Define as the bit index in the word where to find the sign of 'float'. */ 57#undef FLT_SIGNBIT_BIT 58 59/* Define as the word index where to find the sign of 'float'. */ 60#undef FLT_SIGNBIT_WORD 61 62/* Define to 1 if futimesat mishandles a NULL file name. */ 63#undef FUTIMESAT_NULL_BUG 64 65/* Define if gettimeofday clobbers the localtime buffer. */ 66#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME 67 68/* Define this to 'void' or 'struct timezone' to match the system's 69 declaration of the second argument to gettimeofday. */ 70#undef GETTIMEOFDAY_TIMEZONE 71 72/* Define to a C preprocessor expression that evaluates to 1 or 0, depending 73 whether the gnulib module fscanf shall be considered present. */ 74#undef GNULIB_FSCANF 75 76/* Define to a C preprocessor expression that evaluates to 1 or 0, depending 77 whether the gnulib module malloc-gnu shall be considered present. */ 78#undef GNULIB_MALLOC_GNU 79 80/* Define to a C preprocessor expression that evaluates to 1 or 0, depending 81 whether the gnulib module pthread shall be considered present. */ 82#undef GNULIB_PTHREAD 83 84/* Define to a C preprocessor expression that evaluates to 1 or 0, depending 85 whether the gnulib module scanf shall be considered present. */ 86#undef GNULIB_SCANF 87 88/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that 89 may be supplied by this distribution. */ 90#undef HAVE_ALLOCA 91 92/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). 93 */ 94#undef HAVE_ALLOCA_H 95 96/* Define to 1 if you have the <bp-sym.h> header file. */ 97#undef HAVE_BP_SYM_H 98 99/* Define to 1 if you have the `clock_gettime' function. */ 100#undef HAVE_CLOCK_GETTIME 101 102/* Define to 1 if you have the `clock_settime' function. */ 103#undef HAVE_CLOCK_SETTIME 104 105/* Define if the copysignf function is declared in <math.h> and available in 106 libc. */ 107#undef HAVE_COPYSIGNF_IN_LIBC 108 109/* Define if the copysignl function is declared in <math.h> and available in 110 libc. */ 111#undef HAVE_COPYSIGNL_IN_LIBC 112 113/* Define if the copysign function is declared in <math.h> and available in 114 libc. */ 115#undef HAVE_COPYSIGN_IN_LIBC 116 117/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. 118 */ 119#undef HAVE_DECL_ALARM 120 121/* Define to 1 if you have the declaration of `copysign', and to 0 if you 122 don't. */ 123#undef HAVE_DECL_COPYSIGN 124 125/* Define to 1 if you have the declaration of `copysignf', and to 0 if you 126 don't. */ 127#undef HAVE_DECL_COPYSIGNF 128 129/* Define to 1 if you have the declaration of `copysignl', and to 0 if you 130 don't. */ 131#undef HAVE_DECL_COPYSIGNL 132 133/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you 134 don't. */ 135#undef HAVE_DECL__SNPRINTF 136 137/* Define to 1 if you have the <features.h> header file. */ 138#undef HAVE_FEATURES_H 139 140/* Define if the frexpl function is available in libc. */ 141#undef HAVE_FREXPL_IN_LIBC 142 143/* Define if the frexp function is available in libc. */ 144#undef HAVE_FREXP_IN_LIBC 145 146/* Define to 1 if you have the `futimens' function. */ 147#undef HAVE_FUTIMENS 148 149/* Define to 1 if you have the `futimes' function. */ 150#undef HAVE_FUTIMES 151 152/* Define to 1 if you have the `futimesat' function. */ 153#undef HAVE_FUTIMESAT 154 155/* Define to 1 if you have the `gettimeofday' function. */ 156#undef HAVE_GETTIMEOFDAY 157 158/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ 159#undef HAVE_INTMAX_T 160 161/* Define to 1 if you have the <inttypes.h> header file. */ 162#undef HAVE_INTTYPES_H 163 164/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and 165 declares uintmax_t. */ 166#undef HAVE_INTTYPES_H_WITH_UINTMAX 167 168/* Define if the isnan(double) function is available in libc. */ 169#undef HAVE_ISNAND_IN_LIBC 170 171/* Define if the isnan(float) function is available in libc. */ 172#undef HAVE_ISNANF_IN_LIBC 173 174/* Define if the isnan(long double) function is available in libc. */ 175#undef HAVE_ISNANL_IN_LIBC 176 177/* Define if the ldexpl function is available in libc. */ 178#undef HAVE_LDEXPL_IN_LIBC 179 180/* Define if the ldexp function is available in libc. */ 181#undef HAVE_LDEXP_IN_LIBC 182 183/* Define to 1 if the system has the type 'long long int'. */ 184#undef HAVE_LONG_LONG_INT 185 186/* Define to 1 if you have the `lstat' function. */ 187#undef HAVE_LSTAT 188 189/* Define to 1 if you have the `lutimes' function. */ 190#undef HAVE_LUTIMES 191 192/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and 193 to 0 otherwise. */ 194#undef HAVE_MALLOC_GNU 195 196/* Define if the 'malloc' function is POSIX compliant. */ 197#undef HAVE_MALLOC_POSIX 198 199/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including 200 config.h and <sys/mman.h>. */ 201#undef HAVE_MAP_ANONYMOUS 202 203/* Define to 1 if you have the <math.h> header file. */ 204#undef HAVE_MATH_H 205 206/* Define to 1 if you have the `mbrtowc' function. */ 207#undef HAVE_MBRTOWC 208 209/* Define to 1 if you have the <memory.h> header file. */ 210#undef HAVE_MEMORY_H 211 212/* Define to 1 if you have the `mprotect' function. */ 213#undef HAVE_MPROTECT 214 215/* Define to 1 on MSVC platforms that have the "invalid parameter handler" 216 concept. */ 217#undef HAVE_MSVC_INVALID_PARAMETER_HANDLER 218 219/* Define to 1 if you have the `nanotime' function. */ 220#undef HAVE_NANOTIME 221 222/* Define to 1 if you have the `nl_langinfo' function. */ 223#undef HAVE_NL_LANGINFO 224 225/* Define to 1 if you have the <pthread.h> header file. */ 226#undef HAVE_PTHREAD_H 227 228/* Define to 1 if the system has the type `pthread_spinlock_t'. */ 229#undef HAVE_PTHREAD_SPINLOCK_T 230 231/* Define to 1 if the system has the type `pthread_t'. */ 232#undef HAVE_PTHREAD_T 233 234/* Define to 1 if 'long double' and 'double' have the same representation. */ 235#undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE 236 237/* Define to 1 if you have the <sched.h> header file. */ 238#undef HAVE_SCHED_H 239 240/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ 241#undef HAVE_SIGNED_SIG_ATOMIC_T 242 243/* Define to 1 if 'wchar_t' is a signed integer type. */ 244#undef HAVE_SIGNED_WCHAR_T 245 246/* Define to 1 if 'wint_t' is a signed integer type. */ 247#undef HAVE_SIGNED_WINT_T 248 249/* Define to 1 if you have the `snprintf' function. */ 250#undef HAVE_SNPRINTF 251 252/* Define if the return value of the snprintf function is the number of of 253 bytes (excluding the terminating NUL) that would have been produced if the 254 buffer had been large enough. */ 255#undef HAVE_SNPRINTF_RETVAL_C99 256 257/* Define to 1 if you have the <stdint.h> header file. */ 258#undef HAVE_STDINT_H 259 260/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares 261 uintmax_t. */ 262#undef HAVE_STDINT_H_WITH_UINTMAX 263 264/* Define to 1 if you have the <stdlib.h> header file. */ 265#undef HAVE_STDLIB_H 266 267/* Define to 1 if you have the <strings.h> header file. */ 268#undef HAVE_STRINGS_H 269 270/* Define to 1 if you have the <string.h> header file. */ 271#undef HAVE_STRING_H 272 273/* Define to 1 if you have the `strnlen' function. */ 274#undef HAVE_STRNLEN 275 276/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ 277#undef HAVE_STRUCT_STAT_ST_ATIMENSEC 278 279/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ 280#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 281 282/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ 283#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 284 285/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ 286#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 287 288/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ 289#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 290 291/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ 292#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 293 294/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ 295#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 296 297/* Define if struct utimbuf is declared -- usually in <utime.h>. Some systems 298 have utime.h but don't declare the struct anywhere. */ 299#undef HAVE_STRUCT_UTIMBUF 300 301/* Define to 1 if you have the `symlink' function. */ 302#undef HAVE_SYMLINK 303 304/* Define to 1 if you have the <sys/bitypes.h> header file. */ 305#undef HAVE_SYS_BITYPES_H 306 307/* Define to 1 if you have the <sys/inttypes.h> header file. */ 308#undef HAVE_SYS_INTTYPES_H 309 310/* Define to 1 if you have the <sys/mman.h> header file. */ 311#undef HAVE_SYS_MMAN_H 312 313/* Define to 1 if you have the <sys/param.h> header file. */ 314#undef HAVE_SYS_PARAM_H 315 316/* Define to 1 if you have the <sys/socket.h> header file. */ 317#undef HAVE_SYS_SOCKET_H 318 319/* Define to 1 if you have the <sys/stat.h> header file. */ 320#undef HAVE_SYS_STAT_H 321 322/* Define to 1 if you have the <sys/timeb.h> header file. */ 323#undef HAVE_SYS_TIMEB_H 324 325/* Define to 1 if you have the <sys/time.h> header file. */ 326#undef HAVE_SYS_TIME_H 327 328/* Define to 1 if you have the <sys/types.h> header file. */ 329#undef HAVE_SYS_TYPES_H 330 331/* Define to 1 if you have the <unistd.h> header file. */ 332#undef HAVE_UNISTD_H 333 334/* Define to 1 if the system has the type 'unsigned long long int'. */ 335#undef HAVE_UNSIGNED_LONG_LONG_INT 336 337/* Define to 1 if you have the `utimensat' function. */ 338#undef HAVE_UTIMENSAT 339 340/* Define to 1 if you have the <utime.h> header file. */ 341#undef HAVE_UTIME_H 342 343/* Define to 1 if you have the `vasnprintf' function. */ 344#undef HAVE_VASNPRINTF 345 346/* Define to 1 if you have the <wchar.h> header file. */ 347#undef HAVE_WCHAR_H 348 349/* Define if you have the 'wchar_t' type. */ 350#undef HAVE_WCHAR_T 351 352/* Define to 1 if you have the `wcrtomb' function. */ 353#undef HAVE_WCRTOMB 354 355/* Define to 1 if you have the `wcslen' function. */ 356#undef HAVE_WCSLEN 357 358/* Define to 1 if you have the `wcsnlen' function. */ 359#undef HAVE_WCSNLEN 360 361/* Define to 1 if you have the <winsock2.h> header file. */ 362#undef HAVE_WINSOCK2_H 363 364/* Define if you have the 'wint_t' type. */ 365#undef HAVE_WINT_T 366 367/* Define to 1 if O_NOATIME works. */ 368#undef HAVE_WORKING_O_NOATIME 369 370/* Define to 1 if O_NOFOLLOW works. */ 371#undef HAVE_WORKING_O_NOFOLLOW 372 373/* Define if utimes works properly. */ 374#undef HAVE_WORKING_UTIMES 375 376/* Define to 1 if the system has the type `_Bool'. */ 377#undef HAVE__BOOL 378 379/* Define to 1 if you have the `_ftime' function. */ 380#undef HAVE__FTIME 381 382/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ 383#undef HAVE__SET_INVALID_PARAMETER_HANDLER 384 385/* Define to 1 if you have the `__fseterr' function. */ 386#undef HAVE___FSETERR 387 388/* Define as the bit index in the word where to find bit 0 of the exponent of 389 'long double'. */ 390#undef LDBL_EXPBIT0_BIT 391 392/* Define as the word index where to find the exponent of 'long double'. */ 393#undef LDBL_EXPBIT0_WORD 394 395/* Define as the bit index in the word where to find the sign of 'long 396 double'. */ 397#undef LDBL_SIGNBIT_BIT 398 399/* Define as the word index where to find the sign of 'long double'. */ 400#undef LDBL_SIGNBIT_WORD 401 402/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing 403 slash. */ 404#undef LSTAT_FOLLOWS_SLASHED_SYMLINK 405 406/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ 407#undef MAP_ANONYMOUS 408 409/* Define if the vasnprintf implementation needs special code for the 'a' and 410 'A' directives. */ 411#undef NEED_PRINTF_DIRECTIVE_A 412 413/* Define if the vasnprintf implementation needs special code for the 'F' 414 directive. */ 415#undef NEED_PRINTF_DIRECTIVE_F 416 417/* Define if the vasnprintf implementation needs special code for the 'ls' 418 directive. */ 419#undef NEED_PRINTF_DIRECTIVE_LS 420 421/* Define if the vasnprintf implementation needs special code for 'double' 422 arguments. */ 423#undef NEED_PRINTF_DOUBLE 424 425/* Define if the vasnprintf implementation needs special code for surviving 426 out-of-memory conditions. */ 427#undef NEED_PRINTF_ENOMEM 428 429/* Define if the vasnprintf implementation needs special code for the ' flag. 430 */ 431#undef NEED_PRINTF_FLAG_GROUPING 432 433/* Define if the vasnprintf implementation needs special code for the '-' 434 flag. */ 435#undef NEED_PRINTF_FLAG_LEFTADJUST 436 437/* Define if the vasnprintf implementation needs special code for the 0 flag. 438 */ 439#undef NEED_PRINTF_FLAG_ZERO 440 441/* Define if the vasnprintf implementation needs special code for infinite 442 'double' arguments. */ 443#undef NEED_PRINTF_INFINITE_DOUBLE 444 445/* Define if the vasnprintf implementation needs special code for infinite 446 'long double' arguments. */ 447#undef NEED_PRINTF_INFINITE_LONG_DOUBLE 448 449/* Define if the vasnprintf implementation needs special code for 'long 450 double' arguments. */ 451#undef NEED_PRINTF_LONG_DOUBLE 452 453/* Define if the vasnprintf implementation needs special code for supporting 454 large precisions without arbitrary bounds. */ 455#undef NEED_PRINTF_UNBOUNDED_PRECISION 456 457/* Name of package */ 458#undef PACKAGE 459 460/* Define to the address where bug reports for this package should be sent. */ 461#undef PACKAGE_BUGREPORT 462 463/* Define to the full name of this package. */ 464#undef PACKAGE_NAME 465 466/* Define to the full name and version of this package. */ 467#undef PACKAGE_STRING 468 469/* Define to the one symbol short name of this package. */ 470#undef PACKAGE_TARNAME 471 472/* Define to the home page for this package. */ 473#undef PACKAGE_URL 474 475/* Define to the version of this package. */ 476#undef PACKAGE_VERSION 477 478/* Define if <inttypes.h> exists and defines unusable PRI* macros. */ 479#undef PRI_MACROS_BROKEN 480 481/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 482 'ptrdiff_t'. */ 483#undef PTRDIFF_T_SUFFIX 484 485/* Define if fprintf is overridden by a POSIX compliant gnulib implementation. 486 */ 487#undef REPLACE_FPRINTF_POSIX 488 489/* Define to 1 if stat needs help when passed a directory name with a trailing 490 slash */ 491#undef REPLACE_FUNC_STAT_DIR 492 493/* Define to 1 if stat needs help when passed a file name with a trailing 494 slash */ 495#undef REPLACE_FUNC_STAT_FILE 496 497/* Define if vasnprintf exists but is overridden by gnulib. */ 498#undef REPLACE_VASNPRINTF 499 500/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 501 'sig_atomic_t'. */ 502#undef SIG_ATOMIC_T_SUFFIX 503 504/* Define as the maximum value of type 'size_t', if the system doesn't define 505 it. */ 506#ifndef SIZE_MAX 507# undef SIZE_MAX 508#endif 509 510/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 511 'size_t'. */ 512#undef SIZE_T_SUFFIX 513 514/* If using the C implementation of alloca, define if you know the 515 direction of stack growth for your system; otherwise it will be 516 automatically deduced at runtime. 517 STACK_DIRECTION > 0 => grows toward higher addresses 518 STACK_DIRECTION < 0 => grows toward lower addresses 519 STACK_DIRECTION = 0 => direction of growth unknown */ 520#undef STACK_DIRECTION 521 522/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ 523#undef STAT_MACROS_BROKEN 524 525/* Define to 1 if you have the ANSI C header files. */ 526#undef STDC_HEADERS 527 528/* Define to 1 if the type of the st_atim member of a struct stat is struct 529 timespec. */ 530#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 531 532/* Enable extensions on AIX 3, Interix. */ 533#ifndef _ALL_SOURCE 534# undef _ALL_SOURCE 535#endif 536/* Enable general extensions on OS X. */ 537#ifndef _DARWIN_C_SOURCE 538# undef _DARWIN_C_SOURCE 539#endif 540/* Enable GNU extensions on systems that have them. */ 541#ifndef _GNU_SOURCE 542# undef _GNU_SOURCE 543#endif 544/* Enable threading extensions on Solaris. */ 545#ifndef _POSIX_PTHREAD_SEMANTICS 546# undef _POSIX_PTHREAD_SEMANTICS 547#endif 548/* Enable extensions on HP NonStop. */ 549#ifndef _TANDEM_SOURCE 550# undef _TANDEM_SOURCE 551#endif 552/* Enable X/Open extensions if necessary. HP-UX 11.11 defines 553 mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of 554 whether compiling with -Ae or -D_HPUX_SOURCE=1. */ 555#ifndef _XOPEN_SOURCE 556# undef _XOPEN_SOURCE 557#endif 558/* Enable general extensions on Solaris. */ 559#ifndef __EXTENSIONS__ 560# undef __EXTENSIONS__ 561#endif 562 563 564/* Version number of package */ 565#undef VERSION 566 567/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 568 'wchar_t'. */ 569#undef WCHAR_T_SUFFIX 570 571/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 572 'wint_t'. */ 573#undef WINT_T_SUFFIX 574 575/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most 576 significant byte first (like Motorola and SPARC, unlike Intel). */ 577#if defined AC_APPLE_UNIVERSAL_BUILD 578# if defined __BIG_ENDIAN__ 579# define WORDS_BIGENDIAN 1 580# endif 581#else 582# ifndef WORDS_BIGENDIAN 583# undef WORDS_BIGENDIAN 584# endif 585#endif 586 587/* Enable large inode numbers on Mac OS X 10.5. */ 588#undef _DARWIN_USE_64_BIT_INODE 589 590/* Number of bits in a file offset, on hosts where this is settable. */ 591#undef _FILE_OFFSET_BITS 592 593/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct 594 stat.st_size becomes 64-bit. */ 595#undef _GL_WINDOWS_64_BIT_ST_SIZE 596 597/* Define for large files, on AIX-style hosts. */ 598#undef _LARGE_FILES 599 600/* Define to 1 if on MINIX. */ 601#undef _MINIX 602 603/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ 604#undef _NETBSD_SOURCE 605 606/* The _Noreturn keyword of C11. */ 607#if ! (defined _Noreturn \ 608 || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) 609# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ 610 || 0x5110 <= __SUNPRO_C) 611# define _Noreturn __attribute__ ((__noreturn__)) 612# elif defined _MSC_VER && 1200 <= _MSC_VER 613# define _Noreturn __declspec (noreturn) 614# else 615# define _Noreturn 616# endif 617#endif 618 619 620/* Define to 2 if the system does not provide POSIX.1 features except with 621 this defined. */ 622#undef _POSIX_1_SOURCE 623 624/* Define to 1 if you need to in order for 'stat' and other things to work. */ 625#undef _POSIX_SOURCE 626 627/* Please see the Gnulib manual for how to use these macros. 628 629 Suppress extern inline with HP-UX cc, as it appears to be broken; see 630 <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>. 631 632 Suppress extern inline with Sun C in standards-conformance mode, as it 633 mishandles inline functions that call each other. E.g., for 'inline void f 634 (void) { } inline void g (void) { f (); }', c99 incorrectly complains 635 'reference to static identifier "f" in extern inline function'. 636 This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. 637 638 Suppress the use of extern inline on problematic Apple configurations. 639 OS X 10.8 and earlier mishandle it; see, e.g., 640 <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>. 641 OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and 642 for clang but remains for g++; see <http://trac.macports.org/ticket/41033>. 643 Perhaps Apple will fix this some day. */ 644#if (defined __APPLE__ \ 645 && (defined __header_inline \ 646 ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ 647 && ! defined __clang__) \ 648 : ((! defined _DONT_USE_CTYPE_INLINE_ \ 649 && (defined __GNUC__ || defined __cplusplus)) \ 650 || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ 651 && defined __GNUC__ && ! defined __cplusplus)))) 652# define _GL_EXTERN_INLINE_APPLE_BUG 653#endif 654#if ((__GNUC__ \ 655 ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ 656 : (199901L <= __STDC_VERSION__ \ 657 && !defined __HP_cc \ 658 && !(defined __SUNPRO_C && __STDC__))) \ 659 && !defined _GL_EXTERN_INLINE_APPLE_BUG) 660# define _GL_INLINE inline 661# define _GL_EXTERN_INLINE extern inline 662# define _GL_EXTERN_INLINE_IN_USE 663#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ 664 && !defined _GL_EXTERN_INLINE_APPLE_BUG) 665# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ 666 /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ 667# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) 668# else 669# define _GL_INLINE extern inline 670# endif 671# define _GL_EXTERN_INLINE extern 672# define _GL_EXTERN_INLINE_IN_USE 673#else 674# define _GL_INLINE static _GL_UNUSED 675# define _GL_EXTERN_INLINE static _GL_UNUSED 676#endif 677 678#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) 679# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ 680# define _GL_INLINE_HEADER_CONST_PRAGMA 681# else 682# define _GL_INLINE_HEADER_CONST_PRAGMA \ 683 _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") 684# endif 685 /* Suppress GCC's bogus "no previous prototype for 'FOO'" 686 and "no previous declaration for 'FOO'" diagnostics, 687 when FOO is an inline function in the header; see 688 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>. */ 689# define _GL_INLINE_HEADER_BEGIN \ 690 _Pragma ("GCC diagnostic push") \ 691 _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ 692 _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ 693 _GL_INLINE_HEADER_CONST_PRAGMA 694# define _GL_INLINE_HEADER_END \ 695 _Pragma ("GCC diagnostic pop") 696#else 697# define _GL_INLINE_HEADER_BEGIN 698# define _GL_INLINE_HEADER_END 699#endif 700 701/* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */ 702#undef intmax_t 703 704/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports 705 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of 706 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. 707 __APPLE__ && __MACH__ test for Mac OS X. 708 __APPLE_CC__ tests for the Apple compiler and its version. 709 __STDC_VERSION__ tests for the C99 mode. */ 710#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ 711# define __GNUC_STDC_INLINE__ 1 712#endif 713 714/* Define to `int' if <sys/types.h> does not define. */ 715#undef mode_t 716 717/* Define to the type of st_nlink in struct stat, or a supertype. */ 718#undef nlink_t 719 720/* Define to `int' if <sys/types.h> does not define. */ 721#undef pid_t 722 723/* Define as the type of the result of subtracting two pointers, if the system 724 doesn't define it. */ 725#undef ptrdiff_t 726 727/* Define to the equivalent of the C99 'restrict' keyword, or to 728 nothing if this is not supported. Do not define if restrict is 729 supported directly. */ 730#undef restrict 731/* Work around a bug in Sun C++: it does not support _Restrict or 732 __restrict__, even though the corresponding Sun C compiler ends up with 733 "#define restrict _Restrict" or "#define restrict __restrict__" in the 734 previous line. Perhaps some future version of Sun C++ will work with 735 restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ 736#if defined __SUNPRO_CC && !defined __RESTRICT 737# define _Restrict 738# define __restrict__ 739#endif 740 741/* Define to `unsigned int' if <sys/types.h> does not define. */ 742#undef size_t 743 744/* Define as a signed type of the same size as size_t. */ 745#undef ssize_t 746 747/* Define as a marker that can be attached to declarations that might not 748 be used. This helps to reduce warnings, such as from 749 GCC -Wunused-parameter. */ 750#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) 751# define _GL_UNUSED __attribute__ ((__unused__)) 752#else 753# define _GL_UNUSED 754#endif 755/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name 756 is a misnomer outside of parameter lists. */ 757#define _UNUSED_PARAMETER_ _GL_UNUSED 758 759/* The __pure__ attribute was added in gcc 2.96. */ 760#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) 761# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) 762#else 763# define _GL_ATTRIBUTE_PURE /* empty */ 764#endif 765 766/* The __const__ attribute was added in gcc 2.95. */ 767#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 768# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) 769#else 770# define _GL_ATTRIBUTE_CONST /* empty */ 771#endif 772 773