From 7127b8d74c68db57ccf30e656d9c2ff79526c2f4 Mon Sep 17 00:00:00 2001 From: glisse Date: Tue, 2 Oct 2018 14:59:25 +0000 Subject: [PATCH] vector _M_start and 0 offset 2018-10-02 Marc Glisse PR libstdc++/87258 * include/bits/stl_bvector.h (vector::begin(), vector::cbegin()): Rebuild _M_start with an explicit 0 offset. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264791 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/stl_bvector.h | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 388ae9d90692..30ff00af1397 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-10-02 Marc Glisse + + PR libstdc++/87258 + * include/bits/stl_bvector.h (vector::begin(), vector::cbegin()): + Rebuild _M_start with an explicit 0 offset. + 2018-10-02 Jonathan Wakely * include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index 4527ce7832aa..19c16839cfae 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -809,11 +809,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER iterator begin() _GLIBCXX_NOEXCEPT - { return this->_M_impl._M_start; } + { return iterator(this->_M_impl._M_start._M_p, 0); } const_iterator begin() const _GLIBCXX_NOEXCEPT - { return this->_M_impl._M_start; } + { return const_iterator(this->_M_impl._M_start._M_p, 0); } iterator end() _GLIBCXX_NOEXCEPT @@ -842,7 +842,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #if __cplusplus >= 201103L const_iterator cbegin() const noexcept - { return this->_M_impl._M_start; } + { return const_iterator(this->_M_impl._M_start._M_p, 0); } const_iterator cend() const noexcept -- 2.47.2