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 f1aa1c326d798842550d78f7b26eb663322b3ab2..870fce269e66e25d95e27ae34e0301d8e3049c74 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 725e789d33422fe447f429da6cfe466d1b3f7e30..3def7db25510dece8b3babd1d07ade49ed3bf135 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 4b17d421023f3f6a76d2dca2acc6081b75571362..670378dc0c301702929009df9fbc0c5e1cfac6e2 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.