gcc/libstdc++-v3/testsuite/24_iterators
Jonathan Wakely afffc96a52 libstdc++: Fix concept checks for iterators
This adds some additional checks the the C++98-style concept checks for
iterators, and removes some bogus checks for mutable iterators. Instead
of requiring that the result of dereferencing a mutable iterator is
assignable (which is a property of the value type, not required for the
iterator) check that the reference type is a non-const reference to the
value type.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	* include/bits/boost_concept_check.h (_ForwardIteratorConcept)
	(_BidirectionalIteratorConcept, _RandomAccessIteratorConcept):
	Check result types of iterator operations.
	(_Mutable_ForwardIteratorConcept): Check that iterator's
	reference type is a reference to its value type.
	(_Mutable_BidirectionalIteratorConcept): Do not require the
	value type to be assignable.
	(_Mutable_RandomAccessIteratorConcept): Likewise.
	* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
	line number.
2021-09-28 20:22:51 +01:00
..
associated_types Update copyright years. 2021-01-04 10:26:59 +01:00
back_insert_iterator libstdc++: Implement P2325 changes to default-constructibility of views 2021-06-17 22:29:03 -04:00
bidirectional Update copyright years. 2021-01-04 10:26:59 +01:00
common_iterator Update copyright years. 2021-01-04 10:26:59 +01:00
contiguous Update copyright years. 2021-01-04 10:26:59 +01:00
counted_iterator Update copyright years. 2021-01-04 10:26:59 +01:00
customization_points libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
forward Update copyright years. 2021-01-04 10:26:59 +01:00
front_insert_iterator libstdc++: Implement P2325 changes to default-constructibility of views 2021-06-17 22:29:03 -04:00
headers/iterator libstdc++: Change [range.iter.op] functions to function objects [PR 100768] 2021-05-26 19:15:34 +01:00
indirect_callable Update copyright years. 2021-01-04 10:26:59 +01:00
input Update copyright years. 2021-01-04 10:26:59 +01:00
insert_iterator libstdc++: Implement P2325 changes to default-constructibility of views 2021-06-17 22:29:03 -04:00
istream_iterator libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
istreambuf_iterator libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
move_iterator libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
normal_iterator libstdc++: Specialize std::pointer_traits<__normal_iterator<I,C>> 2021-09-28 20:22:50 +01:00
operations libstdc++: Fix concept checks for iterators 2021-09-28 20:22:51 +01:00
ostream_iterator libstdc++: Implement P2325 changes to default-constructibility of views 2021-06-17 22:29:03 -04:00
ostreambuf_iterator libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
output libstdc++: Fix tests that use invalid types in ordered containers 2021-09-28 20:22:51 +01:00
random_access Update copyright years. 2021-01-04 10:26:59 +01:00
range_access libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
range_operations libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
reverse_iterator libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
aliases.cc Update copyright years. 2021-01-04 10:26:59 +01:00
container_access.cc libstdc++: Remove redundant -std=gnu++17 option from remaining tests 2021-05-10 16:22:54 +01:00