This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Improve implementation of parallel equal()


On 18/04/19 21:43 +0100, Jonathan Wakely wrote:
--- a/libstdc++-v3/include/pstl/glue_algorithm_impl.h
+++ b/libstdc++-v3/include/pstl/glue_algorithm_impl.h
@@ -757,7 +757,7 @@ __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,
+    return equal(std::forward<_ExecutionPolicy>(__exec), __first1, __last1, __first2, __last2,

N.B. I don't think this should be an unqualified call, but that can be
fixed in a later patch.

Also, should lines 677 and 699 in this file use std::forward for the
__exec parameter, not pass it as an lvalue?

I didn't look for other cases where it's not forwarded.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]