]> Savannah Git Hosting - gnulib.git/commitdiff
Use attribute [[nodiscard]] wherever glibc uses __wur.
authorBruno Haible <bruno@clisp.org>
Tue, 30 Jul 2024 00:46:41 +0000 (02:46 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 30 Jul 2024 00:46:41 +0000 (02:46 +0200)
* lib/malloc.in.h (memalign): Mark with _GL_ATTRIBUTE_NODISCARD.
* lib/stdio.in.h (fdopen, fgets, fopen, fread, freopen, fscanf, ftell,
ftello, getdelim, getline, popen, scanf, tmpfile, vfscanf, vscanf):
Likewise.
* lib/stdlib.in.h (aligned_alloc, atoll, calloc, canonicalize_file_name,
getsubopt, malloc, mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps,
posix_memalign, posix_openpt, ptsname, realloc, reallocarray, realpath,
rpmatch, secure_getenv): Likewise.
* lib/sys_random.in.h (getrandom): Likewise.
* lib/sys_stat.in.h (fchmodat): Likewise.
* lib/unistd.in.h (chown, dup, faccessat, fchdir, fchownat, ftruncate,
getcwd, getdomainname, getentropy, getgroups, lchown, link, linkat,
pipe, pipe2, pread, pwrite, read, readlink, readlinkat, sethostname,
symlink, symlinkat, truncate, ttyname_r, write): Likewise.

ChangeLog
lib/malloc.in.h
lib/stdio.in.h
lib/stdlib.in.h
lib/sys_random.in.h
lib/sys_stat.in.h
lib/unistd.in.h

index 78d5ae8b4397692d73983d153db212d4ecaa14d2..b75c07d6f93203bbb558684dde9ae4d744a82dee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2024-07-29  Bruno Haible  <bruno@clisp.org>
+
+       Use attribute [[nodiscard]] wherever glibc uses __wur.
+       * lib/malloc.in.h (memalign): Mark with _GL_ATTRIBUTE_NODISCARD.
+       * lib/stdio.in.h (fdopen, fgets, fopen, fread, freopen, fscanf, ftell,
+       ftello, getdelim, getline, popen, scanf, tmpfile, vfscanf, vscanf):
+       Likewise.
+       * lib/stdlib.in.h (aligned_alloc, atoll, calloc, canonicalize_file_name,
+       getsubopt, malloc, mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps,
+       posix_memalign, posix_openpt, ptsname, realloc, reallocarray, realpath,
+       rpmatch, secure_getenv): Likewise.
+       * lib/sys_random.in.h (getrandom): Likewise.
+       * lib/sys_stat.in.h (fchmodat): Likewise.
+       * lib/unistd.in.h (chown, dup, faccessat, fchdir, fchownat, ftruncate,
+       getcwd, getdomainname, getentropy, getgroups, lchown, link, linkat,
+       pipe, pipe2, pread, pwrite, read, readlink, readlinkat, sethostname,
+       symlink, symlinkat, truncate, ttyname_r, write): Likewise.
+
 2024-07-29  Bruno Haible  <bruno@clisp.org>
 
        Avoid g++ "warning: attributes are not permitted in this position".
index a08f21fb84f1a6c7868b81792169c0a1022550ed..b02f2059c1ab51c1fba35cde55d1a8ff703d6dd2 100644 (file)
@@ -46,8 +46,8 @@
 #ifndef _@GUARD_PREFIX@_MALLOC_H
 #define _@GUARD_PREFIX@_MALLOC_H
 
-/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_NOTHROW,
-   GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_NODISCARD,
+   _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
 #if !_GL_CONFIG_H_INCLUDED
  #error "Please include config.h first."
 #endif
@@ -143,7 +143,8 @@ _GL_EXTERN_C void free (void *);
 #  endif
 _GL_FUNCDECL_RPL (memalign, void *,
                   (size_t alignment, size_t size)
-                  _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (memalign, void *, (size_t alignment, size_t size));
 # else
 #  if @HAVE_MEMALIGN@
@@ -153,11 +154,13 @@ _GL_CXXALIAS_RPL (memalign, void *, (size_t alignment, size_t size));
 _GL_FUNCDECL_SYS (memalign, void *,
                   (size_t alignment, size_t size)
                   _GL_ATTRIBUTE_NOTHROW
-                  _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #    else
 _GL_FUNCDECL_SYS (memalign, void *,
                   (size_t alignment, size_t size)
-                  _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #    endif
 #   endif
 _GL_CXXALIAS_SYS (memalign, void *, (size_t alignment, size_t size));
index 9d794102eda0a31372f99685f762074f98163444..3f35dc7ea01c5ccc4dfdcadacb51ff816d1e8536 100644 (file)
@@ -382,7 +382,8 @@ _GL_CXXALIASWARN (fcloseall);
 _GL_FUNCDECL_RPL (fdopen, FILE *,
                   (int fd, const char *mode)
                   _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
-                  _GL_ATTRIBUTE_MALLOC);
+                  _GL_ATTRIBUTE_MALLOC
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
 # elif defined _WIN32 && !defined __CYGWIN__
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -398,12 +399,14 @@ _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);
+                  _GL_ATTRIBUTE_MALLOC
+                  _GL_ATTRIBUTE_NODISCARD);
 #   else
 _GL_FUNCDECL_SYS (fdopen, FILE *,
                   (int fd, const char *mode)
                   _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
-                  _GL_ATTRIBUTE_MALLOC);
+                  _GL_ATTRIBUTE_MALLOC
+                  _GL_ATTRIBUTE_NODISCARD);
 #   endif
 #  endif
 _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
@@ -497,7 +500,7 @@ _GL_CXXALIASWARN (fgetc);
 #  endif
 _GL_FUNCDECL_RPL (fgets, char *,
                   (char *restrict s, int n, FILE *restrict stream)
-                  _GL_ARG_NONNULL ((1, 3)));
+                  _GL_ARG_NONNULL ((1, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fgets, char *,
                   (char *restrict s, int n, FILE *restrict stream));
 # else
@@ -535,7 +538,7 @@ _GL_CXXALIASWARN (fileno);
 _GL_FUNCDECL_RPL (fopen, FILE *,
                   (const char *restrict filename, const char *restrict mode)
                   _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
-                  _GL_ATTRIBUTE_MALLOC);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fopen, FILE *,
                   (const char *restrict filename, const char *restrict mode));
 # else
@@ -543,7 +546,8 @@ _GL_CXXALIAS_RPL (fopen, FILE *,
 /* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose.  */
 _GL_FUNCDECL_SYS (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_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (fopen, FILE *,
                   (const char *restrict filename, const char *restrict mode));
@@ -696,7 +700,7 @@ _GL_CXXALIASWARN (fputs);
 _GL_FUNCDECL_RPL (fread, size_t,
                   (void *restrict ptr, size_t s, size_t n,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((4)));
+                  _GL_ARG_NONNULL ((4)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fread, size_t,
                   (void *restrict ptr, size_t s, size_t n,
                    FILE *restrict stream));
@@ -719,7 +723,7 @@ _GL_CXXALIASWARN (fread);
 _GL_FUNCDECL_RPL (freopen, FILE *,
                   (const char *restrict filename, const char *restrict mode,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((2, 3)));
+                  _GL_ARG_NONNULL ((2, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (freopen, FILE *,
                   (const char *restrict filename, const char *restrict mode,
                    FILE *restrict stream));
@@ -748,7 +752,7 @@ _GL_WARN_ON_USE (freopen,
 _GL_FUNCDECL_RPL (fscanf, int,
                   (FILE *restrict stream, const char *restrict format, ...)
                   _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
-                  _GL_ARG_NONNULL ((1, 2)));
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fscanf, int,
                   (FILE *restrict stream, const char *restrict format, ...));
 # else
@@ -868,7 +872,8 @@ _GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than 4 GB "
 #   undef ftell
 #   define ftell rpl_ftell
 #  endif
-_GL_FUNCDECL_RPL (ftell, long, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (ftell, long, (FILE *fp)
+                               _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (ftell, long, (FILE *fp));
 # else
 _GL_CXXALIAS_SYS (ftell, long, (FILE *fp));
@@ -888,11 +893,13 @@ _GL_CXXALIASWARN (ftell);
 #   undef ftello
 #   define ftello rpl_ftello
 #  endif
-_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp)
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
 # else
 #  if ! @HAVE_DECL_FTELLO@
-_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp)
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
 # endif
@@ -1011,7 +1018,7 @@ _GL_FUNCDECL_RPL (getdelim, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    int delimiter,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((1, 2, 4)));
+                  _GL_ARG_NONNULL ((1, 2, 4)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (getdelim, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    int delimiter,
@@ -1022,7 +1029,7 @@ _GL_FUNCDECL_SYS (getdelim, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    int delimiter,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((1, 2, 4)));
+                  _GL_ARG_NONNULL ((1, 2, 4)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (getdelim, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
@@ -1055,7 +1062,7 @@ _GL_WARN_ON_USE (getdelim, "getdelim is unportable - "
 _GL_FUNCDECL_RPL (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
+                  _GL_ARG_NONNULL ((1, 2, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    FILE *restrict stream));
@@ -1064,7 +1071,7 @@ _GL_CXXALIAS_RPL (getline, ssize_t,
 _GL_FUNCDECL_SYS (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    FILE *restrict stream)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
+                  _GL_ARG_NONNULL ((1, 2, 3)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
@@ -1236,14 +1243,14 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
 _GL_FUNCDECL_RPL (popen, FILE *,
                   (const char *cmd, const char *mode)
                   _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
-                  _GL_ATTRIBUTE_MALLOC);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_NODISCARD);
 _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_ATTRIBUTE_MALLOC);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
 # endif
@@ -1494,7 +1501,7 @@ _GL_FUNCDECL_RPL_1 (__scanf__, int,
                     __asm__ (@ASM_SYMBOL_PREFIX@
                              _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf))
                     _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
-                    _GL_ARG_NONNULL ((1)));
+                    _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *restrict format, ...));
 #  else
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1503,7 +1510,7 @@ _GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *restrict format, ...));
 #   endif
 _GL_FUNCDECL_RPL (scanf, int, (const char *restrict format, ...)
                               _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
-                              _GL_ARG_NONNULL ((1)));
+                              _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (scanf, int, (const char *restrict format, ...));
 #  endif
 # else
@@ -1654,14 +1661,16 @@ _GL_CXXALIASWARN (tempnam);
 #  endif
 _GL_FUNCDECL_RPL (tmpfile, FILE *, (void)
                                    _GL_ATTRIBUTE_DEALLOC (fclose, 1)
-                                   _GL_ATTRIBUTE_MALLOC);
+                                   _GL_ATTRIBUTE_MALLOC
+                                   _GL_ATTRIBUTE_NODISCARD);
 _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_MALLOC);
+                                   _GL_ATTRIBUTE_MALLOC
+                                   _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
 # endif
@@ -1893,7 +1902,7 @@ _GL_FUNCDECL_RPL (vfscanf, int,
                   (FILE *restrict stream,
                    const char *restrict format, va_list args)
                   _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0)
-                  _GL_ARG_NONNULL ((1, 2)));
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (vfscanf, int,
                   (FILE *restrict stream,
                    const char *restrict format, va_list args));
@@ -1971,7 +1980,7 @@ _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - "
 #  endif
 _GL_FUNCDECL_RPL (vscanf, int, (const char *restrict format, va_list args)
                                _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0)
-                               _GL_ARG_NONNULL ((1)));
+                               _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (vscanf, int, (const char *restrict format, va_list args));
 # else
 _GL_CXXALIAS_SYS (vscanf, int, (const char *restrict format, va_list args));
index 29a48e86ae089558ea1d792ed895b12e155ec21b..affcbb8e26b538dfb96068f8a71ecab87e7661ce 100644 (file)
@@ -51,8 +51,8 @@
 #define _@GUARD_PREFIX@_STDLIB_H
 
 /* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
-   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
-   HAVE_RAW_DECL_*.  */
+   _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE,
+   GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
 #if !_GL_CONFIG_H_INCLUDED
  #error "Please include config.h first."
 #endif
@@ -295,7 +295,8 @@ _GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
 #  endif
 _GL_FUNCDECL_RPL (aligned_alloc, void *,
                   (size_t alignment, size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size));
 # else
 #  if @HAVE_ALIGNED_ALLOC@
@@ -305,11 +306,13 @@ _GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size));
 _GL_FUNCDECL_SYS (aligned_alloc, void *,
                   (size_t alignment, size_t size)
                   _GL_ATTRIBUTE_NOTHROW
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #    else
 _GL_FUNCDECL_SYS (aligned_alloc, void *,
                   (size_t alignment, size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #    endif
 #   endif
 _GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size));
@@ -345,9 +348,10 @@ _GL_WARN_ON_USE (aligned_alloc, "aligned_alloc is not portable - "
 /* Parse a signed decimal integer.
    Returns the value of the integer.  Errors are not detected.  */
 # if !@HAVE_ATOLL@
-_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
-                                    _GL_ATTRIBUTE_PURE
-                                    _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (atoll, long long,
+                  (const char *string)
+                  _GL_ATTRIBUTE_PURE
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
 _GL_CXXALIASWARN (atoll);
@@ -368,7 +372,8 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (calloc, void *,
                   (size_t nmemb, size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
 # else
 #  if __GNUC__ >= 11
@@ -377,11 +382,13 @@ _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
 _GL_FUNCDECL_SYS (calloc, void *,
                   (size_t nmemb, size_t size)
                   _GL_ATTRIBUTE_NOTHROW
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   else
 _GL_FUNCDECL_SYS (calloc, void *,
                   (size_t nmemb, size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   endif
 #  endif
 _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
@@ -419,7 +426,8 @@ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
 _GL_FUNCDECL_RPL (canonicalize_file_name, char *,
                   (const char *name)
                   _GL_ARG_NONNULL ((1))
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
 # else
 #  if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11
@@ -428,12 +436,14 @@ _GL_FUNCDECL_SYS (canonicalize_file_name, char *,
                   (const char *name)
                   _GL_ATTRIBUTE_NOTHROW
                   _GL_ARG_NONNULL ((1))
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   else
 _GL_FUNCDECL_SYS (canonicalize_file_name, char *,
                   (const char *name)
                   _GL_ARG_NONNULL ((1))
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   endif
 #  endif
 _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
@@ -622,14 +632,14 @@ _GL_WARN_ON_USE (getprogname, "getprogname is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (getsubopt, int,
                   (char **optionp, char *const *tokens, char **valuep)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
+                  _GL_ARG_NONNULL ((1, 2, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (getsubopt, int,
                   (char **optionp, char *const *tokens, char **valuep));
 # else
 #  if !@HAVE_GETSUBOPT@
 _GL_FUNCDECL_SYS (getsubopt, int,
                   (char **optionp, char *const *tokens, char **valuep)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
+                  _GL_ARG_NONNULL ((1, 2, 3)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (getsubopt, int,
                   (char **optionp, char *const *tokens, char **valuep));
@@ -675,7 +685,8 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (malloc, void *,
                   (size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
 # else
 #  if __GNUC__ >= 11
@@ -684,11 +695,13 @@ _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
 _GL_FUNCDECL_SYS (malloc, void *,
                   (size_t size)
                   _GL_ATTRIBUTE_NOTHROW
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   else
 _GL_FUNCDECL_SYS (malloc, void *,
                   (size_t size)
-                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+                  _GL_ATTRIBUTE_NODISCARD);
 #   endif
 #  endif
 _GL_CXXALIAS_SYS (malloc, void *, (size_t size));
@@ -800,7 +813,9 @@ _GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
    Returns TEMPLATE, or a null pointer if it cannot get a unique name.
    The directory is created mode 700.  */
 # if !@HAVE_MKDTEMP@
-_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (mkdtemp, char *,
+                  (char * /*template*/)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
 _GL_CXXALIASWARN (mkdtemp);
@@ -831,12 +846,12 @@ _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
 #   define mkostemp rpl_mkostemp
 #  endif
 _GL_FUNCDECL_RPL (mkostemp, int, (char * /*template*/, int /*flags*/)
-                                 _GL_ARG_NONNULL ((1)));
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (mkostemp, int, (char * /*template*/, int /*flags*/));
 # else
 #  if !@HAVE_MKOSTEMP@
 _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
-                                 _GL_ARG_NONNULL ((1)));
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
 # endif
@@ -872,14 +887,14 @@ _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (mkostemps, int,
                   (char * /*template*/, int /*suffixlen*/, int /*flags*/)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (mkostemps, int,
                   (char * /*template*/, int /*suffixlen*/, int /*flags*/));
 # else
 #  if !@HAVE_MKOSTEMPS@
 _GL_FUNCDECL_SYS (mkostemps, int,
                   (char * /*template*/, int /*suffixlen*/, int /*flags*/)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (mkostemps, int,
                   (char * /*template*/, int /*suffixlen*/, int /*flags*/));
@@ -909,11 +924,13 @@ _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define mkstemp rpl_mkstemp
 #  endif
-_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/)
+                                _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
 # else
 #  if ! @HAVE_MKSTEMP@
-_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/)
+                                _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
 # endif
@@ -939,7 +956,7 @@ _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
    set.  */
 # if !@HAVE_MKSTEMPS@
 _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
-                                 _GL_ARG_NONNULL ((1)));
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
 _GL_CXXALIASWARN (mkstemps);
@@ -976,7 +993,7 @@ _GL_CXXALIASWARN (mktemp);
 #  endif
 _GL_FUNCDECL_RPL (posix_memalign, int,
                   (void **memptr, size_t alignment, size_t size)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (posix_memalign, int,
                   (void **memptr, size_t alignment, size_t size));
 # else
@@ -1004,11 +1021,11 @@ _GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - "
 #   undef posix_openpt
 #   define posix_openpt rpl_posix_openpt
 #  endif
-_GL_FUNCDECL_RPL (posix_openpt, int, (int flags));
+_GL_FUNCDECL_RPL (posix_openpt, int, (int flags) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (posix_openpt, int, (int flags));
 # else
 #  if !@HAVE_POSIX_OPENPT@
-_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
 # endif
@@ -1031,11 +1048,11 @@ _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
 #   undef ptsname
 #   define ptsname rpl_ptsname
 #  endif
-_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
+_GL_FUNCDECL_RPL (ptsname, char *, (int fd) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (ptsname, char *, (int fd));
 # else
 #  if !@HAVE_PTSNAME@
-_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
 # endif
@@ -1436,8 +1453,9 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
 #   undef realloc
 #   define realloc rpl_realloc
 #  endif
-_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)
-                                   _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_FUNCDECL_RPL (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
 # else
 #  if __GNUC__ >= 11
@@ -1446,11 +1464,11 @@ _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
 _GL_FUNCDECL_SYS (realloc, void *,
                   (void *ptr, size_t size)
                   _GL_ATTRIBUTE_NOTHROW
-                  _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_NODISCARD);
 #   else
 _GL_FUNCDECL_SYS (realloc, void *,
                   (void *ptr, size_t size)
-                  _GL_ATTRIBUTE_DEALLOC_FREE);
+                  _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_NODISCARD);
 #   endif
 #  endif
 _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
@@ -1488,13 +1506,15 @@ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
 #   define reallocarray rpl_reallocarray
 #  endif
 _GL_FUNCDECL_RPL (reallocarray, void *,
-                  (void *ptr, size_t nmemb, size_t size));
+                  (void *ptr, size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (reallocarray, void *,
                   (void *ptr, size_t nmemb, size_t size));
 # else
 #  if ! @HAVE_REALLOCARRAY@
 _GL_FUNCDECL_SYS (reallocarray, void *,
-                  (void *ptr, size_t nmemb, size_t size));
+                  (void *ptr, size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (reallocarray, void *,
                   (void *ptr, size_t nmemb, size_t size));
@@ -1517,14 +1537,14 @@ _GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (realpath, char *,
                   (const char *restrict name, char *restrict resolved)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (realpath, char *,
                   (const char *restrict name, char *restrict resolved));
 # else
 #  if !@HAVE_REALPATH@
 _GL_FUNCDECL_SYS (realpath, char *,
                   (const char *restrict name, char *restrict resolved)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (realpath, char *,
                   (const char *restrict name, char *restrict resolved));
@@ -1542,7 +1562,8 @@ _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
 /* Test a user response to a question.
    Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
 # if !@HAVE_RPMATCH@
-_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response)
+                                _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
 _GL_CXXALIASWARN (rpmatch);
@@ -1558,7 +1579,8 @@ _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
 /* Look up NAME in the environment, returning 0 in insecure situations.  */
 # if !@HAVE_SECURE_GETENV@
 _GL_FUNCDECL_SYS (secure_getenv, char *,
-                  (char const *name) _GL_ARG_NONNULL ((1)));
+                  (char const *name)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
 _GL_CXXALIASWARN (secure_getenv);
index 22f67b17635876e2693bd7067b48f2c4ff1d93d5..9badae61147ade530d5685925f61c176ced6d213 100644 (file)
@@ -45,7 +45,8 @@
 #ifndef _@GUARD_PREFIX@_SYS_RANDOM_H
 #define _@GUARD_PREFIX@_SYS_RANDOM_H
 
-/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+/* This file uses _GL_ATTRIBUTE_NODISCARD, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
 #if !_GL_CONFIG_H_INCLUDED
  #error "Please include config.h first."
 #endif
 #  endif
 _GL_FUNCDECL_RPL (getrandom, ssize_t,
                   (void *buffer, size_t length, unsigned int flags)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (getrandom, ssize_t,
                   (void *buffer, size_t length, unsigned int flags));
 # else
 #  if !@HAVE_GETRANDOM@
 _GL_FUNCDECL_SYS (getrandom, ssize_t,
                   (void *buffer, size_t length, unsigned int flags)
-                  _GL_ARG_NONNULL ((1)));
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (getrandom, ssize_t,
                   (void *buffer, size_t length, unsigned int flags));
index 1e82399c87b3bbafa355ac81d90e492aeeaa4a43..1c41dddeac195472f54634635dabab6c879274bc 100644 (file)
@@ -55,7 +55,8 @@
 #ifndef _@GUARD_PREFIX@_SYS_STAT_H
 #define _@GUARD_PREFIX@_SYS_STAT_H
 
-/* This file uses _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+/* This file uses _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOTHROW,
+   GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
 #if !_GL_CONFIG_H_INCLUDED
  #error "Please include config.h first."
 #endif
@@ -481,14 +482,14 @@ _GL_CXXALIASWARN (chmod);
 #  endif
 _GL_FUNCDECL_RPL (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag));
 # else
 #  if !@HAVE_FCHMODAT@
 _GL_FUNCDECL_SYS (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag));
index ae92587b6dffb1c589a7fc352b6280f00586da2a..0e13cdcf6f276921cab576e484ebd507c6c0365d 100644 (file)
@@ -69,8 +69,8 @@
 #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
 #define _@GUARD_PREFIX@_UNISTD_H
 
-/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
-   HAVE_RAW_DECL_*.  */
+/* This file uses _GL_ATTRIBUTE_NODISCARD, _GL_INLINE_HEADER_BEGIN, _GL_INLINE,
+   GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
 #if !_GL_CONFIG_H_INCLUDED
  #error "Please include config.h first."
 #endif
@@ -372,12 +372,12 @@ _GL_CXXALIASWARN (chdir);
 #   define chown rpl_chown
 #  endif
 _GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)
-                              _GL_ARG_NONNULL ((1)));
+                              _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid));
 # else
 #  if !@HAVE_CHOWN@
 _GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)
-                              _GL_ARG_NONNULL ((1)));
+                              _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid));
 # endif
@@ -476,7 +476,7 @@ _GL_WARN_ON_USE (copy_file_range,
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup rpl_dup
 #  endif
-_GL_FUNCDECL_RPL (dup, int, (int oldfd));
+_GL_FUNCDECL_RPL (dup, int, (int oldfd) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
 # elif defined _WIN32 && !defined __CYGWIN__
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -944,14 +944,14 @@ _GL_CXXALIASWARN (execvpe);
 #  endif
 _GL_FUNCDECL_RPL (faccessat, int,
                   (int fd, char const *name, int mode, int flag)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (faccessat, int,
                   (int fd, char const *name, int mode, int flag));
 # else
 #  if !@HAVE_FACCESSAT@
 _GL_FUNCDECL_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag));
@@ -979,11 +979,11 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
 #   undef fchdir
 #   define fchdir rpl_fchdir
 #  endif
-_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/));
+_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/));
 # else
 #  if !@HAVE_FCHDIR@ || !@HAVE_DECL_FCHDIR@
-_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
 # endif
@@ -1013,14 +1013,14 @@ _GL_WARN_ON_USE (fchdir, "fchdir is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file,
                                   uid_t owner, gid_t group, int flag)
-                                 _GL_ARG_NONNULL ((2)));
+                                 _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file,
                                   uid_t owner, gid_t group, int flag));
 # else
 #  if !@HAVE_FCHOWNAT@
 _GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file,
                                   uid_t owner, gid_t group, int flag)
-                                 _GL_ARG_NONNULL ((2)));
+                                 _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file,
                                   uid_t owner, gid_t group, int flag));
@@ -1094,13 +1094,17 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
 #   undef ftruncate
 #   define ftruncate rpl_ftruncate
 #  endif
-_GL_FUNCDECL_RPL (ftruncate, int, (int fd, off_t length));
-_GL_CXXALIAS_RPL (ftruncate, int, (int fd, off_t length));
+_GL_FUNCDECL_RPL (ftruncate, int,
+                  (int fd, off_t length) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (ftruncate, int,
+                  (int fd, off_t length));
 # else
 #  if !@HAVE_FTRUNCATE@
-_GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
+_GL_FUNCDECL_SYS (ftruncate, int,
+                  (int fd, off_t length) _GL_ATTRIBUTE_NODISCARD);
 #  endif
-_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
+_GL_CXXALIAS_SYS (ftruncate, int,
+                  (int fd, off_t length));
 # endif
 # if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ftruncate);
@@ -1129,7 +1133,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define getcwd rpl_getcwd
 #  endif
-_GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
+_GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size)
+                                  _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
 # elif defined _WIN32 && !defined __CYGWIN__
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1184,15 +1189,19 @@ _GL_CXXALIASWARN (getcwd);
 #   undef getdomainname
 #   define getdomainname rpl_getdomainname
 #  endif
-_GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len)
-                                      _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len));
+_GL_FUNCDECL_RPL (getdomainname, int,
+                  (char *name, size_t len)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (getdomainname, int,
+                  (char *name, size_t len));
 # else
 #  if !@HAVE_DECL_GETDOMAINNAME@
-_GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
-                                      _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (getdomainname, int,
+                  (char *name, size_t len)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
-_GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
+_GL_CXXALIAS_SYS (getdomainname, int,
+                  (char *name, size_t len));
 # endif
 # if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getdomainname);
@@ -1241,13 +1250,17 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
 #   undef getentropy
 #   define getentropy rpl_getentropy
 #  endif
-_GL_FUNCDECL_RPL (getentropy, int, (void *buffer, size_t length));
-_GL_CXXALIAS_RPL (getentropy, int, (void *buffer, size_t length));
+_GL_FUNCDECL_RPL (getentropy, int,
+                  (void *buffer, size_t length) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (getentropy, int,
+                  (void *buffer, size_t length));
 # else
 #  if !@HAVE_GETENTROPY@
-_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length));
+_GL_FUNCDECL_SYS (getentropy, int,
+                  (void *buffer, size_t length) _GL_ATTRIBUTE_NODISCARD);
 #  endif
-_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length));
+_GL_CXXALIAS_SYS (getentropy, int,
+                  (void *buffer, size_t length));
 # endif
 # if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getentropy);
@@ -1272,13 +1285,17 @@ _GL_WARN_ON_USE (getentropy, "getentropy is unportable - "
 #   undef getgroups
 #   define getgroups rpl_getgroups
 #  endif
-_GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups));
-_GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups));
+_GL_FUNCDECL_RPL (getgroups, int,
+                  (int n, gid_t *groups) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (getgroups, int,
+                  (int n, gid_t *groups));
 # else
 #  if !@HAVE_GETGROUPS@
-_GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups));
+_GL_FUNCDECL_SYS (getgroups, int,
+                  (int n, gid_t *groups) _GL_ATTRIBUTE_NODISCARD);
 #  endif
-_GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups));
+_GL_CXXALIAS_SYS (getgroups, int,
+                  (int n, gid_t *groups));
 # endif
 _GL_CXXALIASWARN (getgroups);
 #elif defined GNULIB_POSIXCHECK
@@ -1679,12 +1696,12 @@ _GL_CXXALIASWARN (isatty);
 #   define lchown rpl_lchown
 #  endif
 _GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)
-                               _GL_ARG_NONNULL ((1)));
+                               _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group));
 # else
 #  if !@HAVE_LCHOWN@
 _GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)
-                               _GL_ARG_NONNULL ((1)));
+                               _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group));
 # endif
@@ -1708,12 +1725,12 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
 #   define link rpl_link
 #  endif
 _GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2)
-                             _GL_ARG_NONNULL ((1, 2)));
+                             _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2));
 # else
 #  if !@HAVE_LINK@
 _GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2)
-                             _GL_ARG_NONNULL ((1, 2)));
+                             _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2));
 # endif
@@ -1739,7 +1756,7 @@ _GL_WARN_ON_USE (link, "link is unportable - "
 _GL_FUNCDECL_RPL (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
                    int flag)
-                  _GL_ARG_NONNULL ((2, 4)));
+                  _GL_ARG_NONNULL ((2, 4)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
                    int flag));
@@ -1748,7 +1765,7 @@ _GL_CXXALIAS_RPL (linkat, int,
 _GL_FUNCDECL_SYS (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
                    int flag)
-                  _GL_ARG_NONNULL ((2, 4)));
+                  _GL_ARG_NONNULL ((2, 4)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
@@ -1815,7 +1832,8 @@ _GL_CXXALIASWARN (lseek);
    Store the read-end as fd[0] and the write-end as fd[1].
    Return 0 upon success, or -1 with errno set upon failure.  */
 # if !@HAVE_PIPE@
-_GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (pipe, int, (int fd[2])
+                             _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 # endif
 _GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
 _GL_CXXALIASWARN (pipe);
@@ -1842,10 +1860,12 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
 #   undef pipe2
 #   define pipe2 rpl_pipe2
 #  endif
-_GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags)
+                              _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
 # else
-_GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags)
+                              _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
 # endif
 # if __GLIBC__ >= 2
@@ -1873,14 +1893,14 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset));
 # else
 #  if !@HAVE_PREAD@
 _GL_FUNCDECL_SYS (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset));
@@ -1910,14 +1930,14 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
 #  endif
 _GL_FUNCDECL_RPL (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset));
 # else
 #  if !@HAVE_PWRITE@
 _GL_FUNCDECL_SYS (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset)
-                  _GL_ARG_NONNULL ((2)));
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset));
@@ -1943,8 +1963,9 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 #   undef read
 #   define read rpl_read
 #  endif
+
 _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
-                                 _GL_ARG_NONNULL ((2)));
+                                 _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
 # elif defined _WIN32 && !defined __CYGWIN__
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1986,7 +2007,7 @@ _GL_CXXALIASWARN (read);
 _GL_FUNCDECL_RPL (readlink, ssize_t,
                   (const char *restrict file,
                    char *restrict buf, size_t bufsize)
-                  _GL_ARG_NONNULL ((1, 2)));
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (readlink, ssize_t,
                   (const char *restrict file,
                    char *restrict buf, size_t bufsize));
@@ -1995,7 +2016,7 @@ _GL_CXXALIAS_RPL (readlink, ssize_t,
 _GL_FUNCDECL_SYS (readlink, ssize_t,
                   (const char *restrict file,
                    char *restrict buf, size_t bufsize)
-                  _GL_ARG_NONNULL ((1, 2)));
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (readlink, ssize_t,
                   (const char *restrict file,
@@ -2019,7 +2040,7 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 _GL_FUNCDECL_RPL (readlinkat, ssize_t,
                   (int fd, char const *restrict file,
                    char *restrict buf, size_t len)
-                  _GL_ARG_NONNULL ((2, 3)));
+                  _GL_ARG_NONNULL ((2, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (readlinkat, ssize_t,
                   (int fd, char const *restrict file,
                    char *restrict buf, size_t len));
@@ -2028,7 +2049,7 @@ _GL_CXXALIAS_RPL (readlinkat, ssize_t,
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
                   (int fd, char const *restrict file,
                    char *restrict buf, size_t len)
-                  _GL_ARG_NONNULL ((2, 3)));
+                  _GL_ARG_NONNULL ((2, 3)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
                   (int fd, char const *restrict file,
@@ -2101,18 +2122,22 @@ _GL_CXXALIASWARN (rmdir);
 #   undef sethostname
 #   define sethostname rpl_sethostname
 #  endif
-_GL_FUNCDECL_RPL (sethostname, int, (const char *name, size_t len)
-                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (sethostname, int, (const char *name, size_t len));
+_GL_FUNCDECL_RPL (sethostname, int,
+                  (const char *name, size_t len)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (sethostname, int,
+                  (const char *name, size_t len));
 # else
 #  if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
-_GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
-                                    _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (sethostname, int,
+                  (const char *name, size_t len)
+                  _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 /* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
    and FreeBSD 6.4 the second parameter is int.  On Solaris 11
    2011-10, the first parameter is not const.  */
-_GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
+_GL_CXXALIAS_SYS_CAST (sethostname, int,
+                       (const char *name, size_t len));
 # endif
 # if __GLIBC__ >= 2
 _GL_CXXALIASWARN (sethostname);
@@ -2185,15 +2210,19 @@ _GL_CXXALIASWARN (swab);
 #   undef symlink
 #   define symlink rpl_symlink
 #  endif
-_GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file)
-                                _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file));
+_GL_FUNCDECL_RPL (symlink, int,
+                  (char const *contents, char const *file)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (symlink, int,
+                  (char const *contents, char const *file));
 # else
 #  if !@HAVE_SYMLINK@
-_GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file)
-                                _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_SYS (symlink, int,
+                  (char const *contents, char const *file)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
-_GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file));
+_GL_CXXALIAS_SYS (symlink, int,
+                  (char const *contents, char const *file));
 # endif
 _GL_CXXALIASWARN (symlink);
 #elif defined GNULIB_POSIXCHECK
@@ -2213,14 +2242,14 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (symlinkat, int,
                   (char const *contents, int fd, char const *file)
-                  _GL_ARG_NONNULL ((1, 3)));
+                  _GL_ARG_NONNULL ((1, 3)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (symlinkat, int,
                   (char const *contents, int fd, char const *file));
 # else
 #  if !@HAVE_SYMLINKAT@
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
-                  _GL_ARG_NONNULL ((1, 3)));
+                  _GL_ARG_NONNULL ((1, 3)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
@@ -2248,12 +2277,12 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
 #   define truncate rpl_truncate
 #  endif
 _GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
-                                 _GL_ARG_NONNULL ((1)));
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
 # else
 #  if !@HAVE_DECL_TRUNCATE@
 _GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
-                                 _GL_ARG_NONNULL ((1)));
+                                 _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
 # endif
@@ -2278,13 +2307,15 @@ _GL_WARN_ON_USE (truncate, "truncate is unportable - "
 #   define ttyname_r rpl_ttyname_r
 #  endif
 _GL_FUNCDECL_RPL (ttyname_r, int,
-                  (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+                  (int fd, char *buf, size_t buflen)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 _GL_CXXALIAS_RPL (ttyname_r, int,
                   (int fd, char *buf, size_t buflen));
 # else
 #  if !@HAVE_DECL_TTYNAME_R@
 _GL_FUNCDECL_SYS (ttyname_r, int,
-                  (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+                  (int fd, char *buf, size_t buflen)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
 #  endif
 _GL_CXXALIAS_SYS (ttyname_r, int,
                   (int fd, char *buf, size_t buflen));
@@ -2407,17 +2438,21 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 #   undef write
 #   define write rpl_write
 #  endif
-_GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
-                                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_FUNCDECL_RPL (write, ssize_t,
+                  (int fd, const void *buf, size_t count)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_NODISCARD);
+_GL_CXXALIAS_RPL (write, ssize_t,
+                  (int fd, const void *buf, size_t count));
 # elif defined _WIN32 && !defined __CYGWIN__
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
 #   define write _write
 #  endif
-_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_CXXALIAS_MDA (write, ssize_t,
+                  (int fd, const void *buf, size_t count));
 # else
-_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_CXXALIAS_SYS (write, ssize_t,
+                  (int fd, const void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (write);
 #elif @GNULIB_MDA_WRITE@
@@ -2429,9 +2464,11 @@ _GL_CXXALIASWARN (write);
 #   undef write
 #   define write _write
 #  endif
-_GL_CXXALIAS_MDA_CAST (write, ssize_t, (int fd, const void *buf, unsigned int count));
+_GL_CXXALIAS_MDA_CAST (write, ssize_t,
+                       (int fd, const void *buf, unsigned int count));
 # else
-_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_CXXALIAS_SYS (write, ssize_t,
+                  (int fd, const void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (write);
 #endif