-
- Downloads
libstdc++: [_GLIBCXX_DEBUG] Do not consider detached iterators as value-initialized
An attach iterator has its _M_version set to something != 0, the container version. This value shall be preserved when detaching it so that the iterator does not look like a value-initialized one. libstdc++-v3/ChangeLog: * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry. (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator parameter is value-initialized. (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt checks. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New. Adapt checks. * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version. (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names. * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test. * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test.
Showing
- libstdc++-v3/include/debug/formatter.h 13 additions, 2 deletionslibstdc++-v3/include/debug/formatter.h
- libstdc++-v3/include/debug/safe_iterator.h 12 additions, 7 deletionslibstdc++-v3/include/debug/safe_iterator.h
- libstdc++-v3/include/debug/safe_local_iterator.h 12 additions, 7 deletionslibstdc++-v3/include/debug/safe_local_iterator.h
- libstdc++-v3/src/c++11/debug.cc 5 additions, 2 deletionslibstdc++-v3/src/c++11/debug.cc
- libstdc++-v3/testsuite/23_containers/deque/debug/iterator1_neg.cc 37 additions, 0 deletions...+-v3/testsuite/23_containers/deque/debug/iterator1_neg.cc
- libstdc++-v3/testsuite/23_containers/deque/debug/iterator2_neg.cc 40 additions, 0 deletions...+-v3/testsuite/23_containers/deque/debug/iterator2_neg.cc
- libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator1_neg.cc 37 additions, 0 deletions...stsuite/23_containers/forward_list/debug/iterator1_neg.cc
- libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator2_neg.cc 40 additions, 0 deletions...stsuite/23_containers/forward_list/debug/iterator2_neg.cc
- libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator3_neg.cc 45 additions, 0 deletions...stsuite/23_containers/forward_list/debug/iterator3_neg.cc
Loading
Please register or sign in to comment