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
..
2011-11-01 00:02:45 -04:00
2012-07-16 21:43:11 +01:00
2012-03-19 21:41:15 +00:00
2012-08-30 19:24:58 +00:00
2012-05-02 22:25:28 +00:00
2012-05-02 22:25:28 +00:00
2011-10-14 08:57:55 +02:00
2011-10-31 15:34:14 -04:00
2012-07-30 20:08:59 +00:00
2011-10-14 00:12:40 +00:00
2012-08-25 19:51:53 +01:00
2012-03-31 01:56:55 +00:00
2012-05-02 22:25:28 +00:00
2012-04-11 17:31:57 +00:00
2012-04-11 11:27:50 +00:00
2011-08-07 07:27:06 +00:00
2012-08-13 19:43:19 +00:00
2012-09-05 19:41:16 +00:00
2011-08-07 07:27:06 +00:00
2012-07-03 00:47:17 +00:00
2011-12-10 15:33:06 +00:00
2012-06-28 07:50:34 +00:00
2011-08-07 07:27:06 +00:00
2012-03-08 05:20:52 +00:00
2011-12-04 16:53:17 +00:00
2012-07-16 21:43:11 +01:00
2012-08-30 16:33:09 +00:00
2012-08-27 14:13:15 +00:00
2011-08-07 07:27:06 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-06-28 07:50:34 +00:00
2012-08-09 23:45:20 +01:00
2012-08-09 23:45:20 +01:00
2011-08-07 07:27:06 +00:00
2012-04-12 20:59:09 +00:00
2012-05-22 05:50:26 +02:00
2012-05-02 22:25:28 +00:00
2012-05-02 22:25:28 +00:00
2012-05-15 10:00:19 +00:00
2011-12-04 13:21:53 +00:00
2011-08-07 07:27:06 +00:00
2012-03-05 01:15:28 +00:00
2012-01-14 17:47:18 +00:00
2012-07-03 00:47:17 +00:00
2012-08-04 11:44:28 +00:00
2012-07-13 08:59:58 +00:00
2012-05-02 22:25:28 +00:00
2011-12-15 09:49:59 +00:00
2012-07-13 08:59:58 +00:00
2012-05-02 22:25:28 +00:00
2011-08-07 07:27:06 +00:00
2012-05-02 22:25:28 +00:00
2012-05-02 22:25:28 +00:00
2012-05-29 19:29:29 +00:00
2011-11-15 23:28:49 +00:00
2011-08-07 07:27:06 +00:00
2012-05-02 22:25:28 +00:00
2011-08-07 07:27:06 +00:00
2011-09-08 22:42:21 +00:00
2012-08-26 01:12:40 +01:00
2012-05-15 10:00:19 +00:00
2012-05-15 10:00:19 +00:00
2011-11-18 12:37:06 +00:00