]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
authorJonathan Wakely <jwakely.gcc@gmail.com>
Wed, 20 Nov 2013 20:59:19 +0000 (20:59 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 20 Nov 2013 20:59:19 +0000 (20:59 +0000)
commitf2f08be7ea13b75632f1ecdddbefb928b8fc0fe4
tree52b3906db49c694dccf669aa2f545f7476b715f0
parenta2d0d374f69a87cde1a18bbcf197ff45168764fa
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)

PR libstdc++/49204
* include/std/future (__future_base::_State_base): Rename to
__future_base::_State_baseV2.
(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
(__future_base::_State_baseV2::_M_run_deferred): Rename to
_M_complete_async.
(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
test for a deferred function, or call _M_complete_async() to join an
async thread that has made the shared state ready.
(__future_base::_State_baseV2::wait_until): Likewise.
(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
_M_complete_async.
* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
Export old definition.
(__future_base::_Async_state_common): Likewise.
* src/c++11/future.cc (__future_base::_State_base::~_State_base):
Remove.
* doc/xml/manual/status_cxx2011.xml: Update status.
* testsuite/30_threads/async/async.cc: Test future_status::timeout
and future_status::ready.
* testsuite/30_threads/async/sync.cc: Test future_status::deferred.

From-SVN: r205144
libstdc++-v3/ChangeLog
libstdc++-v3/doc/xml/manual/status_cxx2011.xml
libstdc++-v3/include/std/future
libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
libstdc++-v3/src/c++11/future.cc
libstdc++-v3/testsuite/30_threads/async/async.cc
libstdc++-v3/testsuite/30_threads/async/sync.cc