aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/ext/alloc_traits.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a9ed206..caa32f7 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
+ __is_nothrow_swappable.
+
2015-06-16 Jonathan Wakely <jwakely@redhat.com>
* 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 06bc70a..bd0f759 100644
--- a/libstdc++-v3/include/ext/alloc_traits.h
+++ b/libstdc++-v3/include/ext/alloc_traits.h
@@ -159,9 +159,8 @@ template<typename _Alloc>
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<typename _Tp>