diff options
Diffstat (limited to 'biology/seqwish/files/patch-deps_paryfor_paryfor.hpp')
| -rw-r--r-- | biology/seqwish/files/patch-deps_paryfor_paryfor.hpp | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/biology/seqwish/files/patch-deps_paryfor_paryfor.hpp b/biology/seqwish/files/patch-deps_paryfor_paryfor.hpp index c8a0fc7b928d..4f4e2b9eb9a9 100644 --- a/biology/seqwish/files/patch-deps_paryfor_paryfor.hpp +++ b/biology/seqwish/files/patch-deps_paryfor_paryfor.hpp @@ -1,4 +1,7 @@ ---- deps/paryfor/paryfor.hpp.orig 2024-10-15 18:25:21 UTC +- fix for PPC +- fix build with clang19 + +--- deps/paryfor/paryfor.hpp.orig 2024-10-15 18:25:21 UTC +++ deps/paryfor/paryfor.hpp @@ -51,7 +51,22 @@ static inline void spin_loop_pause() noexcept { } @@ -23,3 +26,35 @@ #error "Unknown CPU architecture." #endif +@@ -453,13 +468,13 @@ class AtomicQueue2 : public AtomicQueueCommon<AtomicQ + + T do_pop(unsigned tail) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(tail % size_); +- return Base::template do_pop_any(states_[index], elements_[index]); ++ return Base::template do_pop_any<>(states_[index], elements_[index]); + } + + template<class U> + void do_push(U&& element, unsigned head) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(head % size_); +- Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]); ++ Base::template do_push_any<>(std::forward<U>(element), states_[index], elements_[index]); + } + + public: +@@ -581,13 +596,13 @@ class AtomicQueue2B : public AtomicQueueCommon<Atomic + + T do_pop(unsigned tail) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(tail & (size_ - 1)); +- return Base::template do_pop_any(states_[index], elements_[index]); ++ return Base::template do_pop_any<>(states_[index], elements_[index]); + } + + template<class U> + void do_push(U&& element, unsigned head) noexcept { + unsigned index = details::remap_index<SHUFFLE_BITS>(head & (size_ - 1)); +- Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]); ++ Base::template do_push_any<>(std::forward<U>(element), states_[index], elements_[index]); + } + + public: |
