[C++] Make code compile with -Wfloat-equal (#8221)
This will allow the code to be compiled with `-Wfloat-equal` as this would result in the folowing warning/error: vendor/flatbuffers/include/flatbuffers/base.h:465:69: error: comparing floating point with == or != is unsafe [-Werror,-Wfloat-equal] template<typename T> inline bool IsTheSameAs(T e, T def) { return e == def; } But the way it is used in flatbuffers it is ok to compare floating points with ==. Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
parent
0f8b71180f
commit
0e034ecdba
|
@ -459,10 +459,17 @@ inline size_t PaddingBytes(size_t buf_size, size_t scalar_size) {
|
|||
return ((~buf_size) + 1) & (scalar_size - 1);
|
||||
}
|
||||
|
||||
#if !defined(_MSC_VER)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
||||
#endif
|
||||
// Generic 'operator==' with conditional specialisations.
|
||||
// T e - new value of a scalar field.
|
||||
// T def - default of scalar (is known at compile-time).
|
||||
template<typename T> inline bool IsTheSameAs(T e, T def) { return e == def; }
|
||||
#if !defined(_MSC_VER)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#if defined(FLATBUFFERS_NAN_DEFAULTS) && \
|
||||
defined(FLATBUFFERS_HAS_NEW_STRTOD) && (FLATBUFFERS_HAS_NEW_STRTOD > 0)
|
||||
|
|
Loading…
Reference in New Issue