aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-06-16 23:33:06 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2015-06-16 23:33:06 +0100
commit91b142ffc3c32bcc76db6e2bb349cce5c98ab595 (patch)
tree13df26a63a48ab4ee56d76580bb547697028296a
parent200fcd339802e67a444ba78dd941eebe8fd8e1f5 (diff)
downloadgcc-91b142ffc3c32bcc76db6e2bb349cce5c98ab595.zip
gcc-91b142ffc3c32bcc76db6e2bb349cce5c98ab595.tar.gz
gcc-91b142ffc3c32bcc76db6e2bb349cce5c98ab595.tar.bz2
* include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
From-SVN: r224540
-rw-r--r--libstdc++-v3/ChangeLog2
-rw-r--r--libstdc++-v3/include/bits/allocated_ptr.h5
2 files changed, 5 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e6ed6ab..a9ed206 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,7 @@
2015-06-16 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
+
* include/bits/list.tcc (list::operator=(const list&), list::merge):
Use __addressof instead of operator&.
(list::sort): Use array-to-pointer decay instead of operator&.
diff --git a/libstdc++-v3/include/bits/allocated_ptr.h b/libstdc++-v3/include/bits/allocated_ptr.h
index 63088c2..d7f00d7 100644
--- a/libstdc++-v3/include/bits/allocated_ptr.h
+++ b/libstdc++-v3/include/bits/allocated_ptr.h
@@ -50,14 +50,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Take ownership of __ptr
__allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
- : _M_alloc(&__a), _M_ptr(__ptr)
+ : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
{ }
/// Convert __ptr to allocator's pointer type and take ownership of it
template<typename _Ptr,
typename _Req = _Require<is_same<_Ptr, value_type*>>>
__allocated_ptr(_Alloc& __a, _Ptr __ptr)
- : _M_alloc(&__a), _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
+ : _M_alloc(std::__addressof(__a)),
+ _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
{ }
/// Transfer ownership of the owned pointer