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
This commit is contained in:
Jonathan Wakely 2019-01-09 09:37:34 +00:00 committed by Jonathan Wakely
parent 73075e06b7
commit c86fab9d08
3 changed files with 12 additions and 1 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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.