Opened 7 years ago
Last modified 6 years ago
#11779 new Bugs
Boost.Lockfree: Implicit conversion loses integer precision warnings
Reported by: | Owned by: | timblechmann | |
---|---|---|---|
Milestone: | To Be Determined | Component: | lockfree |
Version: | Boost 1.59.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Xcode Version 7.1 (7B91b)
When using boost::lockfree::queue
I get the following implicit conversion warnings:
In file included from /foobar/source/foundation/concurrency/task_queue.cpp:11: In file included from /foobar/libraries/boost/install.osx/include/boost/lockfree/queue.hpp:21: In file included from /foobar/libraries/boost/install.osx/include/boost/lockfree/detail/freelist.hpp:23: In file included from /foobar/libraries/boost/install.osx/include/boost/lockfree/detail/tagged_ptr.hpp:18: /foobar/libraries/boost/install.osx/include/boost/lockfree/detail/tagged_ptr_ptrcompression.hpp:59:30: warning: implicit conversion loses integer precision: 'int' to 'tag_t' (aka 'unsigned short') [-Wconversion] ret.tag[tag_index] = tag; ~ ^~~ /foobar/libraries/boost/install.osx/include/boost/lockfree/detail/tagged_ptr_ptrcompression.hpp:78:13: note: in instantiation of member function 'boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::__1::packaged_task<void ()> *, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_>::node>::pack_ptr' requested here ptr(pack_ptr(p, t)) ^ In file included from /foobar/source/foundation/concurrency/task_queue.cpp:11: /foobar/libraries/boost/install.osx/include/boost/lockfree/queue.hpp:202:15: note: in instantiation of member function 'boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::__1::packaged_task<void ()> *, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_>::node>::tagged_ptr' requested here head_(tagged_node_handle(0, 0)), ^ /foobar/source/foundation/concurrency/task_queue.cpp:40:29: note: in instantiation of member function 'boost::lockfree::queue<std::__1::packaged_task<void ()> *, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_>::queue' requested here TaskQueueContext(void) : Queue(128) {} }}} ^
Note:
See TracTickets
for help on using tickets.
I get the same warning when using boost::lockfree::stack with boost v 1.63.0, and it is a problem since we have warning-as-errors rules when compiling.