This patch has broken bootstrap on AIX May I mention that this really should have been tested on systems other than x86 Linux.
In file included from /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/ future:44:0, from /nasfarm/edelsohn/src/src/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc:30: /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:223:5: error: 'mutex' does not name a type mutex _M_mutex; ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:224:5: error: 'condition_variable' does not name a type condition_variable _M_condvar; ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'unsigned int std::__atomic_futex_unsigned<_Waiter_bit>::_M_load(std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:19: error: 'mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:24: error: template argument 1 is invalid unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:232:33: error: '_M_mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'unsigned int std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_not_equal(unsigned int, std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:19: error: 'mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:24: error: template argument 1 is invalid unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:239:33: error: '_M_mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:241:2: error: '_M_condvar' was not declared in this scope _M_condvar.wait(__lock); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'void std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_equal(unsigned int, std::memory_order)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:19: error: 'mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:24: error: template argument 1 is invalid unique_lock<mutex> __lock(_M_mutex); /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:248:33: error: '_M_mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:250:2: error: '_M_condvar' was not declared in this scope _M_condvar.wait(__lock); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h: In member function 'bool std::__atomic_futex_unsigned<_Waiter_bit>::_M_load_when_equal_for(unsigned int, std::memory_order, const std::chrono::duration<_Rep, _Period>&)': /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:19: error: 'mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:24: error: template argument 1 is invalid unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:258:33: error: '_M_mutex' was not declared in this scope unique_lock<mutex> __lock(_M_mutex); ^ /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/atomic_futex.h:259:14: error: '_M_condvar' was not declared in this scope return _M_condvar.wait_for(__lock, __rtime, ^ etc. - David