
Anthony, 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)' Regards Hartmut --------------- Meet me at BoostCon www.boostcon.com
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost- bounces@lists.boost.org] On Behalf Of Anthony Williams Sent: Thursday, February 18, 2010 3:55 PM To: boost@lists.boost.org Subject: Re: [boost] [thread][config] VC10RC fails compiling when using thread library (BOOST_NO_RVALUE_REFERENCES)
"Hartmut Kaiser" <hartmut.kaiser@gmail.com> 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 for 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 place 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 bug.
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.
Anthony -- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost