summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/26_numerics
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/26_numerics')
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot-long-double.cc25
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc5
2 files changed, 29 insertions, 1 deletions
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
new file mode 100644
index 00000000000..8a054735ce9
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot-long-double.cc
@@ -0,0 +1,25 @@
+// 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" { powerpc-ibm-aix* hppa-*-linux* nios2-*-* } }
+
+// 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"
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
index 69840c8117a..36c7553c5e8 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/hypot.cc
@@ -17,7 +17,6 @@
// { dg-options "-std=gnu++17" }
// { dg-do run { target c++17 } }
-// { dg-xfail-run-if "AIX long double" { powerpc-ibm-aix* } }
#include <cmath>
#include <type_traits>
@@ -126,9 +125,13 @@ 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
}
int