[compiler-rt] [nsan] More unit tests for `float128`. (PR #165248)
Clement Courbet via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 27 06:07:50 PDT 2025
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/165248
Now that llvm-libc has `nextafterf128`.
>From 7a9ed14a6a13318fceeefcd07e92b83d62b4a126 Mon Sep 17 00:00:00 2001
From: Clement Courbet <courbet at google.com>
Date: Mon, 27 Oct 2025 13:00:20 +0000
Subject: [PATCH] [nsan] More unit tests for `float128`.
Now that llvm-libc has `nextafterf128`.
---
compiler-rt/lib/nsan/tests/NSanUnitTest.cpp | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/compiler-rt/lib/nsan/tests/NSanUnitTest.cpp b/compiler-rt/lib/nsan/tests/NSanUnitTest.cpp
index d121292c36682..17190199322c3 100644
--- a/compiler-rt/lib/nsan/tests/NSanUnitTest.cpp
+++ b/compiler-rt/lib/nsan/tests/NSanUnitTest.cpp
@@ -43,8 +43,8 @@ template <typename FT, auto next> void TestFT() {
ASSERT_EQ(GetULPDiff<FT>(-X, -Y), 3);
// Values with larger differences.
- static constexpr const __sanitizer::u64 MantissaSize =
- __sanitizer::u64{1} << FTInfo<FT>::kMantissaBits;
+ static constexpr const __uint128_t MantissaSize =
+ __uint128_t{1} << FTInfo<FT>::kMantissaBits;
ASSERT_EQ(GetULPDiff<FT>(1.0, next(2.0, 1.0)), MantissaSize - 1);
ASSERT_EQ(GetULPDiff<FT>(1.0, 2.0), MantissaSize);
ASSERT_EQ(GetULPDiff<FT>(1.0, next(2.0, 3.0)), MantissaSize + 1);
@@ -57,11 +57,7 @@ TEST(NSanTest, Double) {
TestFT<double, static_cast<double (*)(double, double)>(nextafter)>();
}
-TEST(NSanTest, Float128) {
- // Very basic tests. FIXME: improve when we have nextafter<__float128>.
- ASSERT_EQ(GetULPDiff<__float128>(0.0, 0.0), 0);
- ASSERT_EQ(GetULPDiff<__float128>(-0.0, 0.0), 0);
- ASSERT_NE(GetULPDiff<__float128>(-0.01, 0.01), kMaxULPDiff);
-}
+TEST(NSanTest, Float128) { TestFT<__float128, nextafterf128>(); }
} // end namespace __nsan
+
More information about the llvm-commits
mailing list