diff mbox

error framework: Fix compilation for w32/w64

Message ID 1307998913-8970-1-git-send-email-weil@mail.berlios.de
State Accepted
Headers show

Commit Message

Stefan Weil June 13, 2011, 9:01 p.m. UTC
The declaration of function error_set() should use macro GCC_FMT_ATTR
instead of gcc's format printf attribute.

For w32/w64, both declarations are different and GCC_FMT_ATTR is needed.
Compilation for w64 even failed with the original code because mingw64
defines a macro for printf.

GCC_FMT_ATTR requires qemu-common.h, so add it in error.c
(it's also included by error_int.h but too late).

Remove assert.h which is included by qemu-common.h.

Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 error.c |    3 ++-
 error.h |    3 +--
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Luiz Capitulino June 15, 2011, 1:35 p.m. UTC | #1
On Mon, 13 Jun 2011 23:01:53 +0200
Stefan Weil <weil@mail.berlios.de> wrote:

> The declaration of function error_set() should use macro GCC_FMT_ATTR
> instead of gcc's format printf attribute.
> 
> For w32/w64, both declarations are different and GCC_FMT_ATTR is needed.
> Compilation for w64 even failed with the original code because mingw64
> defines a macro for printf.
> 
> GCC_FMT_ATTR requires qemu-common.h, so add it in error.c
> (it's also included by error_int.h but too late).
> 
> Remove assert.h which is included by qemu-common.h.
> 
> Cc: Luiz Capitulino <lcapitulino@redhat.com>
> Cc: Anthony Liguori <aliguori@us.ibm.com>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>

Applied to the monitor queue, thanks.

> ---
>  error.c |    3 ++-
>  error.h |    3 +--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/error.c b/error.c
> index 867eec2..74d7398 100644
> --- a/error.c
> +++ b/error.c
> @@ -9,11 +9,12 @@
>   * This work is licensed under the terms of the GNU LGPL, version 2.  See
>   * the COPYING.LIB file in the top-level directory.
>   */
> +
> +#include "qemu-common.h"
>  #include "error.h"
>  #include "error_int.h"
>  #include "qemu-objects.h"
>  #include "qerror.h"
> -#include <assert.h>
>  
>  struct Error
>  {
> diff --git a/error.h b/error.h
> index 003c855..0f92a6f 100644
> --- a/error.h
> +++ b/error.h
> @@ -25,8 +25,7 @@ typedef struct Error Error;
>   * Currently, qerror.h defines these error formats.  This function is not
>   * meant to be used outside of QEMU.
>   */
> -void error_set(Error **err, const char *fmt, ...)
> -    __attribute__((format(printf, 2, 3)));
> +void error_set(Error **err, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
>  
>  /**
>   * Returns true if an indirect pointer to an error is pointing to a valid
diff mbox

Patch

diff --git a/error.c b/error.c
index 867eec2..74d7398 100644
--- a/error.c
+++ b/error.c
@@ -9,11 +9,12 @@ 
  * This work is licensed under the terms of the GNU LGPL, version 2.  See
  * the COPYING.LIB file in the top-level directory.
  */
+
+#include "qemu-common.h"
 #include "error.h"
 #include "error_int.h"
 #include "qemu-objects.h"
 #include "qerror.h"
-#include <assert.h>
 
 struct Error
 {
diff --git a/error.h b/error.h
index 003c855..0f92a6f 100644
--- a/error.h
+++ b/error.h
@@ -25,8 +25,7 @@  typedef struct Error Error;
  * Currently, qerror.h defines these error formats.  This function is not
  * meant to be used outside of QEMU.
  */
-void error_set(Error **err, const char *fmt, ...)
-    __attribute__((format(printf, 2, 3)));
+void error_set(Error **err, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
 
 /**
  * Returns true if an indirect pointer to an error is pointing to a valid