1/* config.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 to 1 if using 'alloca.c'. */
22#undef C_ALLOCA
23
24/* Define as the bit index in the word where to find bit 0 of the exponent of
25   'double'. */
26#undef DBL_EXPBIT0_BIT
27
28/* Define as the word index where to find the exponent of 'double'. */
29#undef DBL_EXPBIT0_WORD
30
31/* Define to 1 if translation of program messages to the user's native
32   language is requested. */
33#undef ENABLE_NLS
34
35/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
36   whether the gnulib module fscanf shall be considered present. */
37#undef GNULIB_FSCANF
38
39/* Define to 1 if printf and friends should be labeled with attribute
40   "__gnu_printf__" instead of "__printf__" */
41#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
42
43/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
44   whether the gnulib module scanf shall be considered present. */
45#undef GNULIB_SCANF
46
47/* Define to 1 when the gnulib module getdelim should be tested. */
48#undef GNULIB_TEST_GETDELIM
49
50/* Define to 1 when the gnulib module getline should be tested. */
51#undef GNULIB_TEST_GETLINE
52
53/* Define to 1 when the gnulib module memchr should be tested. */
54#undef GNULIB_TEST_MEMCHR
55
56/* Define to 1 when the gnulib module rawmemchr should be tested. */
57#undef GNULIB_TEST_RAWMEMCHR
58
59/* Define to 1 when the gnulib module strchrnul should be tested. */
60#undef GNULIB_TEST_STRCHRNUL
61
62/* Define to 1 when the gnulib module strndup should be tested. */
63#undef GNULIB_TEST_STRNDUP
64
65/* Define to 1 when the gnulib module strnlen should be tested. */
66#undef GNULIB_TEST_STRNLEN
67
68/* Define to 1 when the gnulib module vasprintf should be tested. */
69#undef GNULIB_TEST_VASPRINTF
70
71/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
72   may be supplied by this distribution. */
73#undef HAVE_ALLOCA
74
75/* Define to 1 if <alloca.h> works. */
76#undef HAVE_ALLOCA_H
77
78/* Define to 1 if you have the <bp-sym.h> header file. */
79#undef HAVE_BP_SYM_H
80
81/* Define to 1 if you have the Mac OS X function
82   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
83#undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES
84
85/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
86   the CoreFoundation framework. */
87#undef HAVE_CFPREFERENCESCOPYAPPVALUE
88
89/* Define to 1 if you have the <crtdefs.h> header file. */
90#undef HAVE_CRTDEFS_H
91
92/* Define if the GNU dcgettext() function is already present or preinstalled.
93   */
94#undef HAVE_DCGETTEXT
95
96/* Define to 1 if you have the declaration of `fcloseall', and to 0 if you
97   don't. */
98#undef HAVE_DECL_FCLOSEALL
99
100/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
101   don't. */
102#undef HAVE_DECL_GETC_UNLOCKED
103
104/* Define to 1 if you have the declaration of `getdelim', and to 0 if you
105   don't. */
106#undef HAVE_DECL_GETDELIM
107
108/* Define to 1 if you have the declaration of `getline', and to 0 if you
109   don't. */
110#undef HAVE_DECL_GETLINE
111
112/* Define to 1 if you have the declaration of `strndup', and to 0 if you
113   don't. */
114#undef HAVE_DECL_STRNDUP
115
116/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
117   don't. */
118#undef HAVE_DECL_STRNLEN
119
120/* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't.
121   */
122#undef HAVE_DECL_WCSDUP
123
124/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
125   don't. */
126#undef HAVE_DECL__SNPRINTF
127
128/* Define to 1 if you have the <dlfcn.h> header file. */
129#undef HAVE_DLFCN_H
130
131/* Define to 1 if you have the <features.h> header file. */
132#undef HAVE_FEATURES_H
133
134/* Define to 1 if you have the `flockfile' function. */
135#undef HAVE_FLOCKFILE
136
137/* Define to 1 if you have the `funlockfile' function. */
138#undef HAVE_FUNLOCKFILE
139
140/* Define to 1 if you have the `getdelim' function. */
141#undef HAVE_GETDELIM
142
143/* Define if the GNU gettext() function is already present or preinstalled. */
144#undef HAVE_GETTEXT
145
146/* Define if you have the iconv() function and it works. */
147#undef HAVE_ICONV
148
149/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
150#undef HAVE_INTMAX_T
151
152/* Define to 1 if you have the <inttypes.h> header file. */
153#undef HAVE_INTTYPES_H
154
155/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
156   declares uintmax_t. */
157#undef HAVE_INTTYPES_H_WITH_UINTMAX
158
159/* Define to 1 if you have the <limits.h> header file. */
160#undef HAVE_LIMITS_H
161
162/* Define to 1 if the system has the type 'long long int'. */
163#undef HAVE_LONG_LONG_INT
164
165/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
166   config.h and <sys/mman.h>. */
167#undef HAVE_MAP_ANONYMOUS
168
169/* Define to 1 if you have the `mbrtowc' function. */
170#undef HAVE_MBRTOWC
171
172/* Define to 1 if you have the <minix/config.h> header file. */
173#undef HAVE_MINIX_CONFIG_H
174
175/* Define to 1 if you have the `mprotect' function. */
176#undef HAVE_MPROTECT
177
178/* Define to 1 if you have the `rawmemchr' function. */
179#undef HAVE_RAWMEMCHR
180
181/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
182#undef HAVE_SIGNED_SIG_ATOMIC_T
183
184/* Define to 1 if 'wchar_t' is a signed integer type. */
185#undef HAVE_SIGNED_WCHAR_T
186
187/* Define to 1 if 'wint_t' is a signed integer type. */
188#undef HAVE_SIGNED_WINT_T
189
190/* Define to 1 if you have the `snprintf' function. */
191#undef HAVE_SNPRINTF
192
193/* Define if the return value of the snprintf function is the number of of
194   bytes (excluding the terminating NUL) that would have been produced if the
195   buffer had been large enough. */
196#undef HAVE_SNPRINTF_RETVAL_C99
197
198/* Define if the string produced by the snprintf function is always NUL
199   terminated. */
200#undef HAVE_SNPRINTF_TRUNCATION_C99
201
202/* Define to 1 if you have the <stdint.h> header file. */
203#undef HAVE_STDINT_H
204
205/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
206   uintmax_t. */
207#undef HAVE_STDINT_H_WITH_UINTMAX
208
209/* Define to 1 if you have the <stdio.h> header file. */
210#undef HAVE_STDIO_H
211
212/* Define to 1 if you have the <stdlib.h> header file. */
213#undef HAVE_STDLIB_H
214
215/* Define to 1 if you have the `strchrnul' function. */
216#undef HAVE_STRCHRNUL
217
218/* Define to 1 if you have the <strings.h> header file. */
219#undef HAVE_STRINGS_H
220
221/* Define to 1 if you have the <string.h> header file. */
222#undef HAVE_STRING_H
223
224/* Define to 1 if you have the `strndup' function. */
225#undef HAVE_STRNDUP
226
227/* Define to 1 if you have the `strnlen' function. */
228#undef HAVE_STRNLEN
229
230/* Define to 1 if you have the <sys/bitypes.h> header file. */
231#undef HAVE_SYS_BITYPES_H
232
233/* Define to 1 if you have the <sys/inttypes.h> header file. */
234#undef HAVE_SYS_INTTYPES_H
235
236/* Define to 1 if you have the <sys/mman.h> header file. */
237#undef HAVE_SYS_MMAN_H
238
239/* Define to 1 if you have the <sys/stat.h> header file. */
240#undef HAVE_SYS_STAT_H
241
242/* Define to 1 if you have the <sys/types.h> header file. */
243#undef HAVE_SYS_TYPES_H
244
245/* Define to 1 if you have the <unistd.h> header file. */
246#undef HAVE_UNISTD_H
247
248/* Define to 1 if the system has the type 'unsigned long long int'. */
249#undef HAVE_UNSIGNED_LONG_LONG_INT
250
251/* Define to 1 if you have the `vasnprintf' function. */
252#undef HAVE_VASNPRINTF
253
254/* Define to 1 if you have the `vasprintf' function. */
255#undef HAVE_VASPRINTF
256
257/* Define to 1 if you have the <wchar.h> header file. */
258#undef HAVE_WCHAR_H
259
260/* Define if you have the 'wchar_t' type. */
261#undef HAVE_WCHAR_T
262
263/* Define to 1 if you have the `wcrtomb' function. */
264#undef HAVE_WCRTOMB
265
266/* Define to 1 if you have the `wcslen' function. */
267#undef HAVE_WCSLEN
268
269/* Define to 1 if you have the `wcsnlen' function. */
270#undef HAVE_WCSNLEN
271
272/* Define if you have the 'wint_t' type. */
273#undef HAVE_WINT_T
274
275/* Define as const if the declaration of iconv() needs const. */
276#undef ICONV_CONST
277
278/* Define to the sub-directory where libtool stores uninstalled libraries. */
279#undef LT_OBJDIR
280
281/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
282#undef MAP_ANONYMOUS
283
284/* Use GNU style printf and scanf.  */
285#ifndef __USE_MINGW_ANSI_STDIO
286# undef __USE_MINGW_ANSI_STDIO
287#endif
288
289
290/* Name of package */
291#undef PACKAGE
292
293/* Define to the address where bug reports for this package should be sent. */
294#undef PACKAGE_BUGREPORT
295
296/* Define to the full name of this package. */
297#undef PACKAGE_NAME
298
299/* Define to the full name and version of this package. */
300#undef PACKAGE_STRING
301
302/* Define to the one symbol short name of this package. */
303#undef PACKAGE_TARNAME
304
305/* Define to the home page for this package. */
306#undef PACKAGE_URL
307
308/* Define to the version of this package. */
309#undef PACKAGE_VERSION
310
311/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
312   'ptrdiff_t'. */
313#undef PTRDIFF_T_SUFFIX
314
315/* Define if vasnprintf exists but is overridden by gnulib. */
316#undef REPLACE_VASNPRINTF
317
318/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
319   'sig_atomic_t'. */
320#undef SIG_ATOMIC_T_SUFFIX
321
322/* Define as the maximum value of type 'size_t', if the system doesn't define
323   it. */
324#ifndef SIZE_MAX
325# undef SIZE_MAX
326#endif
327
328/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
329   'size_t'. */
330#undef SIZE_T_SUFFIX
331
332/* If using the C implementation of alloca, define if you know the
333   direction of stack growth for your system; otherwise it will be
334   automatically deduced at runtime.
335	STACK_DIRECTION > 0 => grows toward higher addresses
336	STACK_DIRECTION < 0 => grows toward lower addresses
337	STACK_DIRECTION = 0 => direction of growth unknown */
338#undef STACK_DIRECTION
339
340/* Define to 1 if all of the C90 standard headers exist (not just the ones
341   required in a freestanding environment). This macro is provided for
342   backward compatibility; new code need not use it. */
343#undef STDC_HEADERS
344
345/* Enable extensions on AIX 3, Interix.  */
346#ifndef _ALL_SOURCE
347# undef _ALL_SOURCE
348#endif
349/* Enable general extensions on macOS.  */
350#ifndef _DARWIN_C_SOURCE
351# undef _DARWIN_C_SOURCE
352#endif
353/* Enable general extensions on Solaris.  */
354#ifndef __EXTENSIONS__
355# undef __EXTENSIONS__
356#endif
357/* Enable GNU extensions on systems that have them.  */
358#ifndef _GNU_SOURCE
359# undef _GNU_SOURCE
360#endif
361/* Enable X/Open compliant socket functions that do not require linking
362   with -lxnet on HP-UX 11.11.  */
363#ifndef _HPUX_ALT_XOPEN_SOCKET_API
364# undef _HPUX_ALT_XOPEN_SOCKET_API
365#endif
366/* Identify the host operating system as Minix.
367   This macro does not affect the system headers' behavior.
368   A future release of Autoconf may stop defining this macro.  */
369#ifndef _MINIX
370# undef _MINIX
371#endif
372/* Enable general extensions on NetBSD.
373   Enable NetBSD compatibility extensions on Minix.  */
374#ifndef _NETBSD_SOURCE
375# undef _NETBSD_SOURCE
376#endif
377/* Enable OpenBSD compatibility extensions on NetBSD.
378   Oddly enough, this does nothing on OpenBSD.  */
379#ifndef _OPENBSD_SOURCE
380# undef _OPENBSD_SOURCE
381#endif
382/* Define to 1 if needed for POSIX-compatible behavior.  */
383#ifndef _POSIX_SOURCE
384# undef _POSIX_SOURCE
385#endif
386/* Define to 2 if needed for POSIX-compatible behavior.  */
387#ifndef _POSIX_1_SOURCE
388# undef _POSIX_1_SOURCE
389#endif
390/* Enable POSIX-compatible threading on Solaris.  */
391#ifndef _POSIX_PTHREAD_SEMANTICS
392# undef _POSIX_PTHREAD_SEMANTICS
393#endif
394/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
395#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
396# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
397#endif
398/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
399#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
400# undef __STDC_WANT_IEC_60559_BFP_EXT__
401#endif
402/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
403#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
404# undef __STDC_WANT_IEC_60559_DFP_EXT__
405#endif
406/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
407#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
408# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
409#endif
410/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
411#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
412# undef __STDC_WANT_IEC_60559_TYPES_EXT__
413#endif
414/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
415#ifndef __STDC_WANT_LIB_EXT2__
416# undef __STDC_WANT_LIB_EXT2__
417#endif
418/* Enable extensions specified by ISO/IEC 24747:2009.  */
419#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
420# undef __STDC_WANT_MATH_SPEC_FUNCS__
421#endif
422/* Enable extensions on HP NonStop.  */
423#ifndef _TANDEM_SOURCE
424# undef _TANDEM_SOURCE
425#endif
426/* Enable X/Open extensions.  Define to 500 only if necessary
427   to make mbstate_t available.  */
428#ifndef _XOPEN_SOURCE
429# undef _XOPEN_SOURCE
430#endif
431
432
433/* Version number of package */
434#undef VERSION
435
436/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
437   'wchar_t'. */
438#undef WCHAR_T_SUFFIX
439
440/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
441   'wint_t'. */
442#undef WINT_T_SUFFIX
443
444/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
445   significant byte first (like Motorola and SPARC, unlike Intel). */
446#if defined AC_APPLE_UNIVERSAL_BUILD
447# if defined __BIG_ENDIAN__
448#  define WORDS_BIGENDIAN 1
449# endif
450#else
451# ifndef WORDS_BIGENDIAN
452#  undef WORDS_BIGENDIAN
453# endif
454#endif
455
456/* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
457#if defined __GNUC__ && defined __GNUC_MINOR__
458# define _GL_GNUC_PREREQ(major, minor) \
459    ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
460#else
461# define _GL_GNUC_PREREQ(major, minor) 0
462#endif
463
464
465/* Define to enable the declarations of ISO C 11 types and functions. */
466#undef _ISOC11_SOURCE
467
468/* The _Noreturn keyword of C11.  */
469#ifndef _Noreturn
470# if (defined __cplusplus \
471      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
472          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
473      && 0)
474    /* [[noreturn]] is not practically usable, because with it the syntax
475         extern _Noreturn void func (...);
476       would not be valid; such a declaration would only be valid with 'extern'
477       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
478       AIX system header files and several gnulib header files use precisely
479       this syntax with 'extern'.  */
480#  define _Noreturn [[noreturn]]
481# elif ((!defined __cplusplus || defined __clang__) \
482        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
483            || (!defined __STRICT_ANSI__ \
484                && (_GL_GNUC_PREREQ (4, 7) \
485                    || (defined __apple_build_version__ \
486                        ? 6000000 <= __apple_build_version__ \
487                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
488   /* _Noreturn works as-is.  */
489# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
490#  define _Noreturn __attribute__ ((__noreturn__))
491# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
492#  define _Noreturn __declspec (noreturn)
493# else
494#  define _Noreturn
495# endif
496#endif
497
498
499/* For standard stat data types on VMS. */
500#undef _USE_STD_STAT
501
502/* Define to 1 if the system <stdint.h> predates C++11. */
503#undef __STDC_CONSTANT_MACROS
504
505/* Define to 1 if the system <stdint.h> predates C++11. */
506#undef __STDC_LIMIT_MACROS
507
508/* The _GL_ASYNC_SAFE marker should be attached to functions that are
509   signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
510   invoked from such signal handlers.  Such functions have some restrictions:
511     * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
512       or should be listed as async-signal-safe in POSIX
513       <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
514       section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
515       particular, are NOT async-signal-safe.
516     * All memory locations (variables and struct fields) that these functions
517       access must be marked 'volatile'.  This holds for both read and write
518       accesses.  Otherwise the compiler might optimize away stores to and
519       reads from such locations that occur in the program, depending on its
520       data flow analysis.  For example, when the program contains a loop
521       that is intended to inspect a variable set from within a signal handler
522           while (!signal_occurred)
523             ;
524       the compiler is allowed to transform this into an endless loop if the
525       variable 'signal_occurred' is not declared 'volatile'.
526   Additionally, recall that:
527     * A signal handler should not modify errno (except if it is a handler
528       for a fatal signal and ends by raising the same signal again, thus
529       provoking the termination of the process).  If it invokes a function
530       that may clobber errno, it needs to save and restore the value of
531       errno.  */
532#define _GL_ASYNC_SAFE
533
534
535/* Attributes.  */
536#if (defined __has_attribute \
537     && (!defined __clang_minor__ \
538         || 3 < __clang_major__ + (5 <= __clang_minor__)))
539# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
540#else
541# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
542# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
543# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
544# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
545# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
546# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
547# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
548# define _GL_ATTR_diagnose_if 0
549# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
550# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
551# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
552# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
553# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
554# ifdef _ICC
555#  define _GL_ATTR_may_alias 0
556# else
557#  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
558# endif
559# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
560# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
561# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
562# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
563# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
564# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
565# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
566# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
567# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
568# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
569# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
570#endif
571
572
573#if _GL_HAS_ATTRIBUTE (alloc_size)
574# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
575#else
576# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
577#endif
578
579#if _GL_HAS_ATTRIBUTE (always_inline)
580# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
581#else
582# define _GL_ATTRIBUTE_ALWAYS_INLINE
583#endif
584
585#if _GL_HAS_ATTRIBUTE (artificial)
586# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
587#else
588# define _GL_ATTRIBUTE_ARTIFICIAL
589#endif
590
591/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
592   <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
593   Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
594#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
595# ifndef __SUNPRO_C
596#  define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
597# else
598#  define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
599# endif
600#else
601# define _GL_ATTRIBUTE_COLD
602#endif
603
604#if _GL_HAS_ATTRIBUTE (const)
605# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
606#else
607# define _GL_ATTRIBUTE_CONST
608#endif
609
610#if 201710L < __STDC_VERSION__
611# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
612#elif _GL_HAS_ATTRIBUTE (deprecated)
613# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
614#else
615# define _GL_ATTRIBUTE_DEPRECATED
616#endif
617
618#if _GL_HAS_ATTRIBUTE (error)
619# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
620# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
621#elif _GL_HAS_ATTRIBUTE (diagnose_if)
622# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
623# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
624#else
625# define _GL_ATTRIBUTE_ERROR(msg)
626# define _GL_ATTRIBUTE_WARNING(msg)
627#endif
628
629#if _GL_HAS_ATTRIBUTE (externally_visible)
630# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
631#else
632# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
633#endif
634
635/* FALLTHROUGH is special, because it always expands to something.  */
636#if 201710L < __STDC_VERSION__
637# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
638#elif _GL_HAS_ATTRIBUTE (fallthrough)
639# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
640#else
641# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
642#endif
643
644#if _GL_HAS_ATTRIBUTE (format)
645# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
646#else
647# define _GL_ATTRIBUTE_FORMAT(spec)
648#endif
649
650#if _GL_HAS_ATTRIBUTE (leaf)
651# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
652#else
653# define _GL_ATTRIBUTE_LEAF
654#endif
655
656/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
657#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
658# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
659#else
660# define _GL_ATTRIBUTE_MAY_ALIAS
661#endif
662
663#if 201710L < __STDC_VERSION__
664# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
665#elif _GL_HAS_ATTRIBUTE (unused)
666# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__))
667#else
668# define _GL_ATTRIBUTE_MAYBE_UNUSED
669#endif
670/* Earlier spellings of this macro.  */
671#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
672#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
673
674#if _GL_HAS_ATTRIBUTE (malloc)
675# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
676#else
677# define _GL_ATTRIBUTE_MALLOC
678#endif
679
680#if 201710L < __STDC_VERSION__
681# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
682#elif _GL_HAS_ATTRIBUTE (warn_unused_result)
683# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
684#else
685# define _GL_ATTRIBUTE_NODISCARD
686#endif
687
688#if _GL_HAS_ATTRIBUTE (noinline)
689# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
690#else
691# define _GL_ATTRIBUTE_NOINLINE
692#endif
693
694#if _GL_HAS_ATTRIBUTE (nonnull)
695# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
696#else
697# define _GL_ATTRIBUTE_NONNULL(args)
698#endif
699
700#if _GL_HAS_ATTRIBUTE (nonstring)
701# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
702#else
703# define _GL_ATTRIBUTE_NONSTRING
704#endif
705
706/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
707
708#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
709# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
710#else
711# define _GL_ATTRIBUTE_NOTHROW
712#endif
713
714#if _GL_HAS_ATTRIBUTE (packed)
715# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
716#else
717# define _GL_ATTRIBUTE_PACKED
718#endif
719
720#if _GL_HAS_ATTRIBUTE (pure)
721# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
722#else
723# define _GL_ATTRIBUTE_PURE
724#endif
725
726#if _GL_HAS_ATTRIBUTE (returns_nonnull)
727# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
728#else
729# define _GL_ATTRIBUTE_RETURNS_NONNULL
730#endif
731
732#if _GL_HAS_ATTRIBUTE (sentinel)
733# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
734#else
735# define _GL_ATTRIBUTE_SENTINEL(pos)
736#endif
737
738
739/* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'.  */
740#if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5)
741# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED
742#else
743# define _GL_UNUSED_LABEL
744#endif
745
746
747/* Please see the Gnulib manual for how to use these macros.
748
749   Suppress extern inline with HP-UX cc, as it appears to be broken; see
750   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
751
752   Suppress extern inline with Sun C in standards-conformance mode, as it
753   mishandles inline functions that call each other.  E.g., for 'inline void f
754   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
755   'reference to static identifier "f" in extern inline function'.
756   This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
757
758   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
759   on configurations that mistakenly use 'static inline' to implement
760   functions or macros in standard C headers like <ctype.h>.  For example,
761   if isdigit is mistakenly implemented via a static inline function,
762   a program containing an extern inline function that calls isdigit
763   may not work since the C standard prohibits extern inline functions
764   from calling static functions (ISO C 99 section 6.7.4.(3).
765   This bug is known to occur on:
766
767     OS X 10.8 and earlier; see:
768     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
769
770     DragonFly; see
771     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
772
773     FreeBSD; see:
774     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
775
776   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
777   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
778   Assume DragonFly and FreeBSD will be similar.
779
780   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
781   inline semantics, unless -fgnu89-inline is used.  It defines a macro
782   __GNUC_STDC_INLINE__ to indicate this situation or a macro
783   __GNUC_GNU_INLINE__ to indicate the opposite situation.
784   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
785   semantics but warns, unless -fgnu89-inline is used:
786     warning: C99 inline functions are not supported; using GNU89
787     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
788   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
789 */
790#if (((defined __APPLE__ && defined __MACH__) \
791      || defined __DragonFly__ || defined __FreeBSD__) \
792     && (defined __header_inline \
793         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
794            && ! defined __clang__) \
795         : ((! defined _DONT_USE_CTYPE_INLINE_ \
796             && (defined __GNUC__ || defined __cplusplus)) \
797            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
798                && defined __GNUC__ && ! defined __cplusplus))))
799# define _GL_EXTERN_INLINE_STDHEADER_BUG
800#endif
801#if ((__GNUC__ \
802      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
803      : (199901L <= __STDC_VERSION__ \
804         && !defined __HP_cc \
805         && !defined __PGI \
806         && !(defined __SUNPRO_C && __STDC__))) \
807     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
808# define _GL_INLINE inline
809# define _GL_EXTERN_INLINE extern inline
810# define _GL_EXTERN_INLINE_IN_USE
811#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
812       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
813# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
814   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
815#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
816# else
817#  define _GL_INLINE extern inline
818# endif
819# define _GL_EXTERN_INLINE extern
820# define _GL_EXTERN_INLINE_IN_USE
821#else
822# define _GL_INLINE static _GL_UNUSED
823# define _GL_EXTERN_INLINE static _GL_UNUSED
824#endif
825
826/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
827   suppress bogus "no previous prototype for 'FOO'"
828   and "no previous declaration for 'FOO'" diagnostics,
829   when FOO is an inline function in the header; see
830   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
831   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
832#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
833# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
834#  define _GL_INLINE_HEADER_CONST_PRAGMA
835# else
836#  define _GL_INLINE_HEADER_CONST_PRAGMA \
837     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
838# endif
839# define _GL_INLINE_HEADER_BEGIN \
840    _Pragma ("GCC diagnostic push") \
841    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
842    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
843    _GL_INLINE_HEADER_CONST_PRAGMA
844# define _GL_INLINE_HEADER_END \
845    _Pragma ("GCC diagnostic pop")
846#else
847# define _GL_INLINE_HEADER_BEGIN
848# define _GL_INLINE_HEADER_END
849#endif
850
851/* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */
852#undef intmax_t
853
854/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
855   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
856   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
857   __APPLE__ && __MACH__ test for Mac OS X.
858   __APPLE_CC__ tests for the Apple compiler and its version.
859   __STDC_VERSION__ tests for the C99 mode.  */
860#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
861# define __GNUC_STDC_INLINE__ 1
862#endif
863
864/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
865   n1 and n2 are expressions without side effects, that evaluate to real
866   numbers (excluding NaN).
867   It returns
868     1  if n1 > n2
869     0  if n1 == n2
870     -1 if n1 < n2
871   The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
872   jump with nearly all GCC versions up to GCC 10.
873   This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
874   GCC versions up to GCC 9.
875   The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
876   avoids conditional jumps in all GCC versions >= 3.4.  */
877#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
878
879
880/* Define to `int' if <sys/types.h> does not define. */
881#undef mode_t
882
883/* Define as a signed integer type capable of holding a process identifier. */
884#undef pid_t
885
886/* Define as the type of the result of subtracting two pointers, if the system
887   doesn't define it. */
888#undef ptrdiff_t
889
890/* Define to the equivalent of the C99 'restrict' keyword, or to
891   nothing if this is not supported.  Do not define if restrict is
892   supported only directly.  */
893#undef restrict
894/* Work around a bug in older versions of Sun C++, which did not
895   #define __restrict__ or support _Restrict or __restrict__
896   even though the corresponding Sun C compiler ended up with
897   "#define restrict _Restrict" or "#define restrict __restrict__"
898   in the previous line.  This workaround can be removed once
899   we assume Oracle Developer Studio 12.5 (2016) or later.  */
900#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
901# define _Restrict
902# define __restrict__
903#endif
904
905/* Define to `unsigned int' if <sys/types.h> does not define. */
906#undef size_t
907
908/* Define as a signed type of the same size as size_t. */
909#undef ssize_t
910