[libcxx-commits] [PATCH] D158547: [PowerPC] Exclude frexp(long double) on linux

Lei Huang via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 23 13:48:30 PDT 2023


lei updated this revision to Diff 552874.
lei added a comment.

Keep original order


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158547/new/

https://reviews.llvm.org/D158547

Files:
  libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp


Index: libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
===================================================================
--- libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
+++ libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp
@@ -58,9 +58,15 @@
 
   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);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158547.552874.patch
Type: text/x-patch
Size: 976 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230823/e8624afd/attachment.bin>


More information about the libcxx-commits mailing list