Skip to content
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

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

Open
yurivict opened this issue Jan 25, 2024 · 1 comment

Comments

@yurivict
Copy link

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

@hkaiser
Copy link
Member

hkaiser commented Jan 25, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants