Subject: Re: [boost] [thread][config] VC10RC fails compiling when using thread library (BOOST_NO_RVALUE_REFERENCES)
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2010-02-18 17:45:56
Sorry, but still not good:
boost\thread\win32\thread_heap_alloc.hpp(97): error C2664:
'boost::detail::thread_data<F>::thread_data(F &&)' : cannot convert
parameter 1 from 'void (__cdecl *)(void)' to 'void (__cdecl *&&)(void)'
Meet me at BoostCon
> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-
> bounces_at_[hidden]] On Behalf Of Anthony Williams
> Sent: Thursday, February 18, 2010 3:55 PM
> To: boost_at_[hidden]
> Subject: Re: [boost] [thread][config] VC10RC fails compiling when using
> thread library (BOOST_NO_RVALUE_REFERENCES)
> "Hartmut Kaiser" <hartmut.kaiser_at_[hidden]> writes:
> >> > It would be nice for them to be available in situations that arent
> >> > affected by this bug. Is there a workaround that can be applied
> >> > this one case?
> >> I could put an "if not MSVC 10" test around the boost::thread
> >> constructor.
> > FWIW, it's not just the constructor. I'm getting errors all over the
> > in the thread library (essentially almost everywhere rvalue
> references are
> > used), for instance in barrier.hpp, mutex.hpp, etc.
> Argh! I haven't got MSVC 10 on the machine I use for doing boost
> development, so I would be glad to know what the problems are.
> The bug I filed should only affect the boost::thread constructor, so if
> you change the #ifdef around that so it uses the non-rvalue-ref version
> for MSVC10 then that bug shouldn't bite. Anything else is new to me.
> Certainly, all the boost thread tests are failing on MSVC10 due to this
> Ooh. I just found a few places where the semantics of rvalue reference
> binding has changed. MSVC matches the latest draft (rvalue ref doesn't
> bind to an lvalue), whilst g++ matches the earlier draft (rvalue ref
> does bind to an lvalue). Hopefully this is now fixed on trunk.
> Author of C++ Concurrency in Action
> just::thread C++0x thread library
> Just Software Solutions Ltd
> 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No.
> Unsubscribe & other changes: