Boost logo

Boost :

Subject: Re: [boost] Status of (boost) lockfree?
From: mikexu (anqingxu_at_[hidden])
Date: 2010-06-29 20:23:44


Hi,

I ran into exactly the same issue with Microsoft Visual Studio 2010. Here
is the error I got:

u:\development\thirdparty\boost_1_43_0\boost\atomic.hpp(167): warning C4800:
'intptr_t' : forcing value to bool 'true' or 'false' (performance warning)
1>u:\development\thirdparty\boost_1_43_0\boost\atomic\detail\integral-casts.hpp(228):
error C2621: member 'boost::detail::atomic::platform_atomic<T>::e' of union
'boost::detail::atomic::platform_atomic<T>::<unnamed-tag>' has copy
constructor
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\atomic\detail\base.hpp(63) :
see reference to class template instantiation
'boost::detail::atomic::platform_atomic<T>' being compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>
1> ]
1> u:\development\thirdparty\boost_1_43_0\boost\atomic.hpp(20) :
see reference to class template instantiation
'boost::detail::atomic::internal_atomic<T>' being compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\lockfree\fifo.hpp(202) : see
reference to class template instantiation 'boost::atomic<T>' being compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\lockfree\fifo.hpp(223) : see
reference to class template instantiation
'boost::lockfree::detail::fifo<T,freelist_t,Alloc>' being compiled
1> with
1> [
1> T=int,
1> freelist_t=boost::lockfree::caching_freelist_t,
1> Alloc=std::allocator<int>
1> ]
1> u:\development\thirdparty\concurrencytest\fifotest\fifo.cpp(15)
: see reference to class template instantiation 'boost::lockfree::fifo<T>'
being compiled
1> with
1> [
1> T=int
1> ]
1>u:\development\thirdparty\boost_1_43_0\boost\atomic\detail\integral-casts.hpp(228):
error C2621: member 'boost::detail::atomic::platform_atomic<T>::e' of union
'boost::detail::atomic::platform_atomic<T>::<unnamed-tag>' has copy
constructor
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::caching_freelist<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node,std::allocator<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>>::freelist_node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\atomic\detail\base.hpp(63) :
see reference to class template instantiation
'boost::detail::atomic::platform_atomic<T>' being compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::caching_freelist<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node,std::allocator<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>>::freelist_node>
1> ]
1> u:\development\thirdparty\boost_1_43_0\boost\atomic.hpp(20) :
see reference to class template instantiation
'boost::detail::atomic::internal_atomic<T>' being compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::caching_freelist<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node,std::allocator<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>>::freelist_node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\lockfree\detail\freelist.hpp(131)
: see reference to class template instantiation 'boost::atomic<T>' being
compiled
1> with
1> [
1>
T=boost::lockfree::tagged_ptr<boost::lockfree::caching_freelist<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node,std::allocator<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>>::freelist_node>
1> ]
1>
u:\development\thirdparty\boost_1_43_0\boost\lockfree\fifo.hpp(208) : see
reference to class template instantiation
'boost::lockfree::caching_freelist<T,Alloc>' being compiled
1> with
1> [
1>
T=boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node,
1>
Alloc=std::allocator<boost::lockfree::detail::fifo<int,boost::lockfree::caching_freelist_t,std::allocator<int>>::node>
1> ]
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:10.46
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Have you found a solution yet?

-Mike

Andrey Zhdanov wrote:
>
>
>
>
>> i don't have access to other compilers, so i need to rely on other
>> people's
>> report
>>
>
>
> Hello Tim,
>
> MSVC 9.0 complains about lockfree/fifo - does not like tagged_ptr to have
> copy constructor:
>
>
>
> 1>e:\work\201003\10.lock_free\boost-lf\boost\atomic\detail\integral-casts.hpp(228)
> : error C2621: member 'boost::detail::atomic::platform_atomic<T>::e' of
> union 'boost::detail::atomic::platform_atomic<T>::<unnamed-tag>' has copy
> constructor
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\atomic\detail\base.hpp(63) :
> see reference to class template instantiation
> 'boost::detail::atomic::platform_atomic<T>' being compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\atomic.hpp(20) : see
> reference to class template instantiation
> 'boost::detail::atomic::internal_atomic<T>' being compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\lockfree\fifo.hpp(202) : see
> reference to class template instantiation 'boost::atomic<T>' being
> compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
>
>
> Though, after commening copy contructor, there is another error:
>
>
>
> 1>e:\work\201003\10.lock_free\boost-lf\boost\atomic\detail\integral-casts.hpp(228)
> : error C2620: member 'boost::detail::atomic::platform_atomic<T>::e' of
> union 'boost::detail::atomic::platform_atomic<T>::<unnamed-tag>' has
> user-defined constructor or non-trivial default constructor
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\atomic\detail\base.hpp(63) :
> see reference to class template instantiation
> 'boost::detail::atomic::platform_atomic<T>' being compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\atomic.hpp(20) : see
> reference to class template instantiation
> 'boost::detail::atomic::internal_atomic<T>' being compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
> 1> e:\work\201003\10.lock_free\boost-lf\boost\lockfree\fifo.hpp(202) : see
> reference to class template instantiation 'boost::atomic<T>' being
> compiled
>
> 1> with
>
> 1> [
>
> 1>
> T=boost::lockfree::tagged_ptr<boost::lockfree::detail::fifo<EU_DATA,boost::lockfree::caching_freelist_t,std::allocator<EU_DATA>>::node>
>
> 1> ]
>
>
>
> Thanks,
>
> Andrey
>
>
>
> _________________________________________________________________
> Hotmail: Free, trusted and rich email service.
> http://clk.atdmt.com/GBL/go/201469228/direct/01/
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
>

-- 
View this message in context: http://old.nabble.com/Status-of-%28boost%29-lockfree--tp27733138p29029331.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