From: Peter Xu <peterx@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Olaf Hering <olaf@aepfle.de>,
Stefan Berger <stefanb@linux.vnet.ibm.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 3/3] util: remove redundant include of glib.h
Date: Thu, 7 Jun 2018 16:35:31 +0800 [thread overview]
Message-ID: <20180607083531.GG750@xz-mi> (raw)
In-Reply-To: <20180607082651.GC28827@redhat.com>
On Thu, Jun 07, 2018 at 09:26:51AM +0100, Daniel P. Berrangé wrote:
> On Thu, Jun 07, 2018 at 03:44:56PM +0800, Peter Xu wrote:
> > On Thu, Jun 07, 2018 at 09:05:28AM +0200, Markus Armbruster wrote:
> > > Peter Xu <peterx@redhat.com> writes:
> > >
> > > > On Wed, Jun 06, 2018 at 07:31:53PM +0100, Peter Maydell wrote:
> > > >> On 6 June 2018 at 18:32, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > > >> > Code must only ever include glib.h indirectly via the glib-compat.h
> > > >> > header file, because we will need some macros set before glib.h is
> > > >> > pulled in. Adding extra includes of glib.h will (soon) cause compile
> > > >> > failures such as:
> > > >> >
> > > >> > In file included from /home/berrange/src/virt/qemu/include/qemu/osdep.h:107,
> > > >> > from /home/berrange/src/virt/qemu/include/qemu/iova-tree.h:26,
> > > >> > from util/iova-tree.c:13:
> > > >> > /home/berrange/src/virt/qemu/include/glib-compat.h:22: error: "GLIB_VERSION_MIN_REQUIRED" redefined [-Werror]
> > > >> > #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_40
> > > >> >
> > > >> > In file included from /usr/include/glib-2.0/glib/gtypes.h:34,
> > > >> > from /usr/include/glib-2.0/glib/galloca.h:32,
> > > >> > from /usr/include/glib-2.0/glib.h:30,
> > > >> > from util/iova-tree.c:12:
> > > >> > /usr/include/glib-2.0/glib/gversionmacros.h:237: note: this is the location of the previous definition
> > > >> > # define GLIB_VERSION_MIN_REQUIRED (GLIB_VERSION_CUR_STABLE)
> > > >> >
> > > >> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > > >> > ---
> > > >> > util/iova-tree.c | 1 -
> > > >> > 1 file changed, 1 deletion(-)
> > > >> >
> > > >> > diff --git a/util/iova-tree.c b/util/iova-tree.c
> > > >> > index 2d9cebfc89..d39cd8bb29 100644
> > > >> > --- a/util/iova-tree.c
> > > >> > +++ b/util/iova-tree.c
> > > >> > @@ -9,7 +9,6 @@
> > > >> > * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > > >> > */
> > > >> >
> > > >> > -#include <glib.h>
> > > >> > #include "qemu/iova-tree.h"
> > > >>
> > > >> While we're fixing up the headers in this file:
> > > >> it should start with an include of qemu/osdep.h,
> > > >> and qemu/iova-tree.h should not include osdep.h...
> > > >
> > > > Sorry to messed this up. It was used for hwaddr definition.
> > > >
> > > > Maybe we can just replace hwaddr usage in iova-tree.[ch] with
> > > > something like uint64_t? Then I think we can drop the osdep.h.
> > >
> > > Every compilation unit must include "osdep.h" first. Its file comment
> > > explains why. If it's insufficiently convincing, we should fix it :)
> >
> > Ah... :)
> >
> > Then maybe also we can let iova-tree.c to include osdep.h (instead of
> > glib.h), and remove that line in iova-tree.h
>
> Yeah, I'll repost with that changed
Thanks for fixing that!
--
Peter Xu
next prev parent reply other threads:[~2018-06-07 8:35 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-06 17:32 [Qemu-devel] [PATCH v2 0/3] glib: update the min required version Daniel P. Berrangé
2018-06-06 17:32 ` [Qemu-devel] [PATCH v2 1/3] glib: bump min required glib library version to 2.40 Daniel P. Berrangé
2018-06-06 18:12 ` John Snow
2018-06-07 8:25 ` Daniel P. Berrangé
2018-06-07 8:28 ` Olaf Hering
2018-06-08 13:13 ` Daniel P. Berrangé
2018-06-07 5:46 ` Thomas Huth
2018-06-06 17:32 ` [Qemu-devel] [PATCH v2 2/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
2018-06-07 8:57 ` Thomas Huth
2018-06-07 9:23 ` Daniel P. Berrangé
2018-06-06 17:32 ` [Qemu-devel] [PATCH v2 3/3] util: remove redundant include of glib.h Daniel P. Berrangé
2018-06-06 17:45 ` Philippe Mathieu-Daudé
2018-06-06 18:31 ` Peter Maydell
2018-06-07 3:58 ` Peter Xu
2018-06-07 7:05 ` Markus Armbruster
2018-06-07 7:44 ` Peter Xu
2018-06-07 8:26 ` Daniel P. Berrangé
2018-06-07 8:35 ` Peter Xu [this message]
2018-06-07 8:44 ` Thomas Huth
2018-06-07 8:47 ` Daniel P. Berrangé
2018-06-08 12:00 ` [Qemu-devel] [PATCH v2 0/3] glib: update the min required version Peter Maydell
2018-06-08 16:18 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180607083531.GG750@xz-mi \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=olaf@aepfle.de \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanb@linux.vnet.ibm.com \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).