From: John Maddock (john_at_[hidden])
Date: 2007-10-24 06:38:58


Anthony Williams wrote:
> That code is there to support move semantics for thread. It compiles
> OK on Borland 5.8.2.
>
> This should be a direct constructor call. Any ideas for a Borland
> 5.6.4 workaround?

Yep, with this patch it builds OK, and the regex test passes again:

Index: C:/data/boost/boost/trunk/libs/thread/src/win32/thread.cpp
===================================================================
--- C:/data/boost/boost/trunk/libs/thread/src/win32/thread.cpp (revision
40407)
+++ C:/data/boost/boost/trunk/libs/thread/src/win32/thread.cpp (working
copy)
@@ -184,12 +184,14 @@

     thread::operator boost::move_t<thread>()
     {
- return boost::move_t<thread>(*this);
+ boost::move_t<thread> m(*this);
+ return m;
     }

     boost::move_t<thread> thread::move()
     {
- return boost::move_t<thread>(*this);
+ boost::move_t<thread> m(*this);
+ return m;
     }

     void thread::swap(thread& x)

Running through the thread regression tests I still see quite a few failures
though: some are dependencies on the string library that are failing, the
timeout failures look more worrying though. Logfile attached.

HTH, John.