libstdc++: Fix some C++20 algorithms to work in parallel mode
authorJonathan Wakely <jwakely@redhat.com>
Thu, 7 May 2020 20:43:49 +0000 (21:43 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 7 May 2020 20:43:49 +0000 (21:43 +0100)
commit9c24e97a97aaad4ad0500170cbae4f387d82ddd6
treec6330aaa2600490516bd2276ffcf45a3fdf42dce
parent4cbc9d8b346b932f34828a51e8822881413951b7
libstdc++: Fix some C++20 algorithms to work in parallel mode

Some new algorithms need to use _GLIBCXX_STD_A to refer to the "normal"
version of the algorithm, to workaround the namespace dance done for
parallel mode.

PR libstdc++/94971 (partial)
* include/bits/ranges_algo.h (ranges::__sample_fn): Qualify
std::sample using macro to work in parallel mode.
(__sort_fn): Likewise for std::sort.
(ranges::__nth_element_fn): Likewise for std::nth_element.
* include/bits/stl_algobase.h (lexicographical_compare_three_way):
Likewise for std::__min_cmp.
* include/parallel/algobase.h (lexicographical_compare_three_way):
Add to namespace std::__parallel.
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/ranges_algo.h
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/include/parallel/algobase.h