This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/29496] _M_invalidate function is not thread-safe in GLIBCXX_DEBUG mode
- From: "paolo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Feb 2007 15:56:57 -0000
- Subject: [Bug libstdc++/29496] _M_invalidate function is not thread-safe in GLIBCXX_DEBUG mode
- References: <bug-29496-9884@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #24 from paolo at gcc dot gnu dot org 2007-02-01 15:56 -------
Subject: Bug 29496
Author: paolo
Date: Thu Feb 1 15:56:37 2007
New Revision: 121465
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=121465
Log:
2007-02-01 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/14493
* libsupc++/typeinfo (bad_cast::what, bad_typeid::what): Declare.
* libsupc++/tinfo.cc: Define.
* libsupc++/exception (bad_exception::what): Declare.
* libsupc++/eh_exception.cc: Define.
(exception::what): Adjust, don't use typeid.
* libsupc++/new (bad_alloc::what): Declare.
* libsupc++/new_handler.cc: Define.
* config/abi/pre/gnu.ver: Export the new methods @3.4.9.
* testsuite/18_support/14493.cc: New.
2007-02-01 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29496
* include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
New.
* src/debug.cc: Define the latter.
(_Safe_sequence_base::_M_detach_all, _M_detach_singular,
_M_revalidate_singular, _M_swap): Use the mutex.
(_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
*_single version.
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
_M_invalidate_single): New.
* include/debug/safe_iterator.tcc: Define.
(_Safe_iterator<>::_M_invalidate): Adjust, forward to
_M_invalidate_single.
* include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
_M_transfer_iter): Use the mutex, adjust, forward to the *_single
versions of _M_invalidate and _M_attach.
* config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
Add @GLIBCXX_3.4.9; adjust.
Added:
branches/gcc-4_2-branch/libstdc++-v3/testsuite/18_support/14493.cc
Modified:
branches/gcc-4_2-branch/libstdc++-v3/ChangeLog
branches/gcc-4_2-branch/libstdc++-v3/config/abi/pre/gnu.ver
branches/gcc-4_2-branch/libstdc++-v3/include/debug/safe_base.h
branches/gcc-4_2-branch/libstdc++-v3/include/debug/safe_iterator.h
branches/gcc-4_2-branch/libstdc++-v3/include/debug/safe_iterator.tcc
branches/gcc-4_2-branch/libstdc++-v3/include/debug/safe_sequence.h
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/eh_exception.cc
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/exception
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/new
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/new_handler.cc
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/tinfo.cc
branches/gcc-4_2-branch/libstdc++-v3/libsupc++/typeinfo
branches/gcc-4_2-branch/libstdc++-v3/src/debug.cc
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29496