From: Nick Alcock Date: Tue, 3 Jun 2025 12:39:33 +0000 (+0100) Subject: libctf: use __attribute__((__gnu_printf__)) where appropriate X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56245d74e26f1ae6365f39ca0f4dce4f26c19607;p=thirdparty%2Fbinutils-gdb.git 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__. --- diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h index 935b91e916c..581e18d46e6 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__))