gcc/libstdc++-v3/include/bits
François Dumont 3157879227 re PR libstdc++/54296 (using the object in the map to erase element from the map crashes)
2012-09-05  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54296
	* include/bits/hashtable.h (_M_erase(size_type, __node_base*,
	__node_type*)): New.
	(erase(const_iterator)): Use latter.
	(_M_erase(std::true_type, const key_type&)): New, likewise.
	(_M_erase(std::false_type, const key_type&)): New. Find all nodes
	matching the key before deallocating them so that the key doesn't
	get invalidated.
	(erase(const key_type&)): Use the new member functions.
	* testsuite/23_containers/unordered_map/erase/54296.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/54296.cc: New.

From-SVN: r190991
2012-09-05 19:41:16 +00:00
..
algorithmfwd.h Makefile.am (install-freestanding-headers): Install c++0x_warning.h. 2011-11-01 00:02:45 -04:00
alloc_traits.h re PR libstdc++/53978 (Missing static const definitions in <bits/alloc_traits.h>) 2012-07-16 21:43:11 +01:00
allocator.h allocator.h (std::allocator): Base class is __allocator_base. 2012-03-19 21:41:15 +00:00
atomic_base.h PR libstdc++/54005 continued 2012-08-30 19:24:58 +00:00
basic_ios.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
basic_ios.tcc
basic_string.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
basic_string.tcc configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64". 2011-10-14 08:57:55 +02:00
boost_concept_check.h
c++0x_warning.h re PR c++/50920 (add a -std=c++11 option to the driver) 2011-10-31 15:34:14 -04:00
c++config c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix order of closures. 2012-07-30 20:08:59 +00:00
char_traits.h
codecvt.h re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed) 2011-10-14 00:12:40 +00:00
concept_check.h re PR libstdc++/54248 (Comment in standard library header talks about boost) 2012-08-25 19:51:53 +01:00
cpp_type_traits.h
deque.tcc re PR libstdc++/52799 (deque::emplace(iterator, ...) tries to call push_front(...), which doesn't exist) 2012-03-31 01:56:55 +00:00
forward_list.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
forward_list.tcc forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310). 2012-04-11 17:31:57 +00:00
fstream.tcc
functexcept.h
functional_hash.h re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types) 2012-04-11 11:27:50 +00:00
gslice_array.h
gslice.h
hashtable_policy.h 2012-08-10 François Dumont <fdumont@gcc.gnu.org> 2012-08-13 19:43:19 +00:00
hashtable.h re PR libstdc++/54296 (using the object in the map to erase element from the map crashes) 2012-09-05 19:41:16 +00:00
indirect_array.h
ios_base.h
istream.tcc
list.tcc revert: re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2012-07-03 00:47:17 +00:00
locale_classes.h user.cfg.in: Add macros, directories. 2011-12-10 15:33:06 +00:00
locale_classes.tcc c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
locale_facets_nonio.h
locale_facets_nonio.tcc
locale_facets.h user.cfg.in: Update to Doxygen 1.8.0. 2012-03-08 05:20:52 +00:00
locale_facets.tcc
localefwd.h
mask_array.h
move.h type_traits: Doxygen improvements. 2011-12-04 16:53:17 +00:00
ostream_insert.h
ostream.tcc
postypes.h
ptr_traits.h re PR libstdc++/53978 (Missing static const definitions in <bits/alloc_traits.h>) 2012-07-16 21:43:11 +01:00
random.h random.h (random_device): Remove 'return' from constructor. 2012-08-30 16:33:09 +00:00
random.tcc Add interfaces to retrieve random numbers in bulk. 2012-08-27 14:13:15 +00:00
range_access.h
regex_compiler.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_constants.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_cursor.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_error.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_grep_matcher.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_grep_matcher.tcc c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_nfa.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex_nfa.tcc c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
regex.h c++config: Remove __regex nested namespace. 2012-06-28 07:50:34 +00:00
shared_ptr_base.h acinclude.m4: Update references to final C++11 standard. 2012-08-09 23:45:20 +01:00
shared_ptr.h acinclude.m4: Update references to final C++11 standard. 2012-08-09 23:45:20 +01:00
slice_array.h
sstream.tcc
stl_algo.h Fix PR52822 (stable_partition move-assigns object to itself) by scanning for... 2012-04-12 20:59:09 +00:00
stl_algobase.h PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused 2012-05-22 05:50:26 +02:00
stl_bvector.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_construct.h
stl_deque.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_function.h re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type) 2012-05-15 10:00:19 +00:00
stl_heap.h stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate. 2011-12-04 13:21:53 +00:00
stl_iterator_base_funcs.h
stl_iterator_base_types.h re PR libstdc++/43813 ([DR1234] vector<T*>(3, NULL) fails to compile) 2012-03-05 01:15:28 +00:00
stl_iterator.h * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments. 2012-01-14 17:47:18 +00:00
stl_list.h revert: re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2012-07-03 00:47:17 +00:00
stl_map.h revert: stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type. 2012-08-04 11:44:28 +00:00
stl_multimap.h re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial) 2012-07-13 08:59:58 +00:00
stl_multiset.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_numeric.h re PR libstdc++/51540 (doxygen documentation for partial_sum misleading) 2011-12-15 09:49:59 +00:00
stl_pair.h re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial) 2012-07-13 08:59:58 +00:00
stl_queue.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_raw_storage_iter.h
stl_relops.h
stl_set.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_stack.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stl_tempbuf.h 2012-05-29 François Dumont <fdumont@gcc.gnu.org> 2012-05-29 19:29:29 +00:00
stl_tree.h re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.) 2011-11-15 23:28:49 +00:00
stl_uninitialized.h
stl_vector.h re PR libstdc++/44015 (template parameters not documented) 2012-05-02 22:25:28 +00:00
stream_iterator.h
streambuf_iterator.h
streambuf.tcc
stringfwd.h
unique_ptr.h re PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null) 2012-08-26 01:12:40 +01:00
unordered_map.h re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type) 2012-05-15 10:00:19 +00:00
unordered_set.h re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type) 2012-05-15 10:00:19 +00:00
uses_allocator.h
valarray_after.h
valarray_array.h
valarray_array.tcc
valarray_before.h
vector.tcc hash-long-double-aux.cc: Rename to... 2011-11-18 12:37:06 +00:00