Boost logo

Boost :

Subject: Re: [boost] [lockfree] include into 1.51?
From: nnelson (nnelson_at_[hidden])
Date: 2012-07-09 13:48:28


I am posting this again in that the boot list indicated it needed
subscription.
-------
Jonathan, (redi at gcc dot gnu.org <gcc-bugzilla_at_[hidden]>)
Re: [Bug c++/53899] [C++0x] undefined reference to
std::atomic<boost::lockfree::detail::tagged_ptr...

I installed g++-4.7 and obtained a good improvement over the prior results
with the following output

boost_lockfree/libs/lockfree/test$ g++-4.7 -std=c++0x bench_3.cpp -o bench_3
In file included from /usr/include/boost/lockfree/detail/atomic.hpp:15:0,
                 from ../../../boost/lockfree/fifo.hpp:26,
                 from bench_3.cpp:1:
/usr/include/c++/4.7/atomic: In instantiation of ‘struct
std::atomic&lt;boost::lockfree::detail::tagged_ptr&lt;boost::lockfree::detail::freelist_node>
>’:
/usr/include/boost/lockfree/detail/freelist.hpp:203:29: required from here
/usr/include/c++/4.7/atomic:160:7: error: function
‘std::atomic<_Tp>::atomic() [with _Tp =
boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_node>]’
defaulted on its first declaration with an exception-specification that
differs from the implicit declaration
‘std::atomic<boost::lockfree::detail::tagged_ptr&lt;boost::lockfree::detail::freelist_node>
>::atomic()’
/usr/include/c++/4.7/atomic: In instantiation of ‘struct
std::atomic<boost::lockfree::detail::tagged_ptr&lt;boost::lockfree::detail::fifo&lt;long
int, boost::lockfree::caching_freelist_t, std::allocator&lt;long int>
>::node> >’:
../../../boost/lockfree/fifo.hpp:287:29: required from ‘class
boost::lockfree::detail::fifo<long int, boost::lockfree::caching_freelist_t,
std::allocator<long int> >’
../../../boost/lockfree/fifo.hpp:315:7: required from ‘class
boost::lockfree::fifo<long int>’
bench_3.cpp:18:5: required from here
/usr/include/c++/4.7/atomic:160:7: error: function
‘std::atomic<_Tp>::atomic() [with _Tp =
boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::fifo&lt;long
int, boost::lockfree::caching_freelist_t, std::allocator&lt;long int>
>::node>]’ defaulted on its first declaration with an
exception-specification that differs from the implicit declaration
‘std::atomic<boost::lockfree::detail::tagged_ptr&lt;boost::lockfree::detail::fifo&lt;long
int, boost::lockfree::caching_freelist_t, std::allocator&lt;long int>
>::node> >::atomic()’

Tim Blechmann posted on the Boost list this morning he was doing final
testing for the Boost 51 release. I will copy this to him in case he has an
idea. My impression is that g++ -std=c++0x and boost lockfree are rather
close.

Neil

--
View this message in context: http://boost.2283326.n4.nabble.com/lockfree-include-into-1-51-tp4632704p4632746.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk