[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] io: fix build on FreeBSD
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH] io: fix build on FreeBSD |
Date: |
Thu, 25 Feb 2016 16:41:45 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, Feb 25, 2016 at 09:37:18AM -0700, Eric Blake wrote:
> On 02/25/2016 09:32 AM, Daniel P. Berrange wrote:
>
> >>> + if (
> >>> +#ifdef EAI_ADDRFAMILY
> >>> + gaierr == EAI_ADDRFAMILY ||
> >>> +#endif
> >>> gaierr == EAI_FAMILY ||
> >>
> >> I'm not the biggest-fan of mid-expression #ifdefs. Can we rewrite this
> >> to look more like:
> >>
> >> #ifndef EAI_ADDRFAMILY
> >> #define EAI_ADDRFAMILY EAI_FAMILY
> >> #endif
> >>
> >> and leave the conditional expression unchanged?
> >
> > I think that'll cause gcc 6 to whine about you checking the same
> > value twice in the conditional, like how it complains that EWOULDBLOCK
> > and EAGAIN are the same.
>
> Oh, right. That's annoying. What about:
>
> #ifndef EAI_ADDRFAMILY
> #define EAI_ADDRFAMILY 0
> #endif
>
> if ((EAI_ADDRFAMILY && gaierr == EAIADDRFAMILY) ||
> gaierr == EAI_FAMILY...
>
> to shut up gcc 6, while still hoisting the preprocessor logic outside of
> the expression?
To be honest, I think the preprocessor check inside the expression isn't
a big deal and clearer than playing games like this.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|