On 9 October 2014 15:00, Chen Gang <gang.chen.5...@gmail.com> wrote: > The related variables are useless, need be removed, or can not pass > microblaze building, after fix it, can build microblaze, successfully. > > The related configuration: > > ./configure --target-list="arm-softmmu,microblazeel-softmmu" --enable-fdt > --disable-kvm > > The related compiling error: > > 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 > > > Signed-off-by: Chen Gang <gang.chen.5...@gmail.com> > --- > disas/libvixl/a64/instructions-a64.h | 24 ------------------------ > 1 file changed, 24 deletions(-) > > diff --git a/disas/libvixl/a64/instructions-a64.h > b/disas/libvixl/a64/instructions-a64.h > index d5b90c5..1eea851 100644 > --- a/disas/libvixl/a64/instructions-a64.h > +++ b/disas/libvixl/a64/instructions-a64.h > @@ -95,30 +95,6 @@ const unsigned kDoubleExponentBits = 11; > const unsigned kFloatMantissaBits = 23; > const unsigned kFloatExponentBits = 8; > > -const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000); > -const float kFP32NegativeInfinity = rawbits_to_float(0xff800000); > -const double kFP64PositiveInfinity = > - rawbits_to_double(UINT64_C(0x7ff0000000000000)); > -const double kFP64NegativeInfinity = > - rawbits_to_double(UINT64_C(0xfff0000000000000)); > - > -// This value is a signalling NaN as both a double and as a float (taking the > -// least-significant word). > -static const double kFP64SignallingNaN = > - rawbits_to_double(UINT64_C(0x7ff000007f800001)); > -static const float kFP32SignallingNaN = rawbits_to_float(0x7f800001); > - > -// A similar value, but as a quiet NaN. > -static const double kFP64QuietNaN = > - rawbits_to_double(UINT64_C(0x7ff800007fc00001)); > -static const float kFP32QuietNaN = rawbits_to_float(0x7fc00001); > - > -// The default NaN values (for FPCR.DN=1). > -static const double kFP64DefaultNaN = > - rawbits_to_double(UINT64_C(0x7ff8000000000000)); > -static const float kFP32DefaultNaN = rawbits_to_float(0x7fc00000); > - > -
Upstream's plan for fixing this is to turn these into 'extern const double foo' in the header with the definition in an appropriate .cc file. Given that, I think I'm happy for us to take this patch in QEMU for the moment, with the expectation that the next libvixl drop will just obsolete it. Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> -- PMM