diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a9ed2064aeac..caa32f7383a4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2015-06-17 Jonathan Wakely + + * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use + __is_nothrow_swappable. + 2015-06-16 Jonathan Wakely * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h index 06bc70a4cb2a..bd0f75945aa8 100644 --- a/libstdc++-v3/include/ext/alloc_traits.h +++ b/libstdc++-v3/include/ext/alloc_traits.h @@ -159,9 +159,8 @@ template static constexpr bool _S_nothrow_swap() { - using std::swap; return !_S_propagate_on_swap() - || noexcept(swap(std::declval<_Alloc&>(), std::declval<_Alloc&>())); + || std::__is_nothrow_swappable<_Alloc>::value; } template