diff options
Diffstat (limited to 'gl/stdio.in.h')
| -rw-r--r-- | gl/stdio.in.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/gl/stdio.in.h b/gl/stdio.in.h index dcb8ee57..80b9dbfd 100644 --- a/gl/stdio.in.h +++ b/gl/stdio.in.h | |||
| @@ -63,6 +63,10 @@ | |||
| 63 | 63 | ||
| 64 | /* The definition of _GL_WARN_ON_USE is copied here. */ | 64 | /* The definition of _GL_WARN_ON_USE is copied here. */ |
| 65 | 65 | ||
| 66 | /* Macros for stringification. */ | ||
| 67 | #define _GL_STDIO_STRINGIZE(token) #token | ||
| 68 | #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token) | ||
| 69 | |||
| 66 | 70 | ||
| 67 | #if @GNULIB_DPRINTF@ | 71 | #if @GNULIB_DPRINTF@ |
| 68 | # if @REPLACE_DPRINTF@ | 72 | # if @REPLACE_DPRINTF@ |
| @@ -640,16 +644,26 @@ _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " | |||
| 640 | #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ | 644 | #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ |
| 641 | # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ | 645 | # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ |
| 642 | || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) | 646 | || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) |
| 643 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 647 | # if defined __GNUC__ |
| 648 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
| 644 | /* Don't break __attribute__((format(printf,M,N))). */ | 649 | /* Don't break __attribute__((format(printf,M,N))). */ |
| 645 | # define printf __printf__ | 650 | # define printf __printf__ |
| 646 | # endif | 651 | # endif |
| 647 | # define GNULIB_overrides_printf 1 | ||
| 648 | _GL_FUNCDECL_RPL_1 (__printf__, int, | 652 | _GL_FUNCDECL_RPL_1 (__printf__, int, |
| 649 | (const char *format, ...) | 653 | (const char *format, ...) |
| 654 | __asm__ (@ASM_SYMBOL_PREFIX@ | ||
| 655 | _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) | ||
| 650 | __attribute__ ((__format__ (__printf__, 1, 2))) | 656 | __attribute__ ((__format__ (__printf__, 1, 2))) |
| 651 | _GL_ARG_NONNULL ((1))); | 657 | _GL_ARG_NONNULL ((1))); |
| 652 | _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...)); | 658 | _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...)); |
| 659 | # else | ||
| 660 | _GL_FUNCDECL_RPL (printf, int, | ||
| 661 | (const char *format, ...) | ||
| 662 | __attribute__ ((__format__ (__printf__, 1, 2))) | ||
| 663 | _GL_ARG_NONNULL ((1))); | ||
| 664 | _GL_CXXALIAS_RPL (printf, int, (const char *format, ...)); | ||
| 665 | # endif | ||
| 666 | # define GNULIB_overrides_printf 1 | ||
| 653 | # else | 667 | # else |
| 654 | _GL_CXXALIAS_SYS (printf, int, (const char *format, ...)); | 668 | _GL_CXXALIAS_SYS (printf, int, (const char *format, ...)); |
| 655 | # endif | 669 | # endif |
