qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] libvixl: a64: Skip "-Wunused-variable" for g


From: Chen Gang
Subject: Re: [Qemu-devel] [PATCH v2] libvixl: a64: Skip "-Wunused-variable" for gcc 5.0.0 or higher
Date: Sun, 12 Oct 2014 08:32:47 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.1.2

On 10/12/14 5:25, Peter Maydell wrote:
> On 11 October 2014 15:13, Chen Gang <address@hidden> wrote:
> 
> MJT: please don't put this in -trivial, it will clash with
> the update to libvixl 1.6 currently on the list.
>

OK thanks (also remove -trivial from replying mailing list).
 
> 
>> On 10/11/14 22:07, Chen Gang wrote:
>>> 'instructions-a64.h' has unused variables for qemu which can be found by
>>> gcc 5.0.0 or higher. and qemu needs "-Werror", and cause building break.
>>> But they may be used by another projects (not qemu).
>>>
>>> So for gcc 5.0.0 or higher, need still keep them, but ignore diagnostic
>>> (still print warning, but not break building). The related warnings:
>>>
>>>     CXX   disas/arm-a64.o
>>>   In file included from /upstream/qemu/disas/libvixl/a64/disasm-a64.h:32:0,
>>>                    from disas/arm-a64.cc:20:
>>>   disas/libvixl/a64/instructions-a64.h:98:13: error: 
>>> 'vixl::kFP32PositiveInfinity' defined but not used [-Werror=unused-variable]
>>>    const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000);
>>>                ^
>>>   disas/libvixl/a64/instructions-a64.h:99:13: error: 
>>> 'vixl::kFP32NegativeInfinity' defined but not used [-Werror=unused-variable]
> 
> So, several questions here:
> 
> (1) Does anybody know how the header in question should be
> providing constant floats and doubles to its users in a way
> that doesn't cause gcc to complain? If so, I can pass the
> answer along so at least the next version of the library
> is OK...
> 

Hmm... may try to simplify rawbits_to_float() and rawbits_to_double() to
let gcc know about it is only for constant? (it seems original authors
intended to do it in function, I shall try to know why)

I shall try to get a conclusion within this month.

> (2) Bonus question, anybody know why gcc is perfectly happy
> with the unused integer constants in the .h file but doesn't
> like the float and doubles?
> 

For (2), they use a real function rawbits_to_float(), is it gcc own
issue? I shall try to analyze it (at present, I am also upstream gcc
members, and make a patch for it per month).

I shall try to finish analyzing within this month.

> (3) Does gcc 5 emit these warnings for all the .cc files
> that pull in this header, or only for the arm-a64.cc one?
> 

For (3), yes, it is, so I have to let it in header again.

> Some other approaches to this that would confine the
> fix to the makefiles rather than requiring us to modify
> the vixl source itself:
>  a) add a -Wno- option for the affected .o files

It is one way, but may have effect with gcc 4 version, and also it is
effect with the whole file which is wider than current way.

>  b) use -isystem rather than -I to include the libvixl
>     directory on the include path
>

It sounds good to me, although for me, it is not related with current
issue.
 

Thanks
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed



reply via email to

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