gcc/libstdc++-v3/testsuite/ext
Jeremy Sawicki 3ffa55de60 Rope iterators: don't retain pointers when copied
Rope iterators sometimes contain pointers to an internal buffer
inside the iterator itself.  When such an iterator is copied, the
copy incorrectly retains pointers to the original.

This patch takes the simple approach of not copying the cached
information when the internal buffer is being used, instead
requiring it to be recomputed when the copied iterator is
dereferenced.  An alternative would be to adjust the pointers so
they refer to the buffer in the copy.

2018-08-14  Jeremy Sawicki  <jeremy-gcc@sawicki.us>

	* include/ext/rope (_Rope_iterator_base(const _Rope_iterator_base&))
	(_Rope_const_iterator::operator=(const _Rope_const_iterator&))
	(_Rope_iterator::operator=(const _Rope_iterator&)): Ensure
	copied/assigned rope iterators don't retain pointers to the iterator
	they were copied/assigned from.
	* testsuite/ext/rope/7.cc: New.

From-SVN: r263534
2018-08-14 12:23:50 +01:00
..
array_allocator Update copyright years. 2018-01-03 11:03:58 +01:00
bitmap_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
codecvt Update copyright years. 2018-01-03 11:03:58 +01:00
concurrence_lock_error Update copyright years. 2018-01-03 11:03:58 +01:00
concurrence_unlock_error Update copyright years. 2018-01-03 11:03:58 +01:00
debug_allocator Update copyright years. 2018-01-03 11:03:58 +01:00
enc_filebuf Update copyright years. 2018-01-03 11:03:58 +01:00
ext_pointer Update copyright years. 2018-01-03 11:03:58 +01:00
forced_error Update copyright years. 2018-01-03 11:03:58 +01:00
iota Update copyright years. 2018-01-03 11:03:58 +01:00
is_heap Update copyright years. 2018-01-03 11:03:58 +01:00
is_sorted Update copyright years. 2018-01-03 11:03:58 +01:00
malloc_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
mt_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
new_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
numeric_traits Update copyright years. 2018-01-03 11:03:58 +01:00
pb_ds Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
pool_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
profile Update copyright years. 2018-01-03 11:03:58 +01:00
random P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 14:32:53 +01:00
rope Rope iterators: don't retain pointers when copied 2018-08-14 12:23:50 +01:00
shared_ptr Update copyright years. 2018-01-03 11:03:58 +01:00
slist Update copyright years. 2018-01-03 11:03:58 +01:00
special_functions [libstdc++][testsuite] Fix dg-options/dg-add-options order 2018-01-19 11:17:34 +01:00
stdio_filebuf Update copyright years. 2018-01-03 11:03:58 +01:00
stdio_sync_filebuf Update copyright years. 2018-01-03 11:03:58 +01:00
throw_allocator Add missing dg-require-cstdint directives to tests 2018-07-26 15:03:28 +01:00
throw_value Update copyright years. 2018-01-03 11:03:58 +01:00
type_traits Update copyright years. 2018-01-03 11:03:58 +01:00
vstring Remove dg-require-cstdint directive from tests 2018-07-26 15:02:26 +01:00
concept_checks.cc Update copyright years. 2018-01-03 11:03:58 +01:00
headers.cc Update copyright years. 2018-01-03 11:03:58 +01:00
median.cc Update copyright years. 2018-01-03 11:03:58 +01:00
pod_char_traits.cc Update copyright years. 2018-01-03 11:03:58 +01:00