From 9de27403457ffe6d85783946fefd79b0cee63c4c Mon Sep 17 00:00:00 2001 From: fdumont Date: Wed, 5 Jan 2011 20:52:36 +0000 Subject: =?UTF-8?q?2011-01-05=20=20Fran=C3=A7ois=20Dumont=20=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * include/debug/safe_base.h (_Safe_iterator_base::_M_unlink): New. * include/src/debug.cc: Use latter * include/debug/forward_list (forward_list<>::_M_swap): Fix to correctly handle before_begin iterators. * testsuite/23_containers/forward_list/debug/swap.cc: Remove now useless _GLIBCXX_DEBUG checks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168528 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/include/debug/safe_base.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libstdc++-v3/include/debug/safe_base.h') diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h index 2ebdd89b58f..1348004cb57 100644 --- a/libstdc++-v3/include/debug/safe_base.h +++ b/libstdc++-v3/include/debug/safe_base.h @@ -146,6 +146,16 @@ namespace __gnu_debug /** Reset all member variables */ void _M_reset() throw (); + + /** Unlink itself */ + void + _M_unlink() throw () + { + if (_M_prior) + _M_prior->_M_next = _M_next; + if (_M_next) + _M_next->_M_prior = _M_prior; + } }; /** -- cgit v1.2.1