From: Bruno Haible Date: Tue, 30 Jul 2024 00:46:41 +0000 (+0200) Subject: Use attribute [[nodiscard]] wherever glibc uses __wur. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=b865c4eb02f882291f8d2c18754e86ee8cd98d4a;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index 78d5ae8b43..b75c07d6f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2024-07-29 Bruno Haible + + 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 Avoid g++ "warning: attributes are not permitted in this position". diff --git a/lib/malloc.in.h b/lib/malloc.in.h index a08f21fb84..b02f2059c1 100644 --- a/lib/malloc.in.h +++ b/lib/malloc.in.h @@ -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)); diff --git a/lib/stdio.in.h b/lib/stdio.in.h index 9d794102ed..3f35dc7ea0 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -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)); diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index 29a48e86ae..affcbb8e26 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -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); diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h index 22f67b1763..9badae6114 100644 --- a/lib/sys_random.in.h +++ b/lib/sys_random.in.h @@ -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 @@ -77,14 +78,14 @@ # 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)); diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h index 1e82399c87..1c41dddeac 100644 --- a/lib/sys_stat.in.h +++ b/lib/sys_stat.in.h @@ -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)); diff --git a/lib/unistd.in.h b/lib/unistd.in.h index ae92587b6d..0e13cdcf6f 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -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