[libcxx-commits] [libcxx] 5adac8b - [PowerPC] Exclude frexp(long double) on linux
Lei Huang via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Aug 25 10:17:56 PDT 2023
Author: Lei Huang
Date: 2023-08-25T12:17:51-05:00
New Revision: 5adac8bebcf26841c1d87227c5043af83a9ef94b
URL: https://github.com/llvm/llvm-project/commit/5adac8bebcf26841c1d87227c5043af83a9ef94b
DIFF: https://github.com/llvm/llvm-project/commit/5adac8bebcf26841c1d87227c5043af83a9ef94b.diff
LOG: [PowerPC] Exclude frexp(long double) on linux
PowerPC on linux currently don't have support for lowering long double for
frexp(). Removing the tests until implementation is provided.
Reviewed By: #libc, amyk, Mordante
Differential Revision: https://reviews.llvm.org/D158547
Added:
Modified:
libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp b/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
index a07260a34516f1..31511064ce7ca5 100644
--- a/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
+++ b/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
@@ -58,9 +58,15 @@ int main(int, char**) {
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0f, &DummyInt) == 0.0f);
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0, &DummyInt) == 0.0);
+//FIXME: currently linux powerpc does not support this expansion
+// since 0.0L lowers to ppcf128 and special handling is required.
+#if !defined(__LONG_DOUBLE_IBM128__)
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0L, &DummyInt) == 0.0L);
+#endif
ASSERT_NOT_CONSTEXPR_CXX23(std::frexpf(0.0f, &DummyInt) == 0.0f);
+#if !defined(__LONG_DOUBLE_IBM128__)
ASSERT_NOT_CONSTEXPR_CXX23(std::frexpl(0.0L, &DummyInt) == 0.0L);
+#endif
ASSERT_NOT_CONSTEXPR_CXX23(std::ilogb(1.0f) == 0);
ASSERT_NOT_CONSTEXPR_CXX23(std::ilogb(1.0) == 0);
More information about the libcxx-commits
mailing list