diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/allocated_ptr.h | 5 |
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 |