diff options
author | François Dumont <fdumont@gcc.gnu.org> | 2016-05-23 20:03:35 +0000 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2016-05-23 20:03:35 +0000 |
commit | 447caf82a46a3f14ef475897791d11051f2f100c (patch) | |
tree | 391e2293b07877b2a5d2ca788d6bfc0368724190 | |
parent | d6c9a06fcfc524fef362795cc40dbdffe1ca8b6c (diff) | |
download | gcc-447caf82a46a3f14ef475897791d11051f2f100c.zip gcc-447caf82a46a3f14ef475897791d11051f2f100c.tar.gz gcc-447caf82a46a3f14ef475897791d11051f2f100c.tar.bz2 |
2016-05-23 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h
(_Safe_iterator<>::operator->()): Implement using underlying iterator
operator ->.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::operator->()): Likewise.
From-SVN: r236611
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/safe_iterator.h | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/safe_local_iterator.h | 3 |
3 files changed, 10 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 21e51c0..30a1cc4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2016-05-23 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_iterator.h + (_Safe_iterator<>::operator->()): Implement using underlying iterator + operator ->. + * include/debug/safe_local_iterator.h + (_Safe_local_iterator<>::operator->()): Likewise. + 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com> * testsuite/experimental/memory_resource/1.cc: Add required argument diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h index 5368f3b..03c0263 100644 --- a/libstdc++-v3/include/debug/safe_iterator.h +++ b/libstdc++-v3/include/debug/safe_iterator.h @@ -274,7 +274,6 @@ namespace __gnu_debug /** * @brief Iterator dereference. * @pre iterator is dereferenceable - * @todo Make this correct w.r.t. iterators that return proxies */ pointer operator->() const _GLIBCXX_NOEXCEPT @@ -282,7 +281,7 @@ namespace __gnu_debug _GLIBCXX_DEBUG_VERIFY(this->_M_dereferenceable(), _M_message(__msg_bad_deref) ._M_iterator(*this, "this")); - return std::__addressof(*base()); + return base().operator->(); } // ------ Input iterator requirements ------ diff --git a/libstdc++-v3/include/debug/safe_local_iterator.h b/libstdc++-v3/include/debug/safe_local_iterator.h index 4fcc05e..70e14697 100644 --- a/libstdc++-v3/include/debug/safe_local_iterator.h +++ b/libstdc++-v3/include/debug/safe_local_iterator.h @@ -236,7 +236,6 @@ namespace __gnu_debug /** * @brief Iterator dereference. * @pre iterator is dereferenceable - * @todo Make this correct w.r.t. iterators that return proxies */ pointer operator->() const @@ -244,7 +243,7 @@ namespace __gnu_debug _GLIBCXX_DEBUG_VERIFY(this->_M_dereferenceable(), _M_message(__msg_bad_deref) ._M_iterator(*this, "this")); - return std::__addressof(*base()); + return base().operator->(); } // ------ Input iterator requirements ------ |