gcc/libstdc++-v3/include/debug
François Dumont 77e0bf4e07 safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
2011-07-19  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
        safe_unordered_sequence.tcc, safe_local_iterator.h,
        safe_local_iterator.tcc: New, support for unordered sequence safe
        local iterators.
        * include/Makefile.am: Add previous files.
        * include/Makefile.in: Regenerate.
        * include/debug/unordered_map, unordered_set: Implement
        _Safe_unordered_sequence and expose _Safe_local_iterator.
        * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
        _Safe_iterator::_M_get_distance static method to expose it as
        __get_distance function and use it in _Safe_local_iterator type.
        * include/debug/formatter.h: Add __msg_local_iter_compare_bad
        _Debug_msg_id enum entry to notify invalid comparison between local
        iterators from different buckets. Add _Parameter constructor from
        _Safe_local_iterator.
        * include/debug/functions.h: Add __valid_range overload for
        _Safe_local_iterator.
        * src/debug.cc: Add _Safe_unordered_sequence_base and
        _Safe_local_iterator_base methods implementations.
        * config/abi/pre/gnu.ver: Add export of some
        _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
        * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
        simulate use of a singular iterator.
        * testsuite/util/debug/unordered_checks.h: New, several functions
        to simulate classic invalid usage of unordered sequence local
        iterators.
        * testsuite/23_containers/unordered_map/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multimap/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_set/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multiset/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.

From-SVN: r176487
2011-07-19 19:39:45 +00:00
..
bitset initializer_list: Use noexcept specifier. 2011-05-18 18:05:17 +00:00
debug.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
deque set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
formatter.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
forward_list set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
functions.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
list set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
macros.h macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New. 2011-05-07 13:45:24 +00:00
map Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
map.h set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
multimap.h set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
multiset.h set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
safe_base.h safe_base.h (_Safe_iterator_base::_M_unlink): New. 2011-01-05 20:52:36 +00:00
safe_iterator.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_iterator.tcc safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_local_iterator.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_local_iterator.tcc safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_sequence.h c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove. 2011-01-21 19:41:13 +00:00
safe_sequence.tcc debug.cc: Introduce a mutex pool in get_safe_base_mutex. 2010-11-25 20:53:39 +00:00
safe_unordered_base.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_unordered_sequence.h safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
safe_unordered_sequence.tcc safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
set Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
set.h set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
string set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00
unordered_map safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
unordered_set safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators. 2011-07-19 19:39:45 +00:00
vector set.h, [...]: Remove base class default constructor calls. 2011-06-29 20:11:50 +00:00