aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-06-17 11:51:46 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2015-06-17 11:51:46 +0100
commitc92334d4c5e7cbffa91822ff0305e87eff069296 (patch)
tree86fff65492d3c28c85951f5ea1cb5f92dc475153
parentdb40fbca2495276f091623d2e07a988247a12b85 (diff)
downloadgcc-c92334d4c5e7cbffa91822ff0305e87eff069296.zip
gcc-c92334d4c5e7cbffa91822ff0305e87eff069296.tar.gz
gcc-c92334d4c5e7cbffa91822ff0305e87eff069296.tar.bz2
alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use __is_nothrow_swappable.
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use __is_nothrow_swappable. From-SVN: r224552
-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>