mirror of
https://github.com/eclipse/wakaama.git
synced 2025-05-08 23:31:37 +08:00
Silence -Wfloat-equal warnings
Silence the existing, benign looking code, but ensure we get a warning for new code with such issues.
This commit is contained in:
parent
aa1269cbc3
commit
0d2507fb19
@ -329,6 +329,8 @@ int prv_put_float(uint8_t *buffer, size_t bufferLen, double val) {
|
||||
|
||||
if (bufferLen < 3)
|
||||
return 0;
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
if (val != val) {
|
||||
// NaN
|
||||
buffer[0] = (CBOR_FLOATING_OR_SIMPLE << 5) | CBOR_AI_TWO_BYTE_VALUE;
|
||||
@ -409,6 +411,7 @@ int prv_put_float(uint8_t *buffer, size_t bufferLen, double val) {
|
||||
buffer[8] = (uint8_t)uval;
|
||||
result = 9;
|
||||
}
|
||||
_Pragma("GCC diagnostic pop");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -344,6 +344,8 @@ static double prv_convert_half(uint16_t half) {
|
||||
}
|
||||
|
||||
static void prv_output_cbor_float(FILE *stream, double val) {
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
if (val != val) {
|
||||
fprintf(stream, "NaN");
|
||||
} else if (val == INFINITY) {
|
||||
@ -353,6 +355,7 @@ static void prv_output_cbor_float(FILE *stream, double val) {
|
||||
} else {
|
||||
fprintf(stream, "%g", val);
|
||||
}
|
||||
_Pragma("GCC diagnostic pop");
|
||||
}
|
||||
|
||||
static int prv_output_cbor_definite(FILE *stream, uint8_t *buffer, size_t buffer_len, bool breakable, uint8_t *mt) {
|
||||
|
@ -866,7 +866,10 @@ static void cbor_test_72(void) {
|
||||
CU_ASSERT_EQUAL_FATAL(size, 1);
|
||||
CU_ASSERT_EQUAL(tlvP->id, 1);
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->type, LWM2M_TYPE_FLOAT);
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
CU_ASSERT_NOT_EQUAL_FATAL(tlvP->value.asFloat, tlvP->value.asFloat);
|
||||
_Pragma("GCC diagnostic pop");
|
||||
lwm2m_data_free(size, tlvP);
|
||||
}
|
||||
|
||||
@ -885,7 +888,10 @@ static void cbor_test_73(void) {
|
||||
CU_ASSERT_EQUAL_FATAL(size, 1);
|
||||
CU_ASSERT_EQUAL(tlvP->id, 1);
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->type, LWM2M_TYPE_FLOAT);
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->value.asFloat, -INFINITY);
|
||||
_Pragma("GCC diagnostic pop");
|
||||
lwm2m_data_free(size, tlvP);
|
||||
}
|
||||
|
||||
@ -904,7 +910,10 @@ static void cbor_test_74(void) {
|
||||
CU_ASSERT_EQUAL_FATAL(size, 1);
|
||||
CU_ASSERT_EQUAL(tlvP->id, 1);
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->type, LWM2M_TYPE_FLOAT);
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->value.asFloat, INFINITY);
|
||||
_Pragma("GCC diagnostic pop");
|
||||
lwm2m_data_free(size, tlvP);
|
||||
}
|
||||
|
||||
@ -923,7 +932,10 @@ static void cbor_test_75(void) {
|
||||
CU_ASSERT_EQUAL_FATAL(size, 1);
|
||||
CU_ASSERT_EQUAL(tlvP->id, 1);
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->type, LWM2M_TYPE_FLOAT);
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
CU_ASSERT_NOT_EQUAL_FATAL(tlvP->value.asFloat, tlvP->value.asFloat);
|
||||
_Pragma("GCC diagnostic pop");
|
||||
lwm2m_data_free(size, tlvP);
|
||||
}
|
||||
|
||||
@ -942,7 +954,10 @@ static void cbor_test_76(void) {
|
||||
CU_ASSERT_EQUAL_FATAL(size, 1);
|
||||
CU_ASSERT_EQUAL(tlvP->id, 1);
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->type, LWM2M_TYPE_FLOAT);
|
||||
_Pragma("GCC diagnostic push");
|
||||
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"");
|
||||
CU_ASSERT_EQUAL_FATAL(tlvP->value.asFloat, -INFINITY);
|
||||
_Pragma("GCC diagnostic pop");
|
||||
lwm2m_data_free(size, tlvP);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user