================
@@ -57,6 +57,12 @@ template <> struct Bounds<double> {
} // namespace exp_internal
template <typename T> LIBC_INLINE int exp_exceptions(T x, int rounding_mode) {
+ static_assert(FE_OVERFLOW != 0);
+ static_assert(FE_UNDERFLOW != 0);
+ static_assert(FE_INEXACT != 0);
+ static_assert(FE_INVALID != 0);
+ static_assert(FE_DIVBYZERO != 0);
+
----------------
hubert-reinterpretcast wrote:
What are these checks meant to do here? At least in user code, either the
macros are defined (and necessarily non-zero to satisfy the C standard
requirement that bitwise OR of all combinations of the defined macros result in
distinct values) or they are not (and the assertion refers to an unresolved
name).
https://github.com/llvm/llvm-project/pull/199808
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits