Commit 41ca4246 by Benjamin Kosnik Committed by Benjamin Kosnik

future: Move error handling bits outside macro guard.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Move error handling bits outside macro guard.
	* src/future.cc: Adjust.

	* include/precompiled/stdc++.h: Add future.
	* doc/xml/manual/using.xml: Same.

From-SVN: r150642
parent a00e3769
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Move error handling bits outside macro guard.
* src/future.cc: Adjust.
* include/precompiled/stdc++.h: Add future.
* doc/xml/manual/using.xml: Same.
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* src/hashtable.cc: Just definitions.
* src/hashtable_c++0x.cc: Compile C++0x versions.
* src/hash.cc: Same.
......
......@@ -242,54 +242,55 @@ mode, i.e. <literal>-std=c++0x</literal> or <literal>-std=gnu++0x</literal>.
</row>
<row>
<entry><filename class="headerfile">functional</filename></entry>
<entry><filename class="headerfile">future</filename></entry>
<entry><filename class="headerfile">initalizer_list</filename></entry>
<entry><filename class="headerfile">iomanip</filename></entry>
<entry><filename class="headerfile">ios</filename></entry>
<entry><filename class="headerfile">iosfwd</filename></entry>
</row>
<row>
<entry><filename class="headerfile">iosfwd</filename></entry>
<entry><filename class="headerfile">iostream</filename></entry>
<entry><filename class="headerfile">istream</filename></entry>
<entry><filename class="headerfile">iterator</filename></entry>
<entry><filename class="headerfile">limits</filename></entry>
<entry><filename class="headerfile">list</filename></entry>
</row>
<row>
<entry><filename class="headerfile">list</filename></entry>
<entry><filename class="headerfile">locale</filename></entry>
<entry><filename class="headerfile">map</filename></entry>
<entry><filename class="headerfile">memory</filename></entry>
<entry><filename class="headerfile">mutex</filename></entry>
<entry><filename class="headerfile">new</filename></entry>
</row>
<row>
<entry><filename class="headerfile">new</filename></entry>
<entry><filename class="headerfile">numeric</filename></entry>
<entry><filename class="headerfile">ostream</filename></entry>
<entry><filename class="headerfile">queue</filename></entry>
<entry><filename class="headerfile">random</filename></entry>
<entry><filename class="headerfile">ratio</filename></entry>
</row>
<row>
<entry><filename class="headerfile">ratio</filename></entry>
<entry><filename class="headerfile">regex</filename></entry>
<entry><filename class="headerfile">set</filename></entry>
<entry><filename class="headerfile">sstream</filename></entry>
<entry><filename class="headerfile">stack</filename></entry>
<entry><filename class="headerfile">stdexcept</filename></entry>
</row>
<row>
<entry><filename class="headerfile">stdexcept</filename></entry>
<entry><filename class="headerfile">streambuf</filename></entry>
<entry><filename class="headerfile">string</filename></entry>
<entry><filename class="headerfile">system_error</filename></entry>
<entry><filename class="headerfile">thread</filename></entry>
<entry><filename class="headerfile">tuple</filename></entry>
</row>
<row>
<entry><filename class="headerfile">tuple</filename></entry>
<entry><filename class="headerfile">type_traits</filename></entry>
<entry><filename class="headerfile">typeinfo</filename></entry>
<entry><filename class="headerfile">unordered_map</filename></entry>
<entry><filename class="headerfile">unordered_set</filename></entry>
<entry><filename class="headerfile">utility</filename></entry>
</row>
<row>
<entry><filename class="headerfile">utility</filename></entry>
<entry><filename class="headerfile">valarray</filename></entry>
<entry><filename class="headerfile">vector</filename></entry>
</row>
......
......@@ -98,6 +98,7 @@
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <mutex>
#include <random>
#include <ratio>
......
......@@ -43,9 +43,6 @@
#include <exception>
#include <cstdatomic>
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
&& defined(_GLIBCXX_ATOMIC_BUILTINS_4)
namespace std
{
/**
......@@ -111,6 +108,9 @@ namespace std
template<typename _Result>
class promise;
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
&& defined(_GLIBCXX_ATOMIC_BUILTINS_4)
// Holds the result of a future
struct _Future_result_base
{
......@@ -929,12 +929,12 @@ namespace std
promise<_Result> _M_promise;
};
// @} group futures
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
// && _GLIBCXX_ATOMIC_BUILTINS_4
// @} group futures
}
#endif // __GXX_EXPERIMENTAL_CXX0X__
#endif // _GLIBCXX_FUTURE
......@@ -24,8 +24,6 @@
#include <future>
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
&& defined(_GLIBCXX_ATOMIC_BUILTINS_4)
namespace
{
struct future_error_category : public std::error_category
......@@ -73,6 +71,3 @@ namespace std
const char*
future_error::what() const throw() { return _M_code.message().c_str(); }
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
// && _GLIBCXX_ATOMIC_BUILTINS_4
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment