diff options
author | John Bytheway <jbytheway@gmail.com> | 2018-11-06 20:20:06 +0000 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2018-11-06 20:20:06 +0000 |
commit | cdc71993cf6d210bc7ff5b9c1ec099c25a8c5f48 (patch) | |
tree | 778ba30c5bcc95c9a698ade74fd7dd5cb48a4d5a | |
parent | 996bea89df18890e6dd0bdbbf5a7f1d4fd6852ad (diff) | |
download | gcc-cdc71993cf6d210bc7ff5b9c1ec099c25a8c5f48.zip gcc-cdc71993cf6d210bc7ff5b9c1ec099c25a8c5f48.tar.gz gcc-cdc71993cf6d210bc7ff5b9c1ec099c25a8c5f48.tar.bz2 |
re PR libstdc++/87872 (debug list::splice should not call _M_transfer_from_if on self-splices)
2018-11-06 John Bytheway <jbytheway@gmail.com>
PR libstdc++/87872
* include/debug/safe_sequence.tcc
(_Safe_sequence<>::_M_transfer_from_if): Skip transfer to self.
From-SVN: r265851
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/safe_sequence.tcc | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b7126f8..fe28f52 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-11-06 John Bytheway <jbytheway@gmail.com> + + PR libstdc++/87872 + * include/debug/safe_sequence.tcc + (_Safe_sequence<>::_M_transfer_from_if): Skip transfer to self. + 2018-10-31 Joseph Myers <joseph@codesourcery.com> PR bootstrap/82856 diff --git a/libstdc++-v3/include/debug/safe_sequence.tcc b/libstdc++-v3/include/debug/safe_sequence.tcc index 12de48c..ce9a807 100644 --- a/libstdc++-v3/include/debug/safe_sequence.tcc +++ b/libstdc++-v3/include/debug/safe_sequence.tcc @@ -68,6 +68,9 @@ namespace __gnu_debug _Safe_sequence<_Sequence>:: _M_transfer_from_if(_Safe_sequence& __from, _Predicate __pred) { + if (this == std::__addressof(__from)) + return; + typedef typename _Sequence::iterator iterator; typedef typename _Sequence::const_iterator const_iterator; |