================
@@ -0,0 +1,38 @@
+// RUN: %clang_cc1 -DWIN -verify -std=c++23 -fsyntax-only  %s
+// RUN: %clang_cc1 -verify -std=c++23 -fsyntax-only  %s
+
+// expected-no-diagnostics
+
+
+#ifdef WIN
+#define INFINITY ((float)(1e+300 * 1e+300))
+#define NAN      (-(float)(INFINITY * 0.0F))
+#else
+#define NAN (__builtin_nanf(""))
+#define INFINITY (__builtin_inff())
+#endif
+
+int main() {
+    int i;
+
+    // fmin
+    static_assert(__builtin_fmin(15.24, 1.3) == 1.3, "");
+    static_assert(__builtin_fmin(-0.0, +0.0) == -0.0, "");
+    static_assert(__builtin_fmin(+0.0, -0.0) == -0.0, "");
+    static_assert(__builtin_fminf(NAN, -1) == -1, "");
+    static_assert(__builtin_fminf(+INFINITY, 0) == 0, "");
+    static_assert(__builtin_isinf(__builtin_fminf(-INFINITY, 0)), "");
+    static_assert(__builtin_isnan(__builtin_fminf(NAN,NAN)), "");
+
+    // frexp
+    static_assert(__builtin_frexp(123.45, &i) == 0.96445312500000002);
+    static_assert(!__builtin_isnan(__builtin_frexp(123.45, &i)), "");
----------------
hubert-reinterpretcast wrote:

Why is this necessary?
```suggestion
```

https://github.com/llvm/llvm-project/pull/88978
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to