PR libstdc++/88204 disable std::complex<long double> tests
authorJonathan Wakely <jwakely@redhat.com>
Wed, 9 Jan 2019 09:37:34 +0000 (09:37 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 9 Jan 2019 09:37:34 +0000 (09:37 +0000)
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
libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc
libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc

index f1aa1c3..870fce2 100644 (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
index 725e789..3def7db 100644 (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;
 }
index 4b17d42..670378d 100644 (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.