aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2012-08-22 21:42:32 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-10-11 21:44:20 -0500
commit78fd27b3b6f0953a52b4a0f4d63265574d998582 (patch)
treee7a2bafe28ec84270c0bd8cf8b2660076f37035e
parentd4413913e1709bdbc892260124843e75e55d0eed (diff)
w32: Always use standard instead of native format strings
GLib 2.0 include files use __printf__ for the format attribute which resolves to native format strings on w32 hosts. QEMU wants standard format strings instead of native format strings, so we simply change any declaration with __printf__ to use __gnu_printf__. This works because all basic printf functions support both kinds of format strings. This fixes a compiler warning: qapi/string-output-visitor.c: In function ‘print_type_int’: qapi/string-output-visitor.c:34:5: warning: unknown conversion type character ‘l’ in format [-Wformat] qapi/string-output-visitor.c:34:5: warning: too many arguments for format [-Wformat-extra-args] Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> (cherry picked from commit 95df51a4a02a853af8828c281bce2d4f2a41d6fd) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--compiler.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler.h b/compiler.h
index 07ba1f8113..c734a71c67 100644
--- a/compiler.h
+++ b/compiler.h
@@ -44,6 +44,11 @@
/* 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)))
+# if defined(_WIN32)
+ /* Map __printf__ to __gnu_printf__ because we want standard format strings
+ * even when MinGW or GLib include files use __printf__. */
+# define __printf__ __gnu_printf__
+# endif
# endif
#if defined(_WIN32)
#define GCC_WEAK __attribute__((weak))