diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/future | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 00a76a8..6385f9b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -26,6 +26,9 @@ and initialize _Task_setter with pointers. (__location_invariant): Specialize for _Setter and _Task_setter. + * include/std/future (__location_invariant): Move specializations + after preprocessor condition. + 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/15339 diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index c3aaaec..8989474 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -551,6 +551,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void _M_destroy() { delete this; } }; +#ifndef _GLIBCXX_ASYNC_ABI_COMPAT + // Allow _Setter objects to be stored locally in std::function template<typename _Res, typename _Arg> struct __is_location_invariant @@ -563,8 +565,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION <__future_base::_Task_setter<_Res_ptr, _Fn, _Res>> : true_type { }; -#ifndef _GLIBCXX_ASYNC_ABI_COMPAT - /// Common implementation for future and shared_future. template<typename _Res> class __basic_future : public __future_base |