Skip to content

Commit 5adac8b

Browse files
committed
[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
1 parent 04e6178 commit 5adac8b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,15 @@ int main(int, char**) {
5858

5959
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0f, &DummyInt) == 0.0f);
6060
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0, &DummyInt) == 0.0);
61+
//FIXME: currently linux powerpc does not support this expansion
62+
// since 0.0L lowers to ppcf128 and special handling is required.
63+
#if !defined(__LONG_DOUBLE_IBM128__)
6164
ASSERT_NOT_CONSTEXPR_CXX23(std::frexp(0.0L, &DummyInt) == 0.0L);
65+
#endif
6266
ASSERT_NOT_CONSTEXPR_CXX23(std::frexpf(0.0f, &DummyInt) == 0.0f);
67+
#if !defined(__LONG_DOUBLE_IBM128__)
6368
ASSERT_NOT_CONSTEXPR_CXX23(std::frexpl(0.0L, &DummyInt) == 0.0L);
69+
#endif
6470

6571
ASSERT_NOT_CONSTEXPR_CXX23(std::ilogb(1.0f) == 0);
6672
ASSERT_NOT_CONSTEXPR_CXX23(std::ilogb(1.0) == 0);

0 commit comments

Comments
 (0)