From db0b7db3382d475b6b8782f06d87e34e6d06a52c Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 7 Aug 2014 23:54:53 +0100 Subject: [PATCH] future (__location_invariant): Move specializations after preprocessor condition. * include/std/future (__location_invariant): Move specializations after preprocessor condition. From-SVN: r213744 --- libstdc++-v3/ChangeLog | 3 +++ libstdc++-v3/include/std/future | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 00a76a82a68..6385f9b160e 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 PR c++/15339 diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index c3aaaec22d9..8989474c74c 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 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 class __basic_future : public __future_base