diff options
Diffstat (limited to 'tests/stdio.in.h')
| -rw-r--r-- | tests/stdio.in.h | 156 | 
1 files changed, 144 insertions, 12 deletions
| diff --git a/tests/stdio.in.h b/tests/stdio.in.h index 7b36dac2..4947307e 100644 --- a/tests/stdio.in.h +++ b/tests/stdio.in.h @@ -1,6 +1,6 @@  /* A GNU-like <stdio.h>. -   Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. +   Copyright (C) 2004, 2007-2024 Free Software Foundation, Inc.     This file is free software: you can redistribute it and/or modify     it under the terms of the GNU Lesser General Public License as @@ -36,6 +36,18 @@  #ifndef _@GUARD_PREFIX@_STDIO_H +/* Suppress macOS deprecation warnings for sprintf and vsprintf.  */ +#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE +# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +#  include <AvailabilityMacros.h> +# endif +# if (defined MAC_OS_X_VERSION_MIN_REQUIRED \ +      && 130000 <= MAC_OS_X_VERSION_MIN_REQUIRED) +#  define _POSIX_C_SOURCE 200809L +#  define _GL_DEFINED__POSIX_C_SOURCE +# endif +#endif +  #define _GL_ALREADY_INCLUDING_STDIO_H  /* The include_next requires a split double-inclusion guard.  */ @@ -43,9 +55,21 @@  #undef _GL_ALREADY_INCLUDING_STDIO_H +#ifdef _GL_DEFINED__POSIX_C_SOURCE +# undef _GL_DEFINED__POSIX_C_SOURCE +# undef _POSIX_C_SOURCE +#endif +  #ifndef _@GUARD_PREFIX@_STDIO_H  #define _@GUARD_PREFIX@_STDIO_H +/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_FORMAT, +   _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, +   HAVE_RAW_DECL_*.  */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif +  /* Get va_list.  Needed on many systems, including glibc 2.8.  */  #include <stdarg.h> @@ -116,6 +140,38 @@  # endif  #endif +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly +   allocated memory.  */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +#  define _GL_ATTRIBUTE_MALLOC +# endif +#endif + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +#   if __cplusplus >= 201103L +#    define _GL_ATTRIBUTE_NOTHROW noexcept (true) +#   else +#    define _GL_ATTRIBUTE_NOTHROW throw () +#   endif +#  else +#   define _GL_ATTRIBUTE_NOTHROW +#  endif +# else +#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#  else +#   define _GL_ATTRIBUTE_NOTHROW +#  endif +# endif +#endif +  /* An __attribute__ __format__ specifier for a function that takes a format     string and arguments, where the format string directives are the ones     standardized by ISO C99 and POSIX. @@ -193,6 +249,36 @@  # undef putc_unlocked  #endif + +/* Maximum number of characters produced by printing a NaN value.  */ +#ifndef _PRINTF_NAN_LEN_MAX +# if defined __FreeBSD__ || defined __DragonFly__ \ +     || defined __NetBSD__ \ +     || (defined __APPLE__ && defined __MACH__) +/* On BSD systems, a NaN value prints as just "nan", without a sign.  */ +#  define _PRINTF_NAN_LEN_MAX 3 +# elif (__GLIBC__ >= 2) || MUSL_LIBC || defined __OpenBSD__ || defined __sun || defined __CYGWIN__ +/* glibc, musl libc, OpenBSD, Solaris libc, and Cygwin produce "[-]nan".  */ +#  define _PRINTF_NAN_LEN_MAX 4 +# elif defined _AIX +/* AIX produces "[-]NaNQ".  */ +#  define _PRINTF_NAN_LEN_MAX 5 +# elif defined _WIN32 && !defined __CYGWIN__ +/* On native Windows, the output can be: +   - with MSVC ucrt: "[-]nan" or "[-]nan(ind)" or "[-]nan(snan)", +   - with mingw: "[-]1.#IND" or "[-]1.#QNAN".  */ +#  define _PRINTF_NAN_LEN_MAX 10 +# elif defined __sgi +/* On IRIX, the output typically is "[-]nan0xNNNNNNNN" with 8 hexadecimal +   digits.  */ +#  define _PRINTF_NAN_LEN_MAX 14 +# else +/* We don't know, but 32 should be a safe maximum.  */ +#  define _PRINTF_NAN_LEN_MAX 32 +# endif +#endif + +  #if @GNULIB_DPRINTF@  # if @REPLACE_DPRINTF@  #  if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -210,7 +296,9 @@ _GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *restrict format, ...)  #  endif  _GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *restrict format, ...));  # endif +# if __GLIBC__ >= 2  _GL_CXXALIASWARN (dprintf); +# endif  #elif defined GNULIB_POSIXCHECK  # undef dprintf  # if HAVE_RAW_DECL_DPRINTF @@ -273,7 +361,8 @@ _GL_CXXALIASWARN (fcloseall);  #  endif  _GL_FUNCDECL_RPL (fdopen, FILE *,                    (int fd, const char *mode) -                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC);  _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));  # elif defined _WIN32 && !defined __CYGWIN__  #  if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -284,9 +373,18 @@ _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode));  # else  #  if __GNUC__ >= 11  /* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose.  */ +#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2  _GL_FUNCDECL_SYS (fdopen, FILE *,                    (int fd, const char *mode) -                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                  _GL_ATTRIBUTE_NOTHROW +                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC); +#   else +_GL_FUNCDECL_SYS (fdopen, FILE *, +                  (int fd, const char *mode) +                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC); +#   endif  #  endif  _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));  # endif @@ -294,9 +392,18 @@ _GL_CXXALIASWARN (fdopen);  #else  # if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen  /* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose.  */ +#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (fdopen, FILE *, +                  (int fd, const char *mode) +                  _GL_ATTRIBUTE_NOTHROW +                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC); +#  else  _GL_FUNCDECL_SYS (fdopen, FILE *,                    (int fd, const char *mode) -                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC); +#  endif  # endif  # if defined GNULIB_POSIXCHECK  #  undef fdopen @@ -407,7 +514,8 @@ _GL_CXXALIASWARN (fileno);  #  endif  _GL_FUNCDECL_RPL (fopen, FILE *,                    (const char *restrict filename, const char *restrict mode) -                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                  _GL_ATTRIBUTE_MALLOC);  _GL_CXXALIAS_RPL (fopen, FILE *,                    (const char *restrict filename, const char *restrict mode));  # else @@ -882,7 +990,9 @@ _GL_CXXALIAS_SYS (getdelim, ssize_t,                     int delimiter,                     FILE *restrict stream));  # endif +# if __GLIBC__ >= 2  _GL_CXXALIASWARN (getdelim); +# endif  #elif defined GNULIB_POSIXCHECK  # undef getdelim  # if HAVE_RAW_DECL_GETDELIM @@ -921,7 +1031,7 @@ _GL_CXXALIAS_SYS (getline, ssize_t,                    (char **restrict lineptr, size_t *restrict linesize,                     FILE *restrict stream));  # endif -# if @HAVE_DECL_GETLINE@ +# if __GLIBC__ >= 2 && @HAVE_DECL_GETLINE@  _GL_CXXALIASWARN (getline);  # endif  #elif defined GNULIB_POSIXCHECK @@ -951,9 +1061,17 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");  #  endif  _GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));  # else +#  if @HAVE_DECL_GETW@ +#   if defined __APPLE__ && defined __MACH__ +/* The presence of the declaration depends on _POSIX_C_SOURCE.  */ +_GL_FUNCDECL_SYS (getw, int, (FILE *restrict stream)); +#   endif  _GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream)); +#  endif  # endif +# if __GLIBC__ >= 2  _GL_CXXALIASWARN (getw); +# endif  #endif  #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ @@ -1052,13 +1170,15 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "  #  endif  _GL_FUNCDECL_RPL (popen, FILE *,                    (const char *cmd, const char *mode) -                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); +                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) +                  _GL_ATTRIBUTE_MALLOC);  _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));  # else  #  if !@HAVE_POPEN@ || __GNUC__ >= 11  _GL_FUNCDECL_SYS (popen, FILE *,                    (const char *cmd, const char *mode) -                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); +                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) +                  _GL_ATTRIBUTE_MALLOC);  #  endif  _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));  # endif @@ -1068,7 +1188,8 @@ _GL_CXXALIASWARN (popen);  /* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose.  */  _GL_FUNCDECL_SYS (popen, FILE *,                    (const char *cmd, const char *mode) -                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); +                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) +                  _GL_ATTRIBUTE_MALLOC);  # endif  # if defined GNULIB_POSIXCHECK  #  undef popen @@ -1190,9 +1311,17 @@ _GL_CXXALIASWARN (puts);  #  endif  _GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));  # else +#  if @HAVE_DECL_PUTW@ +#   if defined __APPLE__ && defined __MACH__ +/* The presence of the declaration depends on _POSIX_C_SOURCE.  */ +_GL_FUNCDECL_SYS (putw, int, (int w, FILE *restrict stream)); +#   endif  _GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream)); +#  endif  # endif +# if __GLIBC__ >= 2  _GL_CXXALIASWARN (putw); +# endif  #endif  #if @GNULIB_REMOVE@ @@ -1398,13 +1527,15 @@ _GL_CXXALIASWARN (tempnam);  #   define tmpfile rpl_tmpfile  #  endif  _GL_FUNCDECL_RPL (tmpfile, FILE *, (void) -                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                                   _GL_ATTRIBUTE_MALLOC);  _GL_CXXALIAS_RPL (tmpfile, FILE *, (void));  # else  #  if __GNUC__ >= 11  /* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose.  */  _GL_FUNCDECL_SYS (tmpfile, FILE *, (void) -                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                                   _GL_ATTRIBUTE_MALLOC);  #  endif  _GL_CXXALIAS_SYS (tmpfile, FILE *, (void));  # endif @@ -1415,7 +1546,8 @@ _GL_CXXALIASWARN (tmpfile);  # if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile  /* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose.  */  _GL_FUNCDECL_SYS (tmpfile, FILE *, (void) -                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)); +                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1) +                                   _GL_ATTRIBUTE_MALLOC);  # endif  # if defined GNULIB_POSIXCHECK  #  undef tmpfile | 
