diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2025-06-03 13:39:33 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2025-06-26 15:49:11 +0100 |
commit | 56245d74e26f1ae6365f39ca0f4dce4f26c19607 (patch) | |
tree | 3746c2a81eb8f2de632d633382041a03da0c7650 /libctf | |
parent | 043507b43be4171a5a911bb47559438b807ab7e5 (diff) | |
download | binutils-56245d74e26f1ae6365f39ca0f4dce4f26c19607.zip binutils-56245d74e26f1ae6365f39ca0f4dce4f26c19607.tar.gz binutils-56245d74e26f1ae6365f39ca0f4dce4f26c19607.tar.bz2 |
libctf: use __attribute__((__gnu_printf__)) where appropriate
We don't use any GNU-specific printf args, but this prevents warnings about
%z, observed on MinGW even though every libc anyone is likely to use there
supports %z perfectly well, and we're not stopping using it just because
MinGW complains. Doing this means we stand more chance of seeing *actual*
problems on such platforms without them being drowned in noise.
We turn this off on clang, which doesn't support __gnu_printf__.
Suggested by Eli Zaretskii.
libctf/
PR libctf/31863
* ctf-impl.h (_libctf_printflike_): Use __gnu_printf__.
Diffstat (limited to 'libctf')
-rw-r--r-- | libctf/ctf-impl.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h index 935b91e..581e18d 100644 --- a/libctf/ctf-impl.h +++ b/libctf/ctf-impl.h @@ -67,8 +67,13 @@ extern "C" macros glibc may introduce, which have names of the pattern __attribute_blah__. */ +#if defined (__clang__) #define _libctf_printflike_(string_index,first_to_check) \ __attribute__ ((__format__ (__printf__, (string_index), (first_to_check)))) +#else +#define _libctf_printflike_(string_index,first_to_check) \ + __attribute__ ((__format__ (__gnu_printf__, (string_index), (first_to_check)))) +#endif #define _libctf_unlikely_(x) __builtin_expect ((x), 0) #define _libctf_unused_ __attribute__ ((__unused__)) #define _libctf_malloc_ __attribute__((__malloc__)) |