[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] typedefs: add QJSON
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH] typedefs: add QJSON |
Date: |
Fri, 8 Jun 2018 10:04:39 +0100 |
User-agent: |
Mutt/1.9.5 (2018-04-13) |
* Greg Kurz (address@hidden) wrote:
> Since commit 83ee768d6247b, we now have two places that define the
> QJSON type:
>
> $ git grep 'typedef struct QJSON QJSON'
> include/migration/vmstate.h:typedef struct QJSON QJSON;
> migration/qjson.h:typedef struct QJSON QJSON;
>
> This breaks address@hidden:
>
> In file included from /tmp/qemu-test/src/migration/savevm.c:59:
> /tmp/qemu-test/src/migration/qjson.h:16: error: redefinition of typedef
> 'QJSON'
> /tmp/qemu-test/src/include/migration/vmstate.h:30: note: previous
> declaration of 'QJSON' was here
> make: *** [migration/savevm.o] Error 1
>
> This happens because CentOS 6 has an old GCC 4.4.7. Even if redefining
> a typedef with the same type is permitted since GCC 4.6, unless -pedantic
> is passed, we don't really need to do that on purpose. Let's have a
> single definition in <qemu/typedefs.h> instead.
>
> Signed-off-by: Greg Kurz <address@hidden>
Yeh that looks right to me;
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> ---
> include/migration/vmstate.h | 2 --
> include/qemu/typedefs.h | 1 +
> migration/qjson.h | 2 --
> 3 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> index 3747110f951a..42b946ce902c 100644
> --- a/include/migration/vmstate.h
> +++ b/include/migration/vmstate.h
> @@ -27,8 +27,6 @@
> #ifndef QEMU_VMSTATE_H
> #define QEMU_VMSTATE_H
>
> -typedef struct QJSON QJSON;
> -
> typedef struct VMStateInfo VMStateInfo;
> typedef struct VMStateDescription VMStateDescription;
> typedef struct VMStateField VMStateField;
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index 325c72de3313..3ec0e13a967f 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -97,6 +97,7 @@ typedef struct QEMUTimer QEMUTimer;
> typedef struct QEMUTimerListGroup QEMUTimerListGroup;
> typedef struct QBool QBool;
> typedef struct QDict QDict;
> +typedef struct QJSON QJSON;
> typedef struct QList QList;
> typedef struct QNull QNull;
> typedef struct QNum QNum;
> diff --git a/migration/qjson.h b/migration/qjson.h
> index 2978b5f37121..41664f2d71b5 100644
> --- a/migration/qjson.h
> +++ b/migration/qjson.h
> @@ -13,8 +13,6 @@
> #ifndef QEMU_QJSON_H
> #define QEMU_QJSON_H
>
> -typedef struct QJSON QJSON;
> -
> QJSON *qjson_new(void);
> void qjson_destroy(QJSON *json);
> void json_prop_str(QJSON *json, const char *name, const char *str);
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK