Un-split hypot<long double> tests
authorJonathan Wakely <jwakely@redhat.com>
Fri, 21 Sep 2018 15:36:53 +0000 (16:36 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 21 Sep 2018 15:36:53 +0000 (16:36 +0100)
Remove the hypot-long-double.cc file that used dg-xfail-run-if and
simply use the lower tolerance for double if long double is not larger
than double.

* testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Remove.
* testsuite/26_numerics/headers/cmath/hypot.cc: Restore test for
long double unconditionally, but use lower tolerance when
sizeof(long double) == sizeof(double).

From-SVN: r264483

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot-long-double.cc [deleted file]
libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc

index eb6710f567e705028addd18d5a840883be1ab9a3..161ea11a617fd5b6c8d5b4d745879ac4a2f98a6d 100644 (file)
@@ -1,3 +1,10 @@
+2018-09-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Remove.
+       * testsuite/26_numerics/headers/cmath/hypot.cc: Restore test for
+       long double unconditionally, but use lower tolerance when
+       sizeof(long double) == sizeof(double).
+
 2018-09-20  Christophe Lyon  <christophe.lyon@linaro.org>
 
        * testsuite/26_numerics/headers/cmath/hypot-long-double.cc: Skip
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot-long-double.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot-long-double.cc
deleted file mode 100644 (file)
index bcc1fec..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=gnu++17" }
-// { dg-do run { target c++17 } }
-// { dg-xfail-run-if "PR 78179" { arm*-*-* hppa-*-linux* nios2-*-* powerpc-ibm-aix* } }
-
-// Run the long double tests from hypot.cc separately, because they fail on a
-// number of targets. See PR libstdc++/78179 for details.
-#define TEST_HYPOT_LONG_DOUBLE
-#include "hypot.cc"
index 36c7553c5e81fa9f75ccbd30f722fd7d08a52792..9fe8f53b00e144bd3a7a7d0547ca92f556cde676 100644 (file)
@@ -125,13 +125,12 @@ const long double toler3 = 1e-16l;
 void
 test01()
 {
-  // See hypot-long-double.cc for this macro
-#ifndef TEST_HYPOT_LONG_DOUBLE
   test(data1, toler1);
   test(data2, toler2);
-#else
-  test(data3, toler3);
-#endif
+  if (sizeof(long double) > sizeof(double))
+    test(data3, toler3);
+  else
+    test(data3, (long double)toler1);
 }
 
 int