aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2019-05-23 18:02:05 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2019-05-23 18:02:05 +0000
commit0ce91914ad6c0412be53e4e4f69bdeb43d0a58ea (patch)
treeb26dab36f170061c90a9be2171ff5f32ab15329e
parentf58be48c09b58b801a2ec2f2d1fc6478b0190ad3 (diff)
downloadgcc-0ce91914ad6c0412be53e4e4f69bdeb43d0a58ea.zip
gcc-0ce91914ad6c0412be53e4e4f69bdeb43d0a58ea.tar.gz
gcc-0ce91914ad6c0412be53e4e4f69bdeb43d0a58ea.tar.bz2
From what I understand of the libstdc++/83237 thread at
<https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00573.html>, the high numbers are not arbitrary, so it seems wrong to try lowering them, or we'd just waste cycles testing nothing, or worse, ending up with a bogus error indication. Better to just plain disable this part of the test for simulator targets; I assume the results should be the same on any IEEE-float target, i.e. no target-specific things going on here that'd raise a need to cover it everywhere. With this part of the test disabled, I saw the test finishing in (time) "124.74s user" where it was before "1120.26s user" running the cris-elf-run simulator on a "i7-4770K CPU @ 3.50GHz" host. Most certainly that indidates that the remainder of the test is still too much for *some* host+simulator combos, but I'm happy with the runtime lowered to 1/5 of the timeout (10 minutes) on this particular combination, and I'd think this fixes timeouts for many other simulator combos too. This construct (disabling or lowering limits for simulators) is used elsewhere in the libstdc++ test-suite and in particular the SIMULATOR_TEST macro is used in the testsuite machinery (though AFAICT not in testDiscreteDist). * testsuite/26_numerics/random/poisson_distribution/operators/values.cc: Don't run the libstdc++/83237 part on simulator targets. From-SVN: r271574
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc4
2 files changed, 9 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1e88703..17a0463 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-23 Hans-Peter Nilsson <hp@axis.com>
+
+ * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
+ Don't run the libstdc++/83237 part on simulator targets.
+
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
index 0b03d94..2a45081 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
@@ -1,3 +1,4 @@
+// { dg-options "-DSIMULATOR_TEST" { target simulator } }
// { dg-do run { target c++11 } }
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
@@ -43,11 +44,14 @@ void test01()
auto bpd3 = std::bind(pd3, eng);
testDiscreteDist(bpd3, [](int n) { return poisson_pdf(n, 30.0); } );
+ // This can take extremely long on simulators, timing out the test.
+#ifndef SIMULATOR_TEST
// libstdc++/83237
std::poisson_distribution<> pd4(37.17);
auto bpd4 = std::bind(pd4, eng);
testDiscreteDist<100, 2000000>(bpd4, [](int n)
{ return poisson_pdf(n, 37.17); } );
+#endif
}
int main()