Fixed warning "unused variable" with GCC 4.4 (issue #912)

This commit is contained in:
Benoit Blanchon
2019-02-28 10:22:27 +01:00
parent b171872b58
commit ae2bfee0b1
2 changed files with 8 additions and 12 deletions

View File

@ -1,6 +1,11 @@
ArduinoJson: change log ArduinoJson: change log
======================= =======================
HEAD
----
* Fixed warning "unused variable" with GCC 4.4 (issue #912)
v5.13.4 v5.13.4
------- -------

View File

@ -99,12 +99,8 @@ struct FloatTraits<T, 8 /*64bits*/> {
// we use this function to workaround platforms with single precision literals // we use this function to workaround platforms with single precision literals
// (for example, when -fsingle-precision-constant is passed to GCC) // (for example, when -fsingle-precision-constant is passed to GCC)
static T forge(uint32_t msb, uint32_t lsb) { static T forge(uint32_t msb, uint32_t lsb) {
union { uint64_t bits = (uint64_t(msb) << 32) | lsb;
uint64_t integerBits; return *reinterpret_cast<T*>(&bits);
T floatBits;
};
integerBits = (uint64_t(msb) << 32) | lsb;
return floatBits;
} }
}; };
@ -151,12 +147,7 @@ struct FloatTraits<T, 4 /*32bits*/> {
} }
static T forge(uint32_t bits) { static T forge(uint32_t bits) {
union { return *reinterpret_cast<T*>(&bits);
uint32_t integerBits;
T floatBits;
};
integerBits = bits;
return floatBits;
} }
static T nan() { static T nan() {