* include/std/future (__location_invariant): Move specializations
after preprocessor condition.
From-SVN: r213744
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
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
<__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