[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