From 9c9e7d51bf01afdd4902bc9832c4a6ec19f68d0b Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Tue, 21 Sep 2010 22:27:49 +0200 Subject: Move macros GCC_ATTR and GCC_FMT_ATTR to common header file By moving the definition of GCC_ATTR and GCC_FMT_ATTR from audio_int.h to qemu-common.h these macros are now generally available for further patches which add the gcc format attribute. Newer gcc versions support format gnu_printf which is better suited for use in QEMU than format printf (QEMU always uses standard format strings (even with mingw32)). V2: Use correct operator '==' (instead of '=') Cc: Blue Swirl Signed-off-by: Stefan Weil Signed-off-by: Blue Swirl --- qemu-common.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'qemu-common.h') diff --git a/qemu-common.h b/qemu-common.h index 5544ffd8cf..88c5207cf3 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -70,6 +70,22 @@ struct iovec { #include #endif +#if defined __GNUC__ +# if (__GNUC__ < 4) || \ + defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4) + /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */ +# define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2))) +# define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m))) +# else + /* Use gnu_printf when supported (qemu uses standard format strings). */ +# define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2))) +# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m))) +# endif +#else +#define GCC_ATTR /**/ +#define GCC_FMT_ATTR(n, m) +#endif + #ifdef _WIN32 #define fsync _commit #define lseek _lseeki64 -- cgit v1.2.3