diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2013-01-03 18:17:49 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2013-01-03 18:17:49 -0800 |
commit | ee0d39381afabe6ca81701e786fa506239e261d2 (patch) | |
tree | 7f04c7ae2157f42b11f9f718cfdff1de458a4242 /lib | |
parent | 342532db2bf1f9d9efcd2073b6f4395db548df5a (diff) | |
download | emacs-ee0d39381afabe6ca81701e786fa506239e261d2.tar.gz |
Merge from gnulib.
This incorporates:
2013-01-04 stdio: remove now-unnecessary stdio.c
2013-01-04 fprintftime: depend on stdio, not ignore-value
2013-01-04 fwrite: silence __wur only for older glibc versions
2013-01-04 fwrite: silence __wur without using inline
* lib/stdio.c: Remove.
* lib/stdio.in.h, lib/strftime.c: Update from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gnulib.mk | 1 | ||||
-rw-r--r-- | lib/stdio.c | 3 | ||||
-rw-r--r-- | lib/stdio.in.h | 27 | ||||
-rw-r--r-- | lib/strftime.c | 11 |
4 files changed, 9 insertions, 33 deletions
diff --git a/lib/gnulib.mk b/lib/gnulib.mk index ca628a28da4..2347d84448d 100644 --- a/lib/gnulib.mk +++ b/lib/gnulib.mk @@ -774,7 +774,6 @@ EXTRA_DIST += stdint.in.h ## begin gnulib module stdio BUILT_SOURCES += stdio.h -libgnu_a_SOURCES += stdio.c # We need the following in order to create <stdio.h> when the system # doesn't have one that works with the given compiler. diff --git a/lib/stdio.c b/lib/stdio.c deleted file mode 100644 index e6ed82996b7..00000000000 --- a/lib/stdio.c +++ /dev/null @@ -1,3 +0,0 @@ -#include <config.h> -#define _GL_STDIO_INLINE _GL_EXTERN_INLINE -#include "stdio.h" diff --git a/lib/stdio.in.h b/lib/stdio.in.h index d9a67dc4d41..d6af99ca77d 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -46,11 +46,6 @@ #ifndef _@GUARD_PREFIX@_STDIO_H #define _@GUARD_PREFIX@_STDIO_H -_GL_INLINE_HEADER_BEGIN -#ifndef _GL_STDIO_INLINE -# define _GL_STDIO_INLINE _GL_INLINE -#endif - /* Get va_list. Needed on many systems, including glibc 2.8. */ #include <stdarg.h> @@ -580,21 +575,17 @@ _GL_CXXALIAS_RPL (fwrite, size_t, _GL_CXXALIAS_SYS (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); -/* Work around glibc bug 11959 +/* Work around bug 11959 when fortifying glibc 2.4 through 2.15 <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>, which sometimes causes an unwanted diagnostic for fwrite calls. - This affects only function declaration attributes, so it's not - needed for C++. */ -# if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL -_GL_STDIO_INLINE size_t _GL_ARG_NONNULL ((1, 4)) -rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream) -{ - size_t r = fwrite (ptr, s, n, stream); - (void) r; - return r; -} + This affects only function declaration attributes under certain + versions of gcc, and is not needed for C++. */ +# if (0 < __USE_FORTIFY_LEVEL \ + && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \ + && 3 < __GNUC__ + (4 <= __GNUC_MINOR__) \ + && !defined __cplusplus) # undef fwrite -# define fwrite rpl_fwrite +# define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; }) # endif # endif _GL_CXXALIASWARN (fwrite); @@ -1338,8 +1329,6 @@ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - " "POSIX compliance"); #endif -_GL_INLINE_HEADER_END - #endif /* _@GUARD_PREFIX@_STDIO_H */ #endif /* _@GUARD_PREFIX@_STDIO_H */ #endif diff --git a/lib/strftime.c b/lib/strftime.c index 1d58f2a160b..213ced860de 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -26,7 +26,6 @@ #else # include <config.h> # if FPRINTFTIME -# include "ignore-value.h" # include "fprintftime.h" # else # include "strftime.h" @@ -209,15 +208,7 @@ extern char *tzname[]; else if (to_uppcase) \ fwrite_uppcase (p, (s), _n); \ else \ - { \ - /* We are ignoring the value of fwrite here, in spite of the \ - fact that technically, that may not be valid: the fwrite \ - specification in POSIX 2008 defers to that of fputc, which \ - is intended to be consistent with the one from ISO C, \ - which permits failure due to ENOMEM *without* setting the \ - stream's error indicator. */ \ - ignore_value (fwrite ((s), _n, 1, p)); \ - } \ + fwrite (s, _n, 1, p); \ } \ while (0) \ ) |