From c86fab9d08853121dfe3d001b973af1e1c44fddd Mon Sep 17 00:00:00 2001 From: Jonathan Wakely <jwakely@redhat.com> Date: Wed, 9 Jan 2019 09:37:34 +0000 Subject: [PATCH] PR libstdc++/88204 disable std::complex<long double> tests The IBM128 long double format isn't foldable in constant expressions, so conditionally skip the std::complex<long double> cases when they'll fail. PR libstdc++/88204 * testsuite/26_numerics/complex/operators/more_constexpr.cc: Do not test std::complex<long double> if long double format is IBM128. * testsuite/26_numerics/complex/requirements/more_constexpr.cc: Likewise. From-SVN: r267757 --- libstdc++-v3/ChangeLog | 8 ++++++++ .../26_numerics/complex/operators/more_constexpr.cc | 2 ++ .../26_numerics/complex/requirements/more_constexpr.cc | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f1aa1c326d79..870fce269e66 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2019-01-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/88204 + * testsuite/26_numerics/complex/operators/more_constexpr.cc: Do not + test std::complex<long double> if long double format is IBM128. + * testsuite/26_numerics/complex/requirements/more_constexpr.cc: + Likewise. + 2019-01-08 Jonathan Wakely <jwakely@redhat.com> * testsuite/libstdc++-prettyprinters/compat.cc: Test printer support diff --git a/libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc b/libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc index 725e789d3342..3def7db25510 100644 --- a/libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc +++ b/libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc @@ -56,7 +56,9 @@ int main() { __gnu_test::test_operators<float>(); __gnu_test::test_operators<double>(); +#ifndef __LONG_DOUBLE_IBM128__ // IBM128 format is not constexpr foldable __gnu_test::test_operators<long double>(); +#endif return 0; } diff --git a/libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc b/libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc index 4b17d421023f..670378dc0c30 100644 --- a/libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc +++ b/libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc @@ -23,7 +23,6 @@ namespace __gnu_test { - // Test constexpr real(val) imag(val). template<typename _Tp, const int _Val = 42> inline void @@ -160,9 +159,11 @@ int main() __gnu_test::test_operator_members<double, float>(); __gnu_test::test_operator_members<double, double>(); __gnu_test::test_operator_members<double, long double>(); +#ifndef __LONG_DOUBLE_IBM128__ // IBM128 format is not constexpr foldable __gnu_test::test_operator_members<long double, float>(); __gnu_test::test_operator_members<long double, double>(); __gnu_test::test_operator_members<long double, long double>(); +#endif #if defined(_GLIBCXX_USE_FLOAT128) // Test primary template. -- GitLab