-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compile error in __serial_merge
#2013
Fix compile error in __serial_merge
#2013
Conversation
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
…remove local variables from the for-loop in __serial_merge
…remove local variables from the for-loop in __serial_merge
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h
Outdated
Show resolved
Hide resolved
…fix compile error in __serial_merge for case when the types of __rng2 and __rng1 aren't the same
…fix review comment: remove ternary operator at all
…revert: remove local variables from the for-loop in __serial_merge
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix looks good with Green CI.
Does testing cover this case or should we add a test to prevent regression?
It's not covered by our tests.
But may this mean that we has some problem in the implementation of I mean, it implements more then one // conversion to ::std::tuple with the same template arguments
operator ::std::tuple<T1, T...>() const
{
static constexpr ::std::size_t __tuple_size = sizeof...(T) + 1;
return to_std_tuple(*this, ::std::make_index_sequence<__tuple_size>());
}
// conversion to ::std::tuple with the different template arguments
template <typename U1, typename... U>
operator ::std::tuple<U1, U...>() const
{
constexpr ::std::size_t __tuple_size = sizeof...(T) + 1;
return to_std_tuple(static_cast<tuple<U1, U...>>(*this), ::std::make_index_sequence<__tuple_size>());
} And it's looks like the root case of this compile error. |
Ah, interesting, you may be correct... I need to investigate about what implicit conversion is allowed between |
I created new issue for the future investigations: #2017 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fix LGTM.
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h
Outdated
Show resolved
Hide resolved
…fix review comment: remove redundant parentheses
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM after removal of parens.
This reverts commit b619105.
This reverts commit 9fdbe52.
In this PR we fix compile errors in
__serial_merge
function for case when the types of__rng2
and__rng1
aren't the same:This compile error has been introduced in the PR #1970