re PR libstdc++/60587 (debug-mode -std=c++11 vector::insert(pos, begin, end) dereferences begin too eagerly) PR libstdc++/60587 * include/debug/functions.h (_Is_contiguous_sequence): Define. (__foreign_iterator): Accept additional iterator. Do not dispatch on iterator category. (__foreign_iterator_aux2): Likewise. Add overload for iterators from different types of debug container. Use _Is_contiguous_sequence instead of is_lvalue_reference. (__foreign_iterator_aux3): Accept additional iterator. Avoid dereferencing past-the-end iterator. (__foreign_iterator_aux4): Use const value_type* instead of potentially user-defined const_pointer type. * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment and pass end iterator to __gnu_debug::__foreign_iterator. (__glibcxx_check_insert_range_after): Likewise. (__glibcxx_check_max_load_factor): Fix comment. * include/debug/vector (_Is_contiguous_sequence): Define partial specializations. * testsuite/23_containers/vector/debug/57779_neg.cc: Remove -std=gnu++11 option and unused header. * testsuite/23_containers/vector/debug/60587.cc: New. * testsuite/23_containers/vector/debug/60587_neg.cc: New. From-SVN: r208755
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| bool | Loading commit data... | |
| invalidation | Loading commit data... | |
| 52433.cc | Loading commit data... | |
| 57779_neg.cc | Loading commit data... | |
| 60499.cc | Loading commit data... | |
| 60587.cc | Loading commit data... | |
| 60587_neg.cc | Loading commit data... | |
| alloc_prop.cc | Loading commit data... | |
| assign1_neg.cc | Loading commit data... | |
| assign2_neg.cc | Loading commit data... | |
| assign3_neg.cc | Loading commit data... | |
| assign4_neg.cc | Loading commit data... | |
| construct1_neg.cc | Loading commit data... | |
| construct2_neg.cc | Loading commit data... | |
| construct3_neg.cc | Loading commit data... | |
| construct4_neg.cc | Loading commit data... | |
| debug_functions.cc | Loading commit data... | |
| insert1_neg.cc | Loading commit data... | |
| insert2_neg.cc | Loading commit data... | |
| insert3_neg.cc | Loading commit data... | |
| insert4_neg.cc | Loading commit data... | |
| insert5_neg.cc | Loading commit data... | |
| insert6_neg.cc | Loading commit data... | |
| iterator_self_move_assign_neg.cc | Loading commit data... | |
| move_assign_neg.cc | Loading commit data... | |
| multithreaded_swap.cc | Loading commit data... | |
| self_move_assign_neg.cc | Loading commit data... | |
| shrink_to_fit.cc | Loading commit data... |