diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2024-06-06 11:50:06 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2024-06-26 21:14:14 +0100 |
commit | 003ce8a6c4c28f8d285134afa9a423d0e234cf2e (patch) | |
tree | a89452e24ede4776ebd29936276c3beefcb3b48f | |
parent | 0ca8d56f2085715f27ee536c6c344bc47af49cdd (diff) | |
download | gcc-003ce8a6c4c28f8d285134afa9a423d0e234cf2e.zip gcc-003ce8a6c4c28f8d285134afa9a423d0e234cf2e.tar.gz gcc-003ce8a6c4c28f8d285134afa9a423d0e234cf2e.tar.bz2 |
libstdc++: Work around some PSTL test failures for debug mode [PR90276]
This addresses one known failure due to a bug in the upstream tests, and
a number of timeouts due to the algorithms running much more slowly with
debug mode checks enabled.
libstdc++-v3/ChangeLog:
PR libstdc++/90276
* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
[_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode.
* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc
[_GLIBCXX_DEBUG]: Reduce size of test data.
* testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
Likewise.
4 files changed, 13 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc index 61bbca7..63e6abe 100644 --- a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc +++ b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc @@ -133,7 +133,11 @@ void test_by_type(Generator1 generator1, Generator2 generator2, Compare comp) { using namespace std; +#ifdef _GLIBCXX_DEBUG + size_t max_size = 1000; +#else size_t max_size = 10000; +#endif Sequence<T> in1(max_size, [](size_t v) { return T(v); }); Sequence<T> exp(max_size, [](size_t v) { return T(v); }); size_t m; diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/includes.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/includes.cc index ed07810..1567c36 100644 --- a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/includes.cc +++ b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/includes.cc @@ -77,7 +77,11 @@ void test_includes(Compare compare) { +#ifdef _GLIBCXX_DEBUG + const std::size_t n_max = 10000; +#else const std::size_t n_max = 1000000; +#endif // The rand()%(2*n+1) encourages generation of some duplicates. std::srand(42); diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc index 6d441cc..797d0ee 100644 --- a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc +++ b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc @@ -3,6 +3,7 @@ // { dg-do run { target c++17 } } // { dg-timeout-factor 3 } // { dg-require-effective-target tbb_backend } +// { dg-xfail-run-if "see PR 90276" { debug_mode } } //===-- partial_sort.pass.cpp ---------------------------------------------===// // diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_util.h b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_util.h index ecf5cd1..214e345 100644 --- a/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_util.h +++ b/libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/set_util.h @@ -51,7 +51,11 @@ namespace TestUtils void test_set_op(Compare compare) { +#ifdef _GLIBCXX_DEBUG + const std::size_t n_max = 1000; +#else const std::size_t n_max = 100000; +#endif // The rand()%(2*n+1) encourages generation of some duplicates. std::srand(4200); |