The patch below break bootstrap on darwin (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63811):
> Fix std::deque move construction with non-equal allocators. > > * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): > Dispatch according to whether allocators are always equal. > (_Deque_base::_M_move_impl()): Implement move-from state. In file included from /Users/fx/devel/gcc/ibin2/x86_64-apple-darwin14.0.0/libstdc++-v3/include/deque:64:0, from /Users/fx/devel/gcc/trunk2/libstdc++-v3/include/precompiled/stdc++.h:67: /Users/fx/devel/gcc/ibin2/x86_64-apple-darwin14.0.0/libstdc++-v3/include/bits/stl_deque.h: In member function ‘std::_Deque_base<_Tp, _Alloc>::_Deque_impl std::_Deque_base<_Tp, _Alloc>::_M_move_impl()’: /Users/fx/devel/gcc/ibin2/x86_64-apple-darwin14.0.0/libstdc++-v3/include/bits/stl_deque.h:645:17: error: expected primary-expression before ‘__attribute’ _Tp_alloc_type __attribute((__unused__)) {std::move(__alloc)}; ^ make[2]: *** [x86_64-apple-darwin14.0.0/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1