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: Sat, 11 Oct 2014 22:13:04 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.1.2

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]
>    const float kFP32NegativeInfinity = rawbits_to_float(0xff800000);
>                ^
>   disas/libvixl/a64/instructions-a64.h:100:14: error: 
> 'vixl::kFP64PositiveInfinity' defined but not used [-Werror=unused-variable]
>    const double kFP64PositiveInfinity =
>                 ^
>   disas/libvixl/a64/instructions-a64.h:102:14: error: 
> 'vixl::kFP64NegativeInfinity' defined but not used [-Werror=unused-variable]
>    const double kFP64NegativeInfinity =
>                 ^
>   disas/libvixl/a64/instructions-a64.h:107:21: error: 
> 'vixl::kFP64SignallingNaN' defined but not used [-Werror=unused-variable]
>    static const double kFP64SignallingNaN =
>                        ^
>   disas/libvixl/a64/instructions-a64.h:109:20: error: 
> 'vixl::kFP32SignallingNaN' defined but not used [-Werror=unused-variable]
>    static const float kFP32SignallingNaN = rawbits_to_float(0x7f800001);
>                       ^
>   disas/libvixl/a64/instructions-a64.h:112:21: error: 'vixl::kFP64QuietNaN' 
> defined but not used [-Werror=unused-variable]
>    static const double kFP64QuietNaN =
>                        ^
>   disas/libvixl/a64/instructions-a64.h:114:20: error: 'vixl::kFP32QuietNaN' 
> defined but not used [-Werror=unused-variable]
>    static const float kFP32QuietNaN = rawbits_to_float(0x7fc00001);
>                       ^
>   disas/libvixl/a64/instructions-a64.h:117:21: error: 'vixl::kFP64DefaultNaN' 
> defined but not used [-Werror=unused-variable]
>    static const double kFP64DefaultNaN =
>                        ^
>   disas/libvixl/a64/instructions-a64.h:119:20: error: 'vixl::kFP32DefaultNaN' 
> defined but not used [-Werror=unused-variable]
>    static const float kFP32DefaultNaN = rawbits_to_float(0x7fc00000);
>                       ^
>   cc1plus: all warnings being treated as errors
>   make: *** [disas/arm-a64.o] Error 1
> 
> After this patch, can pass upstream gcc 5.0.0 building (print warning,
> but not break building), and fedora 20 gcc 4.8.1 building (not find

Oh, sorry, under fedora 20, it is "gcc version 4.8.3 20140624 (Red Hat
4.8.3-1) (GCC)".

And the detail gcc 5.0.0 is "gcc version 5.0.0 20141003 (experimental)
(GCC)"

> warnings).
> 
> Signed-off-by: Chen Gang <address@hidden>
> ---
>  disas/libvixl/a64/instructions-a64.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/disas/libvixl/a64/instructions-a64.h 
> b/disas/libvixl/a64/instructions-a64.h
> index d5b90c5..5f707f3 100644
> --- a/disas/libvixl/a64/instructions-a64.h
> +++ b/disas/libvixl/a64/instructions-a64.h
> @@ -95,6 +95,12 @@ const unsigned kDoubleExponentBits = 11;
>  const unsigned kFloatMantissaBits = 23;
>  const unsigned kFloatExponentBits = 8;
>  
> +/* For QEMU, gcc 5.0.0 or higher finds unused variables, so ignore 
> diagnostic */
> +#if __GNUC__ >= 5
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wunused-variable"
> +#endif
> +
>  const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000);
>  const float kFP32NegativeInfinity = rawbits_to_float(0xff800000);
>  const double kFP64PositiveInfinity =
> @@ -118,6 +124,9 @@ static const double kFP64DefaultNaN =
>      rawbits_to_double(UINT64_C(0x7ff8000000000000));
>  static const float kFP32DefaultNaN = rawbits_to_float(0x7fc00000);
>  
> +#if __GNUC__ >= 5
> +#pragma GCC diagnostic pop
> +#endif
>  
>  enum LSDataSize {
>    LSByte        = 0,
> 

-- 
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]