[libc-commits] [libc] [libc] fix error: implicit conversion loses floating-point precision: 'double' to 'float' in shared_math_test.cpp (PR #159934)

Maksim Levental via libc-commits libc-commits at lists.llvm.org
Sat Sep 20 09:32:44 PDT 2025


https://github.com/makslevental created https://github.com/llvm/llvm-project/pull/159934

This test fails under -Werror=implicit-float-conversion (like in our pre-merge CI) because `dsqrtl` returns a double https://github.com/llvm/llvm-project/blob/2b937daa1310f7c17a03a0a4a7abf83149e1dc71/libc/src/__support/math/dsqrtl.h#L18

Fixes https://github.com/llvm/llvm-project/issues/159932

>From f40bc6f46c07b90de6e13f3f4720ce8bb9f56012 Mon Sep 17 00:00:00 2001
From: makslevental <maksim.levental at gmail.com>
Date: Sat, 20 Sep 2025 09:31:08 -0700
Subject: [PATCH] [libc] fix error: implicit conversion loses floating-point
 precision: 'double' to 'float' in shared_math_test.cpp

---
 libc/test/shared/shared_math_test.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libc/test/shared/shared_math_test.cpp b/libc/test/shared/shared_math_test.cpp
index 9e4d4d52e7f5e..bfff5ecb8cf81 100644
--- a/libc/test/shared/shared_math_test.cpp
+++ b/libc/test/shared/shared_math_test.cpp
@@ -57,7 +57,7 @@ TEST(LlvmLibcSharedMathTest, AllFloat) {
   EXPECT_FP_EQ(0x1p+0f, LIBC_NAMESPACE::shared::cosf(0.0f));
   EXPECT_FP_EQ(0x1p+0f, LIBC_NAMESPACE::shared::coshf(0.0f));
   EXPECT_FP_EQ(0x1p+0f, LIBC_NAMESPACE::shared::cospif(0.0f));
-  EXPECT_FP_EQ(0x0p+0f, LIBC_NAMESPACE::shared::dsqrtl(0.0f));
+  EXPECT_FP_EQ(0x0p+0f, (float)LIBC_NAMESPACE::shared::dsqrtl(0.0f));
   EXPECT_FP_EQ(0x0p+0f, LIBC_NAMESPACE::shared::erff(0.0f));
   EXPECT_FP_EQ(0x1p+0f, LIBC_NAMESPACE::shared::exp10f(0.0f));
   EXPECT_FP_EQ(0x1p+0f, LIBC_NAMESPACE::shared::expf(0.0f));



More information about the libc-commits mailing list