gcc/libstdc++-v3/src
François Dumont afe96d415d debug.cc: Introduce a mutex pool in get_safe_base_mutex.
2010-11-25  François Dumont  <francois.cppdevs@free.fr>

	* src/debug.cc: Introduce a mutex pool in get_safe_base_mutex.
	Move code used to manipulate sequence safe iterators from safe
	iterator methods to safe sequence ones. Remove usage of safe iterator
	mutex, keep _Safe_iterator_base::_M_get_mutex for library backward
	binary compatibility.
	* src/Makefile.am: Build debug.cc in gnu++0x mode for _Hash_impl usage.
	* src/Makefile.in: Regenerate
	* include/debug/safe_base.h: Add _Safe_iterator_base _M_invalidate
	and _M_reset. Add _Safe_sequence_base _M_attach, _M_attach_single,
	_M_detach and _M_detach_single.
	* include/debug.safe_iterator.h, safe_iterator.tcc: Remove
	_Safe_iterator _M_invalidate and _M_invalidate_single. Implement all
	methods in terms of normal iterators rather than safe ones.
	* include/debug/safe_sequence.h: Replace _Safe_sequence
	_M_transfe_iter with _M_transfer_from_if taking the source sequence
	and a predicate signaling when a safe iterator shall be transfered.
	Add _Equal_to predicate.
	* include/debug/safe_sequence.tcc: New.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* include/debug/forward_list: Swap safe iterators in move constructor.
	Do not invalidate before begin in _M_invalidate_all method.
	Reimplement safe methods using normal iterators rather than safe ones.
	* include/debug/set.h, unordered_map, multiset.h, vector,
	unordered_set, deque, map.h, list, multimap.h: Reimplement safe method
	using normal iterators rather than safe ones.
	* testsuite/23_containers/forward_list/debug/clear.cc, swap.cc,
	move_constructor.cc, splice_after.cc, splice_after1.cc,
	splice_after2.cc, splice_after3.cc, splice_after4.cc: New.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: New.

From-SVN: r167152
2010-11-25 20:53:39 +00:00
..
allocator-inst.cc
atomic.cc
bitmap_allocator.cc
chrono.cc
codecvt.cc
compatibility-c++0x.cc
compatibility-debug_list.cc
compatibility-ldbl.cc
compatibility-list.cc
compatibility-parallel_list.cc
compatibility.cc
complex_io.cc
concept-inst.cc
condition_variable.cc
ctype.cc
debug_list.cc
debug.cc debug.cc: Introduce a mutex pool in get_safe_base_mutex. 2010-11-25 20:53:39 +00:00
ext-inst.cc
fstream-inst.cc
functexcept.cc
future.cc
globals_io.cc
hash_c++0x.cc
hash_tr1.cc
hash-long-double-aux.cc
hashtable_c++0x.cc
hashtable_tr1.cc
hashtable-aux.cc
ios_failure.cc
ios_init.cc
ios_locale.cc
ios-inst.cc
ios.cc
iostream-inst.cc
istream-inst.cc
istream.cc
limits.cc
list.cc
locale_facets.cc
locale_init.cc
locale-inst.cc
locale.cc
localename.cc
Makefile.am debug.cc: Introduce a mutex pool in get_safe_base_mutex. 2010-11-25 20:53:39 +00:00
Makefile.in debug.cc: Introduce a mutex pool in get_safe_base_mutex. 2010-11-25 20:53:39 +00:00
math_stubs_float.cc
math_stubs_long_double.cc
misc-inst.cc
mt_allocator.cc
mutex.cc
ostream-inst.cc
parallel_list.cc
parallel_settings.cc
pool_allocator.cc
sstream-inst.cc
stdexcept.cc
streambuf-inst.cc
streambuf.cc
string-inst.cc
strstream.cc
system_error.cc
thread.cc
tree.cc
valarray-inst.cc
wlocale-inst.cc
wstring-inst.cc