Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and
bitbang_i2c.h an error even if they are identical. Move it to a common
place to allow building with this clang version.
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
hw/i2c/bitbang_i2c.h | 2 --
include/hw/i2c/i2c.h | 2 ++
include/hw/i2c/ppc4xx_i2c.h | 3 ---
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h
index 3a7126d5de..9443021710 100644
--- a/hw/i2c/bitbang_i2c.h
+++ b/hw/i2c/bitbang_i2c.h
@@ -3,8 +3,6 @@
#include "hw/i2c/i2c.h"
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
#define BITBANG_I2C_SDA 0
#define BITBANG_I2C_SCL 1
diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
index 5dc166158b..cf4c45a98f 100644
--- a/include/hw/i2c/i2c.h
+++ b/include/hw/i2c/i2c.h
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
/* lm832x.c */
void lm832x_key_event(DeviceState *dev, int key, int state);
diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h
index 0891a9c948..b3450bacf7 100644
--- a/include/hw/i2c/ppc4xx_i2c.h
+++ b/include/hw/i2c/ppc4xx_i2c.h
@@ -31,9 +31,6 @@
#include "hw/sysbus.h"
#include "hw/i2c/i2c.h"
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
#define TYPE_PPC4xx_I2C "ppc4xx-i2c"
#define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)
--
2.13.7
On 2018-11-28 20:27, BALATON Zoltan wrote: > Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and > bitbang_i2c.h an error even if they are identical. Move it to a common > place to allow building with this clang version. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > hw/i2c/bitbang_i2c.h | 2 -- > include/hw/i2c/i2c.h | 2 ++ > include/hw/i2c/ppc4xx_i2c.h | 3 --- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -3,8 +3,6 @@ > > #include "hw/i2c/i2c.h" > > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define BITBANG_I2C_SDA 0 > #define BITBANG_I2C_SCL 1 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus); > > DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr); > > +typedef struct bitbang_i2c_interface bitbang_i2c_interface; > + > /* lm832x.c */ > void lm832x_key_event(DeviceState *dev, int key, int state); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -31,9 +31,6 @@ > #include "hw/sysbus.h" > #include "hw/i2c/i2c.h" > > -/* from hw/i2c/bitbang_i2c.h */ > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define TYPE_PPC4xx_I2C "ppc4xx-i2c" > #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C) Reviewed-by: Thomas Huth <thuth@redhat.com> Peter, in case you've got to roll another rc, I think this should be included, too. Otherwise, I think this can also be included later via qemu-stable (for the few people like me who still use clang 3.4). Thomas
On 11/28/18 1:27 PM, BALATON Zoltan wrote: > Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and > bitbang_i2c.h an error even if they are identical. Move it to a common > place to allow building with this clang version. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > hw/i2c/bitbang_i2c.h | 2 -- > include/hw/i2c/i2c.h | 2 ++ > include/hw/i2c/ppc4xx_i2c.h | 3 --- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -3,8 +3,6 @@ > > #include "hw/i2c/i2c.h" > > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; Would this also be an opportunity to rename the struct to something CamelCase to match our coding conventions? -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
On 2018-11-28 21:03, Eric Blake wrote: > On 11/28/18 1:27 PM, BALATON Zoltan wrote: >> Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and >> bitbang_i2c.h an error even if they are identical. Move it to a common >> place to allow building with this clang version. >> >> Reported-by: Thomas Huth <thuth@redhat.com> >> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> >> --- >> hw/i2c/bitbang_i2c.h | 2 -- >> include/hw/i2c/i2c.h | 2 ++ >> include/hw/i2c/ppc4xx_i2c.h | 3 --- >> 3 files changed, 2 insertions(+), 5 deletions(-) >> >> diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h >> index 3a7126d5de..9443021710 100644 >> --- a/hw/i2c/bitbang_i2c.h >> +++ b/hw/i2c/bitbang_i2c.h >> @@ -3,8 +3,6 @@ >> #include "hw/i2c/i2c.h" >> -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > > Would this also be an opportunity to rename the struct to something > CamelCase to match our coding conventions? That's a different issue, so I'd say it should be done in a different patch. Thomas
On Wed, Nov 28, 2018 at 08:27:06PM +0100, BALATON Zoltan wrote: > Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and > bitbang_i2c.h an error even if they are identical. Move it to a common > place to allow building with this clang version. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/i2c/bitbang_i2c.h | 2 -- > include/hw/i2c/i2c.h | 2 ++ > include/hw/i2c/ppc4xx_i2c.h | 3 --- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -3,8 +3,6 @@ > > #include "hw/i2c/i2c.h" > > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define BITBANG_I2C_SDA 0 > #define BITBANG_I2C_SCL 1 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus); > > DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr); > > +typedef struct bitbang_i2c_interface bitbang_i2c_interface; > + > /* lm832x.c */ > void lm832x_key_event(DeviceState *dev, int key, int state); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -31,9 +31,6 @@ > #include "hw/sysbus.h" > #include "hw/i2c/i2c.h" > > -/* from hw/i2c/bitbang_i2c.h */ > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define TYPE_PPC4xx_I2C "ppc4xx-i2c" > #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C) > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
On Wed, Nov 28, 2018 at 08:27:06PM +0100, BALATON Zoltan wrote: > Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and > bitbang_i2c.h an error even if they are identical. Move it to a common > place to allow building with this clang version. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/i2c/bitbang_i2c.h | 2 -- > include/hw/i2c/i2c.h | 2 ++ > include/hw/i2c/ppc4xx_i2c.h | 3 --- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -3,8 +3,6 @@ > > #include "hw/i2c/i2c.h" > > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define BITBANG_I2C_SDA 0 > #define BITBANG_I2C_SCL 1 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus); > > DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr); > > +typedef struct bitbang_i2c_interface bitbang_i2c_interface; > + > /* lm832x.c */ > void lm832x_key_event(DeviceState *dev, int key, int state); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -31,9 +31,6 @@ > #include "hw/sysbus.h" > #include "hw/i2c/i2c.h" > > -/* from hw/i2c/bitbang_i2c.h */ > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define TYPE_PPC4xx_I2C "ppc4xx-i2c" > #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C) > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Cc'ing Corey, the new I2C maintainer (since 4.0). On 28/11/18 20:27, BALATON Zoltan wrote: > Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and > bitbang_i2c.h an error even if they are identical. Move it to a common > place to allow building with this clang version. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/i2c/bitbang_i2c.h | 2 -- > include/hw/i2c/i2c.h | 2 ++ > include/hw/i2c/ppc4xx_i2c.h | 3 --- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -3,8 +3,6 @@ > > #include "hw/i2c/i2c.h" > > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define BITBANG_I2C_SDA 0 > #define BITBANG_I2C_SCL 1 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus); > > DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr); > > +typedef struct bitbang_i2c_interface bitbang_i2c_interface; > + > /* lm832x.c */ > void lm832x_key_event(DeviceState *dev, int key, int state); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -31,9 +31,6 @@ > #include "hw/sysbus.h" > #include "hw/i2c/i2c.h" > > -/* from hw/i2c/bitbang_i2c.h */ > -typedef struct bitbang_i2c_interface bitbang_i2c_interface; > - > #define TYPE_PPC4xx_I2C "ppc4xx-i2c" > #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C) > >
© 2016 - 2024 Red Hat, Inc.