qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] configure: Work-around a bug in libiscsi 1.9.0


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] configure: Work-around a bug in libiscsi 1.9.0 when used in gnu99 mode
Date: Mon, 14 Jan 2019 09:02:37 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0

On 1/14/19 8:53 AM, Thomas Huth wrote:
> On 2019-01-14 15:50, Eric Blake wrote:
>> On 1/14/19 8:31 AM, Daniel P. Berrangé wrote:
>>
>>>>
>>>> Can we suppress the warnings with #pragma instead ?
>>>> That would avoid compiling the .o file with different
>>>> C semantics.
>>>
>>> IIUC this is a built-in warning you can't disable, except by changing
>>> the compilation mode to have gnu89 inline semantics :-(
>>
>> Could we instead fix the warning by one of:
>>
>> Using pragma to declare the header as a system header (used to silence
>> warnings from misbehaving external headers),
> 
> How do you do that?

Using -isystem instead of -I - but that means rewriting the output of
pkg-config.

> 
>> and/or adding #defines around the inclusion of the header to neutralize
>> the poor warnings,
> 
> You mean something like:
> 
> #define inline /* nothing */

or
https://stackoverflow.com/questions/1867065/how-to-suppress-gcc-warnings-from-library-headers
mentions:

// save diagnostic state
#pragma GCC diagnostic push

// turn off the specific warning. Can also use "-Wall"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/lexical_cast.hpp>

// turn the warnings back on
#pragma GCC diagnostic pop

> 
> ?
> 
> ... sounds quite ugly to me, too.
> 
>> but without changing the compilation mode of the
>> entire project
> 
> The patch is only changing libiscsi_cflags, so it's not affecting the
> entire project, but just the files that use libiscsi.

Even so, limiting the damage to just the wrapper file that includes the
problematic header rather than changing the command line for the entire
compilation of those files that use libiscsi is even more precise.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]