aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Rodgers <trodgers@redhat.com>2019-04-20 22:45:58 +0000
committerThomas Rodgers <rodgertq@gcc.gnu.org>2019-04-20 22:45:58 +0000
commit9762ea561df659c21f8d61d52561c5977dc72521 (patch)
tree820bdc46c9526f484d0a7cf3138696d4f9facd26
parent0aa94749cbb73c4ff56a569fab2557b5f67cb31e (diff)
downloadgcc-9762ea561df659c21f8d61d52561c5977dc72521.zip
gcc-9762ea561df659c21f8d61d52561c5977dc72521.tar.gz
gcc-9762ea561df659c21f8d61d52561c5977dc72521.tar.bz2
Cleanup algorithm implementations
* include/pstl/glue_algorithm_impl.h (stable_sort): Forward execution policy. (mismatch): Forward execution policy. (equal): Qualify call to std::equal(). (partial_sort): Forward execution policy. (inplace_merge): Forward execution policy. From-SVN: r270471
-rw-r--r--libstdc++-v3/ChangeLog10
-rw-r--r--libstdc++-v3/include/pstl/glue_algorithm_impl.h14
2 files changed, 17 insertions, 7 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ce72659..a2accc0 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,13 @@
+2019-04-20 Thomas Rodgers <trodgers@redhat.com>
+
+ Cleanup algorithm implementations
+ * include/pstl/glue_algorithm_impl.h (stable_sort): Forward
+ execution policy.
+ (mismatch): Forward execution policy.
+ (equal): Qualify call to std::equal().
+ (partial_sort): Forward execution policy.
+ (inplace_merge): Forward execution policy.
+
2019-04-19 Thomas Rodgers <trodgers@redhat.com>
Improve implementation of parallel equal()
diff --git a/libstdc++-v3/include/pstl/glue_algorithm_impl.h b/libstdc++-v3/include/pstl/glue_algorithm_impl.h
index db5ef2b..1c4a351 100644
--- a/libstdc++-v3/include/pstl/glue_algorithm_impl.h
+++ b/libstdc++-v3/include/pstl/glue_algorithm_impl.h
@@ -674,7 +674,7 @@ __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last)
{
typedef typename std::iterator_traits<_RandomAccessIterator>::value_type _InputType;
- std::stable_sort(__exec, __first, __last, std::less<_InputType>());
+ std::stable_sort(std::forward<_ExecutionPolicy>(__exec), __first, __last, std::less<_InputType>());
}
// [mismatch]
@@ -696,8 +696,8 @@ __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_Fo
mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
_BinaryPredicate __pred)
{
- return std::mismatch(__exec, __first1, __last1, __first2, std::next(__first2, std::distance(__first1, __last1)),
- __pred);
+ return std::mismatch(std::forward<_ExecutionPolicy>(__exec), __first1, __last1, __first2,
+ std::next(__first2, std::distance(__first1, __last1)), __pred);
}
template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
@@ -757,8 +757,8 @@ __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
_ForwardIterator2 __last2)
{
- return equal(std::forward<_ExecutionPolicy>(__exec), __first1, __last1, __first2, __last2,
- __pstl::__internal::__pstl_equal());
+ return std::equal(std::forward<_ExecutionPolicy>(__exec), __first1, __last1, __first2, __last2,
+ __pstl::__internal::__pstl_equal());
}
// [alg.move]
@@ -798,7 +798,7 @@ partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAc
_RandomAccessIterator __last)
{
typedef typename iterator_traits<_RandomAccessIterator>::value_type _InputType;
- std::partial_sort(__exec, __first, __middle, __last, std::less<_InputType>());
+ std::partial_sort(std::forward<_ExecutionPolicy>(__exec), __first, __middle, __last, std::less<_InputType>());
}
// [partial.sort.copy]
@@ -908,7 +908,7 @@ inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _Bidire
_BidirectionalIterator __last)
{
typedef typename std::iterator_traits<_BidirectionalIterator>::value_type _InputType;
- std::inplace_merge(__exec, __first, __middle, __last, std::less<_InputType>());
+ std::inplace_merge(std::forward<_ExecutionPolicy>(__exec), __first, __middle, __last, std::less<_InputType>());
}
// [includes]