[libc-commits] [libc] [libc][math] Qualify fdim funtions to constexpr (PR #194137)

Muhammad Bassiouni via libc-commits libc-commits at lists.llvm.org
Sat Apr 25 13:47:21 PDT 2026


================
@@ -52,8 +52,11 @@ add_or_sub(InType x, InType y) {
   if (LIBC_UNLIKELY(x_bits.is_inf_or_nan() || y_bits.is_inf_or_nan() ||
                     x_bits.is_zero() || y_bits.is_zero())) {
     if (x_bits.is_nan() || y_bits.is_nan()) {
-      if (x_bits.is_signaling_nan() || y_bits.is_signaling_nan())
-        raise_except_if_required(FE_INVALID);
+      if (x_bits.is_signaling_nan() || y_bits.is_signaling_nan()) {
+        if (!__builtin_is_constant_evaluated()) {
+          raise_except_if_required(FE_INVALID);
+        }
+      }
----------------
bassiounix wrote:

```suggestion
      if (!cpp::is_constant_evaluated() && (x_bits.is_signaling_nan() || y_bits.is_signaling_nan()))
        raise_except_if_required(FE_INVALID);
```

https://github.com/llvm/llvm-project/pull/194137


More information about the libc-commits mailing list