diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 388ae9d9069..30ff00af139 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 4527ce7832a..19c16839cfa 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