Boost logo

Boost :

Subject: Re: [boost] [thread] Compiler eoorrs while running the tests
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2010-05-21 02:42:10


"vicente.botet" <vicente.botet_at_[hidden]> writes:

> ----- Original Message -----
> From: "Anthony Williams" <anthony.ajw_at_[hidden]>
> To: <boost_at_[hidden]>
> Sent: Thursday, May 20, 2010 5:08 PM
> Subject: Re: [boost] [thread] Compiler eoorrs while running the tests
>
>
>>
>> "vicente.botet" <vicente.botet_at_[hidden]> writes:
>>
>>> ----- Original Message -----
>>> From: "Anthony Williams" <anthony.ajw_at_[hidden]>
>>> To: <boost_at_[hidden]>
>>> Sent: Thursday, May 20, 2010 1:21 PM
>>> Subject: Re: [boost] [thread] Compiler eoorrs while running the tests
>>>
>>>
>>>>
>>>> "vicente.botet" <vicente.botet_at_[hidden]> writes:
>>>>
>>>>> Hi,
>>>>>
>>>>> I get some compile errors with boost 1.43
>>>>>
>>>>> gcc.compile.c++ ..\..\..\bin.v2\libs\thread\test\test_thread_return_local_lib.test\gcc-mingw-4.4.0\debug\threading-multi\test_thread_return_local.o
>>>>> ..\..\../boost/thread/detail/thread.hpp: In function 'boost::thread make_thread_return_local(boost::thread::id*)':
>>>>> ..\..\../boost/thread/detail/thread.hpp:111: error: 'boost::thread::thread(boost::thread&)' is private
>>>>> test_thread_return_local.cpp:16: error: within this context
>>>>>
>>>>> How can the following compile?
>>>>>
>>>>> boost::thread make_thread_return_local(boost::thread::id* the_id)
>>>>> {
>>>>> boost::thread t(do_nothing,the_id);
>>>>> return t;
>>>>> }
>>>>
>>>> It works on compilers with rvalue references, and on MSVC. With g++ it
>>>> should work if you specify -std=c++0x.
>>>
>>> It would be possible to run these tests only with compilers having rvalue references.
>>
>> It's marked as an expected failure on most platforms. The fact that it
>> fails serves as documentation that it's not supported. I'm not sure
>> whether classes using Boost.Move support this.
>
> Could you give a platform on which this works (of course other that C++0x support)?
> I don't see the advantage of marking it as expected failure if there is no one that succeed. It would be better document that this is not supported on the documentation.

According to the test results on trunk, it passes on Intel 10.1/Darwin,
vacpp/AIX and gcc 4.3.4/FreeBSD, as well as the various gcc -std=c++0x
test runners. I thought it also passed on MSVC 9, but it appears I was
mistaken.

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

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