[libvirt] [PATCH] build: work around gcc 6.0 warnings

Andrea Bolognani abologna at redhat.com
Fri Apr 8 16:27:23 UTC 2016


On Mon, 2016-02-29 at 15:41 +0100, Martin Kletzander wrote:
> On Wed, Feb 24, 2016 at 02:29:58PM -0700, Eric Blake wrote:
>> > gcc 6.0 added an annoying warning:
>> > fdstream.c: In function 'virFDStreamWrite':
> > fdstream.c:390:29: error: logical 'or' of equal expressions [-Werror=logical-op]
> >        if (errno == EAGAIN || errno == EWOULDBLOCK) {
> >                            ^~
> > fdstream.c: In function 'virFDStreamRead':
> > fdstream.c:440:29: error: logical 'or' of equal expressions [-Werror=logical-op]
> >        if (errno == EAGAIN || errno == EWOULDBLOCK) {
> >                            ^~
>> > This makes it impossible to build out-of-the-box on rawhide,
> > and we aren't guaranteed that the gcc bug will be fixed in a
> > timely manner:
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69602
>> > So work around it by further complicating the logic to thwart the
> > compiler.
>> > Signed-off-by: Eric Blake <eblake at redhat.com>
> > ---
>> > This is a build-breaker fix for rawhide; but I'll wait for a day
> > for any reasons why I should not push it during freeze.
>> It looks like you're still talking this over and thinking about
> approaches.  But could we push the fix for the time being so that the
> release is nicely buildable and then work on making it nicer later?  I'd
> vote ACK for that.

Update: the libvirt-fedora-rawhide build host on CentOS CI
has been updated and it's now running gcc 6.0. The immediate
result is that build jobs have started to fail (see [1] for
an example).

Looking at the gcc bug, it doesn't look like there's been
much movement in that area, so I think we should take some
action on our side...

Eric, you mentioned proposing a v2 that would use #pragma
instead of uglifying the current checks. Do you still
intend to work on such alternative approach?

Failing that, I'm personally okay with pushing this.

Cheers.


[1] https://ci.centos.org/view/libvirt-project/job/libvirt-daemon-build/1131/
-- 
Andrea Bolognani
Software Engineer - Virtualization Team




More information about the libvir-list mailing list