diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2018-10-02 16:59:25 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2018-10-02 14:59:25 +0000 |
commit | 86920074bfc4f6319edce71b7a11e49417599f0c (patch) | |
tree | 8063e90e46f33bbaa835f540fb31da40c4465b2a | |
parent | 057cf66ca3d290e0f68f66eba0e43379cb77f870 (diff) | |
download | gcc-86920074bfc4f6319edce71b7a11e49417599f0c.zip gcc-86920074bfc4f6319edce71b7a11e49417599f0c.tar.gz gcc-86920074bfc4f6319edce71b7a11e49417599f0c.tar.bz2 |
vector<bool> _M_start and 0 offset
2018-10-02 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/87258
* include/bits/stl_bvector.h (vector::begin(), vector::cbegin()):
Rebuild _M_start with an explicit 0 offset.
From-SVN: r264791
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | 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 388ae9d..30ff00a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-10-02 Marc Glisse <marc.glisse@inria.fr> + + 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 <jwakely@redhat.com> * 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 4527ce7..19c1683 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 |