This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Avoid memory allocations when making futures ready

On 08/08/14 00:07 +0200, Dominique Dhumieres wrote:
This patch replaces some reference members with pointers, ...
Tested x86_64-linux, committed to trunk.

This breaks bootstrap (see

Fixed by this patch, sorry about that. I was caught out (again) by the
files in libstdc++-v3/src/*/ not being recompiled when headers change.

Tested x86_64-linux with full bootstrap, committed to trunk.

commit b5af1e35e9c52ea8738997431ab958dc4caf85c6
Author: Jonathan Wakely <>
Date:   Thu Aug 7 23:20:09 2014 +0100

    	* include/std/future (__location_invariant): Move specializations
    	after preprocessor condition.

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
       void _M_destroy() { delete this; }
   // 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 { };
   /// Common implementation for future and shared_future.
   template<typename _Res>
     class __basic_future : public __future_base

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]