hpx icon indicating copy to clipboard operation
hpx copied to clipboard

Compilation fails on i386: error: no matching function for call to 'bit_cast'

Open yurivict opened this issue 1 year ago • 1 comments

In file included from /wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/thread_pools/src/scheduled_thread_pool.cpp:8:
In file included from /wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/background_scheduler.hpp:14:
In file included from /wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/local_queue_scheduler.hpp:17:
In file included from /wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/lockfree_queue_backends.hpp:15:
In file included from /wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/concurrency/include/hpx/concurrency/deque.hpp:26:
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/concurrency/include/hpx/concurrency/detail/tagged_ptr_pair.hpp:117:27: error: no matching function for call to 'bit_cast'
            cast_unit ret(hpx::bit_cast<compressed_ptr_t>(lptr),
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/concurrency/include/hpx/concurrency/detail/tagged_ptr_pair.hpp:137:13: note: in instantiation of function template specialization 'hpx::lockfree::tagged_ptr_pair<hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *>, hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *>>::pack_ptr_pair<hpx::lockfree::deque_status_type, int>' requested here
            pack_ptr_pair(pair_, lptr, rptr, ltag, rtag);
            ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/concurrency/include/hpx/concurrency/deque.hpp:120:19: note: in instantiation of function template specialization 'hpx::lockfree::tagged_ptr_pair<hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *>, hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *>>::tagged_ptr_pair<hpx::lockfree::deque_status_type, int>' requested here
          : pair_(pair(nullptr, nullptr, deque_status_type::stable, 0))
                  ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/concurrency/include/hpx/concurrency/deque.hpp:394:13: note: in instantiation of member function 'hpx::lockfree::deque_anchor<hpx::threads::detail::thread_data_reference_counting *>::deque_anchor' requested here
          : anchor_()
            ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/lockfree_queue_backends.hpp:55:13: note: in instantiation of member function 'hpx::lockfree::deque<hpx::threads::detail::thread_data_reference_counting *, hpx::lockfree::caching_freelist_t, hpx::util::aligned_allocator<hpx::threads::detail::thread_data_reference_counting *>>::deque' requested here
          : queue_(std::size_t(initial_size))
            ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/thread_queue.hpp:479:13: note: in instantiation of member function 'hpx::threads::policies::lockfree_fifo_backend<hpx::threads::detail::thread_data_reference_counting *>::lockfree_fifo_backend' requested here
          , work_items_(128)
            ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/schedulers/include/hpx/schedulers/local_queue_scheduler.hpp:124:38: note: in instantiation of member function 'hpx::threads::policies::thread_queue<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>::thread_queue' requested here
                    queues_[i] = new thread_queue_type(thread_queue_init_);
                                     ^
/wrkdirs/usr/ports/devel/hpx/work/hpx-1.9.1/libs/core/type_support/include/hpx/type_support/bit_cast.hpp:34:23: note: candidate template ignored: requirement 'sizeof(unsigned long long) == sizeof(hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *> *)' was not satisfied [with To = compressed_ptr_t, From = hpx::lockfree::deque_node<hpx::threads::detail::thread_data_reference_counting *> *]
        To> constexpr bit_cast(From const& src) noexcept
                      ^

log

Version: 1.9.1 clang-16 FreeBSD 14.0

yurivict avatar Jan 25 '24 06:01 yurivict

@yurivict I believe that this has been fixed on master. Could you try that, please? We're about to release V1.10, knowing that this was fixed would be good.

hkaiser avatar Jan 25 '24 14:01 hkaiser