-
- Downloads
libstdc++: Implement N3644 for _GLIBCXX_DEBUG iterators
libstdc++-v3/ChangeLog: PR libstdc++/98466 * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr. (_Node_iterator()): Make default. (_Node_const_iterator()): Make default. * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular iterator checks. * include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized. * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Likewise. * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add _M_singular checks on input iterators. * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular checks. * testsuite/23_containers/deque/debug/98466.cc: New test. * testsuite/23_containers/unordered_map/debug/98466.cc: New test.
Showing
- libstdc++-v3/include/bits/hashtable_policy.h 3 additions, 5 deletionslibstdc++-v3/include/bits/hashtable_policy.h
- libstdc++-v3/include/debug/macros.h 5 additions, 0 deletionslibstdc++-v3/include/debug/macros.h
- libstdc++-v3/include/debug/safe_iterator.h 3 additions, 1 deletionlibstdc++-v3/include/debug/safe_iterator.h
- libstdc++-v3/include/debug/safe_iterator.tcc 3 additions, 2 deletionslibstdc++-v3/include/debug/safe_iterator.tcc
- libstdc++-v3/include/debug/safe_local_iterator.h 3 additions, 1 deletionlibstdc++-v3/include/debug/safe_local_iterator.h
- libstdc++-v3/src/c++11/debug.cc 1 addition, 4 deletionslibstdc++-v3/src/c++11/debug.cc
- libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc 38 additions, 0 deletionslibstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
- libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc 44 additions, 0 deletions...+-v3/testsuite/23_containers/unordered_map/debug/98466.cc
Loading
Please register or sign in to comment