Upgrade to libtasn1 4.19.0
[platform/upstream/libtasn1.git] / config.h.in
1 /* config.h.in.  Generated from configure.ac by autoheader.  */
2
3 /* Define to the number of bits in type 'ptrdiff_t'. */
4 #undef BITSIZEOF_PTRDIFF_T
5
6 /* Define to the number of bits in type 'sig_atomic_t'. */
7 #undef BITSIZEOF_SIG_ATOMIC_T
8
9 /* Define to the number of bits in type 'size_t'. */
10 #undef BITSIZEOF_SIZE_T
11
12 /* Define to the number of bits in type 'wchar_t'. */
13 #undef BITSIZEOF_WCHAR_T
14
15 /* Define to the number of bits in type 'wint_t'. */
16 #undef BITSIZEOF_WINT_T
17
18 /* Define to 1 if using 'alloca.c'. */
19 #undef C_ALLOCA
20
21 /* Define this to 1 if F_DUPFD behavior does not match POSIX */
22 #undef FCNTL_DUPFD_BUGGY
23
24 /* Define to 1 if fopen() fails to recognize a trailing slash. */
25 #undef FOPEN_TRAILING_SLASH_BUG
26
27 /* Define to 1 if the system's ftello function has the Solaris bug. */
28 #undef FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE
29
30 /* Define to 1 if the system's ftello function has the macOS bug. */
31 #undef FTELLO_BROKEN_AFTER_UNGETC
32
33 /* Define to 1 if ungetc is broken when used on arbitrary bytes. */
34 #undef FUNC_UNGETC_BROKEN
35
36 /* Define this to 'void' or 'struct timezone' to match the system's
37    declaration of the second argument to gettimeofday. */
38 #undef GETTIMEOFDAY_TIMEZONE
39
40 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
41    whether the gnulib module fopen-gnu shall be considered present. */
42 #undef GNULIB_FOPEN_GNU
43
44 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
45    whether the gnulib module fscanf shall be considered present. */
46 #undef GNULIB_FSCANF
47
48 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
49    whether the gnulib module msvc-nothrow shall be considered present. */
50 #undef GNULIB_MSVC_NOTHROW
51
52 /* Define to 1 if printf and friends should be labeled with attribute
53    "__gnu_printf__" instead of "__printf__" */
54 #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
55
56 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
57    whether the gnulib module scanf shall be considered present. */
58 #undef GNULIB_SCANF
59
60 /* Define to 1 when the gnulib module cloexec should be tested. */
61 #undef GNULIB_TEST_CLOEXEC
62
63 /* Define to 1 when the gnulib module close should be tested. */
64 #undef GNULIB_TEST_CLOSE
65
66 /* Define to 1 when the gnulib module dup2 should be tested. */
67 #undef GNULIB_TEST_DUP2
68
69 /* Define to 1 when the gnulib module explicit_bzero should be tested. */
70 #undef GNULIB_TEST_EXPLICIT_BZERO
71
72 /* Define to 1 when the gnulib module fcntl should be tested. */
73 #undef GNULIB_TEST_FCNTL
74
75 /* Define to 1 when the gnulib module fgetc should be tested. */
76 #undef GNULIB_TEST_FGETC
77
78 /* Define to 1 when the gnulib module fgets should be tested. */
79 #undef GNULIB_TEST_FGETS
80
81 /* Define to 1 when the gnulib module fopen should be tested. */
82 #undef GNULIB_TEST_FOPEN
83
84 /* Define to 1 when the gnulib module fopen-gnu should be tested. */
85 #undef GNULIB_TEST_FOPEN_GNU
86
87 /* Define to 1 when the gnulib module fprintf should be tested. */
88 #undef GNULIB_TEST_FPRINTF
89
90 /* Define to 1 when the gnulib module fputc should be tested. */
91 #undef GNULIB_TEST_FPUTC
92
93 /* Define to 1 when the gnulib module fputs should be tested. */
94 #undef GNULIB_TEST_FPUTS
95
96 /* Define to 1 when the gnulib module fread should be tested. */
97 #undef GNULIB_TEST_FREAD
98
99 /* Define to 1 when the gnulib module free-posix should be tested. */
100 #undef GNULIB_TEST_FREE_POSIX
101
102 /* Define to 1 when the gnulib module fscanf should be tested. */
103 #undef GNULIB_TEST_FSCANF
104
105 /* Define to 1 when the gnulib module fstat should be tested. */
106 #undef GNULIB_TEST_FSTAT
107
108 /* Define to 1 when the gnulib module ftell should be tested. */
109 #undef GNULIB_TEST_FTELL
110
111 /* Define to 1 when the gnulib module ftello should be tested. */
112 #undef GNULIB_TEST_FTELLO
113
114 /* Define to 1 when the gnulib module fwrite should be tested. */
115 #undef GNULIB_TEST_FWRITE
116
117 /* Define to 1 when the gnulib module getc should be tested. */
118 #undef GNULIB_TEST_GETC
119
120 /* Define to 1 when the gnulib module getchar should be tested. */
121 #undef GNULIB_TEST_GETCHAR
122
123 /* Define to 1 when the gnulib module getdtablesize should be tested. */
124 #undef GNULIB_TEST_GETDTABLESIZE
125
126 /* Define to 1 when the gnulib module getopt-posix should be tested. */
127 #undef GNULIB_TEST_GETOPT_POSIX
128
129 /* Define to 1 when the gnulib module gettimeofday should be tested. */
130 #undef GNULIB_TEST_GETTIMEOFDAY
131
132 /* Define to 1 when the gnulib module lseek should be tested. */
133 #undef GNULIB_TEST_LSEEK
134
135 /* Define to 1 when the gnulib module malloc-posix should be tested. */
136 #undef GNULIB_TEST_MALLOC_POSIX
137
138 /* Define to 1 when the gnulib module open should be tested. */
139 #undef GNULIB_TEST_OPEN
140
141 /* Define to 1 when the gnulib module printf should be tested. */
142 #undef GNULIB_TEST_PRINTF
143
144 /* Define to 1 when the gnulib module putc should be tested. */
145 #undef GNULIB_TEST_PUTC
146
147 /* Define to 1 when the gnulib module putchar should be tested. */
148 #undef GNULIB_TEST_PUTCHAR
149
150 /* Define to 1 when the gnulib module puts should be tested. */
151 #undef GNULIB_TEST_PUTS
152
153 /* Define to 1 when the gnulib module realloc-posix should be tested. */
154 #undef GNULIB_TEST_REALLOC_POSIX
155
156 /* Define to 1 when the gnulib module scanf should be tested. */
157 #undef GNULIB_TEST_SCANF
158
159 /* Define to 1 when the gnulib module stat should be tested. */
160 #undef GNULIB_TEST_STAT
161
162 /* Define to 1 when the gnulib module strverscmp should be tested. */
163 #undef GNULIB_TEST_STRVERSCMP
164
165 /* Define to 1 when the gnulib module vfprintf should be tested. */
166 #undef GNULIB_TEST_VFPRINTF
167
168 /* Define to 1 when the gnulib module vprintf should be tested. */
169 #undef GNULIB_TEST_VPRINTF
170
171 /* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
172    may be supplied by this distribution. */
173 #undef HAVE_ALLOCA
174
175 /* Define to 1 if <alloca.h> works. */
176 #undef HAVE_ALLOCA_H
177
178 /* Define to 1 if you have the `clock_getres' function. */
179 #undef HAVE_CLOCK_GETRES
180
181 /* Define to 1 if you have the `clock_gettime' function. */
182 #undef HAVE_CLOCK_GETTIME
183
184 /* Define to 1 if you have the `clock_settime' function. */
185 #undef HAVE_CLOCK_SETTIME
186
187 /* Define to 1 if you have the <crtdefs.h> header file. */
188 #undef HAVE_CRTDEFS_H
189
190 /* Define to 1 if C supports variable-length arrays. */
191 #undef HAVE_C_VARARRAYS
192
193 /* Define to 1 if you have the declaration of `ecvt', and to 0 if you don't.
194    */
195 #undef HAVE_DECL_ECVT
196
197 /* Define to 1 if you have the declaration of `execvpe', and to 0 if you
198    don't. */
199 #undef HAVE_DECL_EXECVPE
200
201 /* Define to 1 if you have the declaration of `fcloseall', and to 0 if you
202    don't. */
203 #undef HAVE_DECL_FCLOSEALL
204
205 /* Define to 1 if you have the declaration of `fcvt', and to 0 if you don't.
206    */
207 #undef HAVE_DECL_FCVT
208
209 /* Define to 1 if you have the declaration of `ftello', and to 0 if you don't.
210    */
211 #undef HAVE_DECL_FTELLO
212
213 /* Define to 1 if you have the declaration of `gcvt', and to 0 if you don't.
214    */
215 #undef HAVE_DECL_GCVT
216
217 /* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
218    don't. */
219 #undef HAVE_DECL_GETDTABLESIZE
220
221 /* Define to 1 if you have the declaration of `program_invocation_name', and
222    to 0 if you don't. */
223 #undef HAVE_DECL_PROGRAM_INVOCATION_NAME
224
225 /* Define to 1 if you have the declaration of `program_invocation_short_name',
226    and to 0 if you don't. */
227 #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
228
229 /* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't.
230    */
231 #undef HAVE_DECL_WCSDUP
232
233 /* Define to 1 if you have the <dlfcn.h> header file. */
234 #undef HAVE_DLFCN_H
235
236 /* Define to 1 if you have the `explicit_bzero' function. */
237 #undef HAVE_EXPLICIT_BZERO
238
239 /* Define to 1 if you have the `explicit_memset' function. */
240 #undef HAVE_EXPLICIT_MEMSET
241
242 /* Define to 1 if you have the `fcntl' function. */
243 #undef HAVE_FCNTL
244
245 /* Define to 1 if you have the <features.h> header file. */
246 #undef HAVE_FEATURES_H
247
248 /* Define to 1 if you have the `fmemopen' function. */
249 #undef HAVE_FMEMOPEN
250
251 /* Define if the 'free' function is guaranteed to preserve errno. */
252 #undef HAVE_FREE_POSIX
253
254 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
255 #undef HAVE_FSEEKO
256
257 /* Define to 1 if you have the `getdtablesize' function. */
258 #undef HAVE_GETDTABLESIZE
259
260 /* Define to 1 if you have the <getopt.h> header file. */
261 #undef HAVE_GETOPT_H
262
263 /* Define to 1 if you have the `getopt_long_only' function. */
264 #undef HAVE_GETOPT_LONG_ONLY
265
266 /* Define to 1 if you have the `gettimeofday' function. */
267 #undef HAVE_GETTIMEOFDAY
268
269 /* Define to 1 if you have the <inttypes.h> header file. */
270 #undef HAVE_INTTYPES_H
271
272 /* Define to 1 if you have the <limits.h> header file. */
273 #undef HAVE_LIMITS_H
274
275 /* Define to 1 if the system has the type 'long long int'. */
276 #undef HAVE_LONG_LONG_INT
277
278 /* Define to 1 if you have the `lstat' function. */
279 #undef HAVE_LSTAT
280
281 /* Define if malloc, realloc, and calloc set errno on allocation failure. */
282 #undef HAVE_MALLOC_POSIX
283
284 /* Define to 1 if you have the `memset_s' function. */
285 #undef HAVE_MEMSET_S
286
287 /* Define to 1 if you have the <minix/config.h> header file. */
288 #undef HAVE_MINIX_CONFIG_H
289
290 /* Define to 1 if <limits.h> defines the MIN and MAX macros. */
291 #undef HAVE_MINMAX_IN_LIMITS_H
292
293 /* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
294 #undef HAVE_MINMAX_IN_SYS_PARAM_H
295
296 /* Define to 1 on MSVC platforms that have the "invalid parameter handler"
297    concept. */
298 #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
299
300 /* Define to 1 if you have the <sdkddkver.h> header file. */
301 #undef HAVE_SDKDDKVER_H
302
303 /* Define to 1 if you have the `setdtablesize' function. */
304 #undef HAVE_SETDTABLESIZE
305
306 /* Define to 1 if 'sig_atomic_t' is a signed integer type. */
307 #undef HAVE_SIGNED_SIG_ATOMIC_T
308
309 /* Define to 1 if 'wchar_t' is a signed integer type. */
310 #undef HAVE_SIGNED_WCHAR_T
311
312 /* Define to 1 if 'wint_t' is a signed integer type. */
313 #undef HAVE_SIGNED_WINT_T
314
315 /* Define to 1 if you have the <stdckdint.h> header file. */
316 #undef HAVE_STDCKDINT_H
317
318 /* Define to 1 if you have the <stdint.h> header file. */
319 #undef HAVE_STDINT_H
320
321 /* Define to 1 if you have the <stdio.h> header file. */
322 #undef HAVE_STDIO_H
323
324 /* Define to 1 if you have the <stdlib.h> header file. */
325 #undef HAVE_STDLIB_H
326
327 /* Define to 1 if you have the <strings.h> header file. */
328 #undef HAVE_STRINGS_H
329
330 /* Define to 1 if you have the <string.h> header file. */
331 #undef HAVE_STRING_H
332
333 /* Define to 1 if `st_atimensec' is a member of `struct stat'. */
334 #undef HAVE_STRUCT_STAT_ST_ATIMENSEC
335
336 /* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
337 #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
338
339 /* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
340 #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
341
342 /* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
343 #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
344
345 /* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
346 #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
347
348 /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
349 #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
350
351 /* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
352 #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
353
354 /* Define to 1 if you have the `strverscmp' function. */
355 #undef HAVE_STRVERSCMP
356
357 /* Define to 1 if you have the `symlink' function. */
358 #undef HAVE_SYMLINK
359
360 /* Define to 1 if you have the <sys/bitypes.h> header file. */
361 #undef HAVE_SYS_BITYPES_H
362
363 /* Define to 1 if you have the <sys/cdefs.h> header file. */
364 #undef HAVE_SYS_CDEFS_H
365
366 /* Define to 1 if you have the <sys/inttypes.h> header file. */
367 #undef HAVE_SYS_INTTYPES_H
368
369 /* Define to 1 if you have the <sys/param.h> header file. */
370 #undef HAVE_SYS_PARAM_H
371
372 /* Define to 1 if you have the <sys/socket.h> header file. */
373 #undef HAVE_SYS_SOCKET_H
374
375 /* Define to 1 if you have the <sys/stat.h> header file. */
376 #undef HAVE_SYS_STAT_H
377
378 /* Define to 1 if you have the <sys/time.h> header file. */
379 #undef HAVE_SYS_TIME_H
380
381 /* Define to 1 if you have the <sys/types.h> header file. */
382 #undef HAVE_SYS_TYPES_H
383
384 /* Define to 1 if you have the `timespec_get' function. */
385 #undef HAVE_TIMESPEC_GET
386
387 /* Define to 1 if you have the <unistd.h> header file. */
388 #undef HAVE_UNISTD_H
389
390 /* Define to 1 if the system has the type 'unsigned long long int'. */
391 #undef HAVE_UNSIGNED_LONG_LONG_INT
392
393 /* Define to 1 or 0, depending whether the compiler supports simple visibility
394    declarations. */
395 #undef HAVE_VISIBILITY
396
397 /* Define to 1 if you have the <wchar.h> header file. */
398 #undef HAVE_WCHAR_H
399
400 /* Define if you have the 'wchar_t' type. */
401 #undef HAVE_WCHAR_T
402
403 /* Define to 1 if you have the <winsock2.h> header file. */
404 #undef HAVE_WINSOCK2_H
405
406 /* Define if you have the 'wint_t' type. */
407 #undef HAVE_WINT_T
408
409 /* Define to 1 if O_NOATIME works. */
410 #undef HAVE_WORKING_O_NOATIME
411
412 /* Define to 1 if O_NOFOLLOW works. */
413 #undef HAVE_WORKING_O_NOFOLLOW
414
415 /* Define to 1 if the system has the type `_Bool'. */
416 #undef HAVE__BOOL
417
418 /* Define to 1 if you have the `_ftelli64' function. */
419 #undef HAVE__FTELLI64
420
421 /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
422 #undef HAVE__SET_INVALID_PARAMETER_HANDLER
423
424 /* Define to 1 if ctype.h defines __header_inline. */
425 #undef HAVE___HEADER_INLINE
426
427 /* Please see the Gnulib manual for how to use these macros.
428
429    Suppress extern inline with HP-UX cc, as it appears to be broken; see
430    <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
431
432    Suppress extern inline with Sun C in standards-conformance mode, as it
433    mishandles inline functions that call each other.  E.g., for 'inline void f
434    (void) { } inline void g (void) { f (); }', c99 incorrectly complains
435    'reference to static identifier "f" in extern inline function'.
436    This bug was observed with Oracle Developer Studio 12.6
437    (Sun C 5.15 SunOS_sparc 2017/05/30).
438
439    Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
440    on configurations that mistakenly use 'static inline' to implement
441    functions or macros in standard C headers like <ctype.h>.  For example,
442    if isdigit is mistakenly implemented via a static inline function,
443    a program containing an extern inline function that calls isdigit
444    may not work since the C standard prohibits extern inline functions
445    from calling static functions (ISO C 99 section 6.7.4.(3).
446    This bug is known to occur on:
447
448      OS X 10.8 and earlier; see:
449      https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
450
451      DragonFly; see
452      http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
453
454      FreeBSD; see:
455      https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
456
457    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
458    for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
459    Assume DragonFly and FreeBSD will be similar.
460
461    GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
462    inline semantics, unless -fgnu89-inline is used.  It defines a macro
463    __GNUC_STDC_INLINE__ to indicate this situation or a macro
464    __GNUC_GNU_INLINE__ to indicate the opposite situation.
465    GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
466    semantics but warns, unless -fgnu89-inline is used:
467      warning: C99 inline functions are not supported; using GNU89
468      warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
469    It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
470  */
471 #if (((defined __APPLE__ && defined __MACH__) \
472       || defined __DragonFly__ || defined __FreeBSD__) \
473      && (defined HAVE___HEADER_INLINE \
474          ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
475             && ! defined __clang__) \
476          : ((! defined _DONT_USE_CTYPE_INLINE_ \
477              && (defined __GNUC__ || defined __cplusplus)) \
478             || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
479                 && defined __GNUC__ && ! defined __cplusplus))))
480 # define _GL_EXTERN_INLINE_STDHEADER_BUG
481 #endif
482 #if ((__GNUC__ \
483       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
484       : (199901L <= __STDC_VERSION__ \
485          && !defined __HP_cc \
486          && !defined __PGI \
487          && !(defined __SUNPRO_C && __STDC__))) \
488      && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
489 # define _GL_INLINE inline
490 # define _GL_EXTERN_INLINE extern inline
491 # define _GL_EXTERN_INLINE_IN_USE
492 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
493        && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
494 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
495    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
496 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
497 # else
498 #  define _GL_INLINE extern inline
499 # endif
500 # define _GL_EXTERN_INLINE extern
501 # define _GL_EXTERN_INLINE_IN_USE
502 #else
503 # define _GL_INLINE _GL_UNUSED static
504 # define _GL_EXTERN_INLINE _GL_UNUSED static
505 #endif
506
507 /* In GCC 4.6 (inclusive) to 5.1 (exclusive),
508    suppress bogus "no previous prototype for 'FOO'"
509    and "no previous declaration for 'FOO'" diagnostics,
510    when FOO is an inline function in the header; see
511    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
512    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
513 #if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
514 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
515 #  define _GL_INLINE_HEADER_CONST_PRAGMA
516 # else
517 #  define _GL_INLINE_HEADER_CONST_PRAGMA \
518      _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
519 # endif
520 # define _GL_INLINE_HEADER_BEGIN \
521     _Pragma ("GCC diagnostic push") \
522     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
523     _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
524     _GL_INLINE_HEADER_CONST_PRAGMA
525 # define _GL_INLINE_HEADER_END \
526     _Pragma ("GCC diagnostic pop")
527 #else
528 # define _GL_INLINE_HEADER_BEGIN
529 # define _GL_INLINE_HEADER_END
530 #endif
531
532 /* Define to 1 if the compiler supports the keyword '__inline'. */
533 #undef HAVE___INLINE
534
535 /* Define to 1 if lseek does not detect pipes. */
536 #undef LSEEK_PIPE_BROKEN
537
538 /* Define to the sub-directory where libtool stores uninstalled libraries. */
539 #undef LT_OBJDIR
540
541 /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
542 #undef MALLOC_0_IS_NONNULL
543
544 /* Use GNU style printf and scanf.  */
545 #ifndef __USE_MINGW_ANSI_STDIO
546 # undef __USE_MINGW_ANSI_STDIO
547 #endif
548
549
550 /* Define to 1 if open() fails to recognize a trailing slash. */
551 #undef OPEN_TRAILING_SLASH_BUG
552
553 /* Name of package */
554 #undef PACKAGE
555
556 /* Define to the address where bug reports for this package should be sent. */
557 #undef PACKAGE_BUGREPORT
558
559 /* Define to the full name of this package. */
560 #undef PACKAGE_NAME
561
562 /* String identifying the packager of this software */
563 #undef PACKAGE_PACKAGER
564
565 /* Packager info for bug reports (URL/e-mail/...) */
566 #undef PACKAGE_PACKAGER_BUG_REPORTS
567
568 /* Packager-specific version information */
569 #undef PACKAGE_PACKAGER_VERSION
570
571 /* Define to the full name and version of this package. */
572 #undef PACKAGE_STRING
573
574 /* Define to the one symbol short name of this package. */
575 #undef PACKAGE_TARNAME
576
577 /* Define to the home page for this package. */
578 #undef PACKAGE_URL
579
580 /* Define to the version of this package. */
581 #undef PACKAGE_VERSION
582
583 /* Define to the type that is the result of default argument promotions of
584    type mode_t. */
585 #undef PROMOTED_MODE_T
586
587 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
588    'ptrdiff_t'. */
589 #undef PTRDIFF_T_SUFFIX
590
591 /* Define to 1 if stat needs help when passed a file name with a trailing
592    slash */
593 #undef REPLACE_FUNC_STAT_FILE
594
595 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
596    'sig_atomic_t'. */
597 #undef SIG_ATOMIC_T_SUFFIX
598
599 /* The size of `unsigned int', as computed by sizeof. */
600 #undef SIZEOF_UNSIGNED_INT
601
602 /* The size of `unsigned long int', as computed by sizeof. */
603 #undef SIZEOF_UNSIGNED_LONG_INT
604
605 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
606    'size_t'. */
607 #undef SIZE_T_SUFFIX
608
609 /* If using the C implementation of alloca, define if you know the
610    direction of stack growth for your system; otherwise it will be
611    automatically deduced at runtime.
612         STACK_DIRECTION > 0 => grows toward higher addresses
613         STACK_DIRECTION < 0 => grows toward lower addresses
614         STACK_DIRECTION = 0 => direction of growth unknown */
615 #undef STACK_DIRECTION
616
617 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
618 #undef STAT_MACROS_BROKEN
619
620 /* Define to 1 if all of the C90 standard headers exist (not just the ones
621    required in a freestanding environment). This macro is provided for
622    backward compatibility; new code need not use it. */
623 #undef STDC_HEADERS
624
625 /* Define to 1 if the type of the st_atim member of a struct stat is struct
626    timespec. */
627 #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
628
629 /* Enable extensions on AIX 3, Interix.  */
630 #ifndef _ALL_SOURCE
631 # undef _ALL_SOURCE
632 #endif
633 /* Enable general extensions on macOS.  */
634 #ifndef _DARWIN_C_SOURCE
635 # undef _DARWIN_C_SOURCE
636 #endif
637 /* Enable general extensions on Solaris.  */
638 #ifndef __EXTENSIONS__
639 # undef __EXTENSIONS__
640 #endif
641 /* Enable GNU extensions on systems that have them.  */
642 #ifndef _GNU_SOURCE
643 # undef _GNU_SOURCE
644 #endif
645 /* Enable X/Open compliant socket functions that do not require linking
646    with -lxnet on HP-UX 11.11.  */
647 #ifndef _HPUX_ALT_XOPEN_SOCKET_API
648 # undef _HPUX_ALT_XOPEN_SOCKET_API
649 #endif
650 /* Identify the host operating system as Minix.
651    This macro does not affect the system headers' behavior.
652    A future release of Autoconf may stop defining this macro.  */
653 #ifndef _MINIX
654 # undef _MINIX
655 #endif
656 /* Enable general extensions on NetBSD.
657    Enable NetBSD compatibility extensions on Minix.  */
658 #ifndef _NETBSD_SOURCE
659 # undef _NETBSD_SOURCE
660 #endif
661 /* Enable OpenBSD compatibility extensions on NetBSD.
662    Oddly enough, this does nothing on OpenBSD.  */
663 #ifndef _OPENBSD_SOURCE
664 # undef _OPENBSD_SOURCE
665 #endif
666 /* Define to 1 if needed for POSIX-compatible behavior.  */
667 #ifndef _POSIX_SOURCE
668 # undef _POSIX_SOURCE
669 #endif
670 /* Define to 2 if needed for POSIX-compatible behavior.  */
671 #ifndef _POSIX_1_SOURCE
672 # undef _POSIX_1_SOURCE
673 #endif
674 /* Enable POSIX-compatible threading on Solaris.  */
675 #ifndef _POSIX_PTHREAD_SEMANTICS
676 # undef _POSIX_PTHREAD_SEMANTICS
677 #endif
678 /* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
679 #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
680 # undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
681 #endif
682 /* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
683 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
684 # undef __STDC_WANT_IEC_60559_BFP_EXT__
685 #endif
686 /* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
687 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
688 # undef __STDC_WANT_IEC_60559_DFP_EXT__
689 #endif
690 /* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
691 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
692 # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
693 #endif
694 /* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
695 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
696 # undef __STDC_WANT_IEC_60559_TYPES_EXT__
697 #endif
698 /* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
699 #ifndef __STDC_WANT_LIB_EXT2__
700 # undef __STDC_WANT_LIB_EXT2__
701 #endif
702 /* Enable extensions specified by ISO/IEC 24747:2009.  */
703 #ifndef __STDC_WANT_MATH_SPEC_FUNCS__
704 # undef __STDC_WANT_MATH_SPEC_FUNCS__
705 #endif
706 /* Enable extensions on HP NonStop.  */
707 #ifndef _TANDEM_SOURCE
708 # undef _TANDEM_SOURCE
709 #endif
710 /* Enable X/Open extensions.  Define to 500 only if necessary
711    to make mbstate_t available.  */
712 #ifndef _XOPEN_SOURCE
713 # undef _XOPEN_SOURCE
714 #endif
715
716
717 /* Version number of package */
718 #undef VERSION
719
720 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
721    'wchar_t'. */
722 #undef WCHAR_T_SUFFIX
723
724 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
725    'wint_t'. */
726 #undef WINT_T_SUFFIX
727
728 /* Number of bits in a file offset, on hosts where this is settable. */
729 #undef _FILE_OFFSET_BITS
730
731 /* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
732 #if defined __GNUC__ && defined __GNUC_MINOR__
733 # define _GL_GNUC_PREREQ(major, minor) \
734     ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
735 #else
736 # define _GL_GNUC_PREREQ(major, minor) 0
737 #endif
738
739
740 /* Define to enable the declarations of ISO C 11 types and functions. */
741 #undef _ISOC11_SOURCE
742
743 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
744 #undef _LARGEFILE_SOURCE
745
746 /* Define for large files, on AIX-style hosts. */
747 #undef _LARGE_FILES
748
749 /* The _Noreturn keyword of C11.  */
750 #ifndef _Noreturn
751 # if (defined __cplusplus \
752       && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
753           || (defined _MSC_VER && 1900 <= _MSC_VER)) \
754       && 0)
755     /* [[noreturn]] is not practically usable, because with it the syntax
756          extern _Noreturn void func (...);
757        would not be valid; such a declaration would only be valid with 'extern'
758        and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
759        AIX system header files and several gnulib header files use precisely
760        this syntax with 'extern'.  */
761 #  define _Noreturn [[noreturn]]
762 # elif ((!defined __cplusplus || defined __clang__) \
763         && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
764             || (!defined __STRICT_ANSI__ \
765                 && (_GL_GNUC_PREREQ (4, 7) \
766                     || (defined __apple_build_version__ \
767                         ? 6000000 <= __apple_build_version__ \
768                         : 3 < __clang_major__ + (5 <= __clang_minor__))))))
769    /* _Noreturn works as-is.  */
770 # elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
771 #  define _Noreturn __attribute__ ((__noreturn__))
772 # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
773 #  define _Noreturn __declspec (noreturn)
774 # else
775 #  define _Noreturn
776 # endif
777 #endif
778
779
780 /* Number of bits in a timestamp, on hosts where this is settable. */
781 #undef _TIME_BITS
782
783 /* For standard stat data types on VMS. */
784 #undef _USE_STD_STAT
785
786 /* Define to rpl_ if the getopt replacement functions and variables should be
787    used. */
788 #undef __GETOPT_PREFIX
789
790 /* For 64-bit time_t on 32-bit mingw. */
791 #undef __MINGW_USE_VC2005_COMPAT
792
793 /* Define to 1 if the system <stdint.h> predates C++11. */
794 #undef __STDC_CONSTANT_MACROS
795
796 /* Define to 1 if the system <stdint.h> predates C++11. */
797 #undef __STDC_LIMIT_MACROS
798
799 /* Define to 1 if C does not support variable-length arrays, and if the
800    compiler does not already define this. */
801 #undef __STDC_NO_VLA__
802
803 /* The _GL_ASYNC_SAFE marker should be attached to functions that are
804    signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
805    invoked from such signal handlers.  Such functions have some restrictions:
806      * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
807        or should be listed as async-signal-safe in POSIX
808        <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
809        section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
810        particular, are NOT async-signal-safe.
811      * All memory locations (variables and struct fields) that these functions
812        access must be marked 'volatile'.  This holds for both read and write
813        accesses.  Otherwise the compiler might optimize away stores to and
814        reads from such locations that occur in the program, depending on its
815        data flow analysis.  For example, when the program contains a loop
816        that is intended to inspect a variable set from within a signal handler
817            while (!signal_occurred)
818              ;
819        the compiler is allowed to transform this into an endless loop if the
820        variable 'signal_occurred' is not declared 'volatile'.
821    Additionally, recall that:
822      * A signal handler should not modify errno (except if it is a handler
823        for a fatal signal and ends by raising the same signal again, thus
824        provoking the termination of the process).  If it invokes a function
825        that may clobber errno, it needs to save and restore the value of
826        errno.  */
827 #define _GL_ASYNC_SAFE
828
829
830 /* Attributes.  */
831 #if (defined __has_attribute \
832      && (!defined __clang_minor__ \
833          || (defined __apple_build_version__ \
834              ? 6000000 <= __apple_build_version__ \
835              : 3 < __clang_major__ + (5 <= __clang_minor__))))
836 # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
837 #else
838 # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
839 # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
840 # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
841 # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
842 # define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
843 # define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
844 # define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
845 # define _GL_ATTR_diagnose_if 0
846 # define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
847 # define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
848 # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
849 # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
850 # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
851 # define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
852 # ifdef _ICC
853 #  define _GL_ATTR_may_alias 0
854 # else
855 #  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
856 # endif
857 # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
858 # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
859 # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
860 # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
861 # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
862 # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
863 # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
864 # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
865 # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
866 # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
867 #endif
868
869 #ifdef __has_c_attribute
870 # if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
871       && _GL_GNUC_PREREQ (4, 6))
872 #  pragma GCC diagnostic ignored "-Wpedantic"
873 # endif
874 # define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
875 #else
876 # define _GL_HAS_C_ATTRIBUTE(attr) 0
877 #endif
878
879
880 /* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
881    is the size of the returned memory block.
882    _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied
883    by the Nth argument of the function is the size of the returned memory block.
884  */
885 /* Applies to: function, pointer to function, function types.  */
886 #if _GL_HAS_ATTRIBUTE (alloc_size)
887 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
888 #else
889 # define _GL_ATTRIBUTE_ALLOC_SIZE(args)
890 #endif
891
892 /* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
893    function and report an error if it cannot do so.  */
894 /* Applies to: function.  */
895 #if _GL_HAS_ATTRIBUTE (always_inline)
896 # define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
897 #else
898 # define _GL_ATTRIBUTE_ALWAYS_INLINE
899 #endif
900
901 /* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
902     in stack traces when debugging.  The compiler should omit the function from
903     stack traces.  */
904 /* Applies to: function.  */
905 #if _GL_HAS_ATTRIBUTE (artificial)
906 # define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
907 #else
908 # define _GL_ATTRIBUTE_ARTIFICIAL
909 #endif
910
911 /* _GL_ATTRIBUTE_COLD declares that the function is rarely executed.  */
912 /* Applies to: functions.  */
913 /* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
914    <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
915    Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
916 #if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
917 # ifndef __SUNPRO_C
918 #  define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
919 # else
920 #  define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
921 # endif
922 #else
923 # define _GL_ATTRIBUTE_COLD
924 #endif
925
926 /* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
927    calls to the function with the same arguments.
928    This attribute is safe for a function that neither depends on nor affects
929    observable state, and always returns exactly once - e.g., does not loop
930    forever, and does not call longjmp.
931    (This attribute is stricter than _GL_ATTRIBUTE_PURE.)  */
932 /* Applies to: functions.  */
933 #if _GL_HAS_ATTRIBUTE (const)
934 # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
935 #else
936 # define _GL_ATTRIBUTE_CONST
937 #endif
938
939 /* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
940    that can be freed by passing them as the Ith argument to the
941    function F.
942    _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
943    can be freed via 'free'; it can be used only after declaring 'free'.  */
944 /* Applies to: functions.  Cannot be used on inline functions.  */
945 #if _GL_GNUC_PREREQ (11, 0)
946 # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
947 #else
948 # define _GL_ATTRIBUTE_DEALLOC(f, i)
949 #endif
950 /* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
951    to use this earlier definition, since <stdlib.h> may not have been included
952    yet.  */
953 #ifndef _GL_ATTRIBUTE_DEALLOC_FREE
954 # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
955 #endif
956
957 /* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
958    The compiler may warn if the entity is used.  */
959 /* Applies to:
960      - function, variable,
961      - struct, union, struct/union member,
962      - enumeration, enumeration item,
963      - typedef,
964    in C++ also: namespace, class, template specialization.  */
965 #if _GL_HAS_C_ATTRIBUTE (deprecated)
966 # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
967 #elif _GL_HAS_ATTRIBUTE (deprecated)
968 # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
969 #else
970 # define _GL_ATTRIBUTE_DEPRECATED
971 #endif
972
973 /* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
974    the function call is not optimized away.
975    _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
976    the function call is not optimized away.  */
977 /* Applies to: functions.  */
978 #if _GL_HAS_ATTRIBUTE (error)
979 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
980 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
981 #elif _GL_HAS_ATTRIBUTE (diagnose_if)
982 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
983 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
984 #else
985 # define _GL_ATTRIBUTE_ERROR(msg)
986 # define _GL_ATTRIBUTE_WARNING(msg)
987 #endif
988
989 /* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
990    visible to debuggers etc., even with '-fwhole-program'.  */
991 /* Applies to: functions, variables.  */
992 #if _GL_HAS_ATTRIBUTE (externally_visible)
993 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
994 #else
995 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
996 #endif
997
998 /* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
999    the control flow falls through to the immediately following 'case' or
1000    'default' label.  The compiler should not warn in this case.  */
1001 /* Applies to: Empty statement (;), inside a 'switch' statement.  */
1002 /* Always expands to something.  */
1003 #if _GL_HAS_C_ATTRIBUTE (fallthrough)
1004 # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
1005 #elif _GL_HAS_ATTRIBUTE (fallthrough)
1006 # define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
1007 #else
1008 # define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
1009 #endif
1010
1011 /* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
1012    declares that the STRING-INDEXth function argument is a format string of
1013    style ARCHETYPE, which is one of:
1014      printf, gnu_printf
1015      scanf, gnu_scanf,
1016      strftime, gnu_strftime,
1017      strfmon,
1018    or the same thing prefixed and suffixed with '__'.
1019    If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
1020    are suitable for the format string.  */
1021 /* Applies to: functions.  */
1022 #if _GL_HAS_ATTRIBUTE (format)
1023 # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
1024 #else
1025 # define _GL_ATTRIBUTE_FORMAT(spec)
1026 #endif
1027
1028 /* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
1029    compilation unit, it executes code from that unit only by return or by
1030    exception handling.  This declaration lets the compiler optimize that unit
1031    more aggressively.  */
1032 /* Applies to: functions.  */
1033 #if _GL_HAS_ATTRIBUTE (leaf)
1034 # define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
1035 #else
1036 # define _GL_ATTRIBUTE_LEAF
1037 #endif
1038
1039 /* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
1040    allocated memory.  */
1041 /* Applies to: functions.  */
1042 #if _GL_HAS_ATTRIBUTE (malloc)
1043 # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
1044 #else
1045 # define _GL_ATTRIBUTE_MALLOC
1046 #endif
1047
1048 /* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
1049    same storage as pointers to other types.  Thus this declaration disables
1050    strict aliasing optimization.  */
1051 /* Applies to: types.  */
1052 /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
1053 #if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
1054 # define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
1055 #else
1056 # define _GL_ATTRIBUTE_MAY_ALIAS
1057 #endif
1058
1059 /* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
1060    the entity is not used.  The compiler should not warn if the entity is not
1061    used.  */
1062 /* Applies to:
1063      - function, variable,
1064      - struct, union, struct/union member,
1065      - enumeration, enumeration item,
1066      - typedef,
1067    in C++ also: class.  */
1068 /* In C++ and C2x, this is spelled [[__maybe_unused__]].
1069    GCC's syntax is __attribute__ ((__unused__)).
1070    clang supports both syntaxes.  */
1071 #if _GL_HAS_C_ATTRIBUTE (maybe_unused)
1072 # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
1073 #else
1074 # define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
1075 #endif
1076 /* Alternative spelling of this macro, for convenience.  */
1077 #define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
1078 /* Earlier spellings of this macro.  */
1079 #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
1080
1081 /* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not
1082    discard the return value.  The compiler may warn if the caller does not use
1083    the return value, unless the caller uses something like ignore_value.  */
1084 /* Applies to: function, enumeration, class.  */
1085 #if _GL_HAS_C_ATTRIBUTE (nodiscard)
1086 # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
1087 #elif _GL_HAS_ATTRIBUTE (warn_unused_result)
1088 # define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
1089 #else
1090 # define _GL_ATTRIBUTE_NODISCARD
1091 #endif
1092
1093 /* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
1094    function.  */
1095 /* Applies to: functions.  */
1096 #if _GL_HAS_ATTRIBUTE (noinline)
1097 # define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
1098 #else
1099 # define _GL_ATTRIBUTE_NOINLINE
1100 #endif
1101
1102 /* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
1103    must not be NULL.
1104    _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
1105    null.  */
1106 /* Applies to: functions.  */
1107 #if _GL_HAS_ATTRIBUTE (nonnull)
1108 # define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
1109 #else
1110 # define _GL_ATTRIBUTE_NONNULL(args)
1111 #endif
1112
1113 /* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
1114    not meant to be NUL-terminated.  */
1115 /* Applies to: struct/union members and variables that are arrays of element
1116    type '[[un]signed] char'.  */
1117 #if _GL_HAS_ATTRIBUTE (nonstring)
1118 # define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
1119 #else
1120 # define _GL_ATTRIBUTE_NONSTRING
1121 #endif
1122
1123 /* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
1124
1125 /* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
1126  */
1127 /* Applies to: functions.  */
1128 #if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
1129 # define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
1130 #else
1131 # define _GL_ATTRIBUTE_NOTHROW
1132 #endif
1133
1134 /* _GL_ATTRIBUTE_PACKED declares:
1135    For struct members: The member has the smallest possible alignment.
1136    For struct, union, class: All members have the smallest possible alignment,
1137    minimizing the memory required.  */
1138 /* Applies to: struct members, struct, union,
1139    in C++ also: class.  */
1140 #if _GL_HAS_ATTRIBUTE (packed)
1141 # define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
1142 #else
1143 # define _GL_ATTRIBUTE_PACKED
1144 #endif
1145
1146 /* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
1147    calls to the function with the same arguments if observable state is not
1148    changed between calls.
1149    This attribute is safe for a function that does not affect
1150    observable state, and always returns exactly once.
1151    (This attribute is looser than _GL_ATTRIBUTE_CONST.)  */
1152 /* Applies to: functions.  */
1153 #if _GL_HAS_ATTRIBUTE (pure)
1154 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
1155 #else
1156 # define _GL_ATTRIBUTE_PURE
1157 #endif
1158
1159 /* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
1160    a non-NULL pointer.  */
1161 /* Applies to: functions.  */
1162 #if _GL_HAS_ATTRIBUTE (returns_nonnull)
1163 # define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
1164 #else
1165 # define _GL_ATTRIBUTE_RETURNS_NONNULL
1166 #endif
1167
1168 /* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
1169    trailing NULL argument.
1170    _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
1171    _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
1172 /* Applies to: functions.  */
1173 #if _GL_HAS_ATTRIBUTE (sentinel)
1174 # define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
1175 #else
1176 # define _GL_ATTRIBUTE_SENTINEL(pos)
1177 #endif
1178
1179 /* A helper macro.  Don't use it directly.  */
1180 #if _GL_HAS_ATTRIBUTE (unused)
1181 # define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
1182 #else
1183 # define _GL_ATTRIBUTE_UNUSED
1184 #endif
1185
1186
1187 /* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the
1188    immediately preceding label is not used.  The compiler should not warn
1189    if the label is not used.  */
1190 /* Applies to: label (both in C and C++).  */
1191 /* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
1192    syntax.  But clang does.  */
1193 #if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
1194 # define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
1195 #else
1196 # define _GL_UNUSED_LABEL
1197 #endif
1198
1199
1200 /* A replacement for va_copy, if needed.  */
1201 #define gl_va_copy(a,b) ((a) = (b))
1202
1203 /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
1204    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
1205    earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
1206    __APPLE__ && __MACH__ test for Mac OS X.
1207    __APPLE_CC__ tests for the Apple compiler and its version.
1208    __STDC_VERSION__ tests for the C99 mode.  */
1209 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
1210 # define __GNUC_STDC_INLINE__ 1
1211 #endif
1212
1213 /* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
1214    n1 and n2 are expressions without side effects, that evaluate to real
1215    numbers (excluding NaN).
1216    It returns
1217      1  if n1 > n2
1218      0  if n1 == n2
1219      -1 if n1 < n2
1220    The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
1221    jump with nearly all GCC versions up to GCC 10.
1222    This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
1223    GCC versions up to GCC 9.
1224    The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
1225    avoids conditional jumps in all GCC versions >= 3.4.  */
1226 #define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
1227
1228
1229 /* Define to `int' if <sys/types.h> does not define. */
1230 #undef mode_t
1231
1232 /* Define to the type of st_nlink in struct stat, or a supertype. */
1233 #undef nlink_t
1234
1235 /* Define as a signed integer type capable of holding a process identifier. */
1236 #undef pid_t
1237
1238 /* Define to the equivalent of the C99 'restrict' keyword, or to
1239    nothing if this is not supported.  Do not define if restrict is
1240    supported only directly.  */
1241 #undef restrict
1242 /* Work around a bug in older versions of Sun C++, which did not
1243    #define __restrict__ or support _Restrict or __restrict__
1244    even though the corresponding Sun C compiler ended up with
1245    "#define restrict _Restrict" or "#define restrict __restrict__"
1246    in the previous line.  This workaround can be removed once
1247    we assume Oracle Developer Studio 12.5 (2016) or later.  */
1248 #if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
1249 # define _Restrict
1250 # define __restrict__
1251 #endif
1252
1253 /* Define to `unsigned int' if <sys/types.h> does not define. */
1254 #undef size_t
1255
1256 /* Define as a signed type of the same size as size_t. */
1257 #undef ssize_t
1258
1259 /* Define as a macro for copying va_list variables. */
1260 #undef va_copy