diff --git a/libcxx/include/limits b/libcxx/include/limits --- a/libcxx/include/limits +++ b/libcxx/include/limits @@ -428,7 +428,7 @@ _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;} -#if (defined(__ppc__) || defined(__ppc64__)) +#if defined(__powerpc__) && defined(__LONG_DOUBLE_IBM128__) static _LIBCPP_CONSTEXPR const bool is_iec559 = false; #else static _LIBCPP_CONSTEXPR const bool is_iec559 = true; diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp @@ -50,7 +50,7 @@ #endif test(); test(); -#if (defined(__ppc__) || defined(__ppc64__)) +#if defined(__powerpc__) && defined(__LONG_DOUBLE_IBM128__) test(); #else test(); diff --git a/libcxx/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp --- a/libcxx/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp @@ -47,15 +47,8 @@ test_alignment_of(); test_alignment_of(); test_alignment_of(); - // The test case below is a hack. It's hard to detect what golden value - // we should expect. In most cases it should be 8. But in i386 builds - // with Clang >= 8 or GCC >= 8 the value is '4'. test_alignment_of(); -#if (defined(__ppc__) && !defined(__ppc64__) && !defined(_AIX)) - test_alignment_of(); // 32-bit PPC has four byte bool, except on AIX. -#else test_alignment_of(); -#endif test_alignment_of(); return 0;