gcc/libstdc++-v3/testsuite
Jonathan Wakely 9aeb3bef2c Apply C++20 changes to various iterator types
This ensures that __normal_iterator<T*, C> satisfies the
contiguous_iterator concept, by defining the iterator_concept member
type.

Also update vector<bool>'s iterators, reverse_iterator,
istreambuf_iterator and ostreambuf_iterator to meet the C++20
requirements.

	PR libstdc++/92272
	* include/bits/stl_bvector.h (_Bit_iterator::pointer)
	(_Bit_const_iterator::pointer): Define as void for C++20.
	* include/bits/stl_iterator.h (reverse_iterator::operator->()): Add
	constraints for C++20.
	(__normal_iterator::iterator_concept): Define for C++20.
	* include/bits/streambuf_iterator.h (istreambuf_iterator::pointer):
	Define as void for C++20.
	(ostreambuf_iterator::difference_type): Define as ptrdiff_t for C++20.
	(ostreambuf_iterator::ostreambuf_iterator()): Add default constructor
	for C++20.
	* testsuite/23_containers/vector/bool/iterator_c++20.cc: New test.
	* testsuite/24_iterators/bidirectional/concept.cc: New test.
	* testsuite/24_iterators/bidirectional/tag.cc: New test.
	* testsuite/24_iterators/contiguous/concept.cc: New test.
	* testsuite/24_iterators/contiguous/tag.cc: New test.
	* testsuite/24_iterators/forward/concept.cc: New test.
	* testsuite/24_iterators/forward/tag.cc: New test.
	* testsuite/24_iterators/input/concept.cc: New test.
	* testsuite/24_iterators/input/tag.cc: New test.
	* testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc:
	New test.
	* testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc:
	New test.
	* testsuite/24_iterators/output/concept.cc: New test.
	* testsuite/24_iterators/output/tag.cc: New test.
	* testsuite/24_iterators/random_access/concept.cc: New test.
	* testsuite/24_iterators/random_access/tag.cc: New test.
	* testsuite/24_iterators/range_operations/advance_debug_neg.cc: New
	test.
	* testsuite/24_iterators/random_access_iterator/26020.cc: Move to ...
	* testsuite/24_iterators/operations/26020.cc: ... here.
	* testsuite/24_iterators/random_access_iterator/
	string_vector_iterators.cc: Move to ...
	* testsuite/24_iterators/random_access/string_vector_iterators.cc: ...
	here.

From-SVN: r277629
2019-10-30 15:48:11 +00:00
..
17_intro Do not declare std::uses_allocator before C++11 2019-10-22 22:48:53 +01:00
18_support PR libstdc++/51333 Define recursive_init_error constructor non-inline 2019-07-29 15:27:19 +01:00
19_diagnostics
20_util Add iterator concepts and range access customization points for C++20 2019-10-29 17:44:18 +00:00
21_strings Replace std::to_string for integers with optimized version 2019-06-12 15:52:02 +01:00
22_locale
23_containers Apply C++20 changes to various iterator types 2019-10-30 15:48:11 +00:00
24_iterators Apply C++20 changes to various iterator types 2019-10-30 15:48:11 +00:00
25_algorithms Add std::copy_n istreambuf_iterator specialization 2019-10-06 15:29:04 +00:00
26_numerics Add iterator concepts and range access customization points for C++20 2019-10-29 17:44:18 +00:00
27_io PR libstdc++/91067 add more missing exports for directory iterators 2019-08-29 13:16:27 +01:00
28_regex Implement LWG 3296 for basic_regex::assign 2019-09-25 13:31:53 +01:00
29_atomics Fix inaccurate comment in new test 2019-07-12 16:45:16 +01:00
30_threads Add user-defined clock to libstdc++ condition_variable tests 2019-09-04 23:43:20 +01:00
abi
backward Adjust extension types to use allocator_traits 2019-10-23 17:14:28 +01:00
config
data
decimal
experimental Add iterator concepts and range access customization points for C++20 2019-10-29 17:44:18 +00:00
ext Revert ABI changes to std::allocator in C++20 2019-10-24 16:29:41 +01:00
lib
libstdc++-abi
libstdc++-dg Implement <concepts> header for C++20 2019-10-11 16:53:52 +01:00
libstdc++-prettyprinters Improve tests for std::vector<bool> printer 2019-06-20 10:04:55 +01:00
libstdc++-xmethods
performance
special_functions libstdc++ testsuite, silence a FreeBSD libm warning 2019-09-30 22:23:02 +02:00
std Add iterator concepts and range access customization points for C++20 2019-10-29 17:44:18 +00:00
tr1 Adjust extension types to use allocator_traits 2019-10-23 17:14:28 +01:00
tr2 PR libstdc++/92059 fix several bugs in tr2::dynamic_bitset 2019-10-11 16:29:55 +01:00
util Fix typo in preprocessor check 2019-10-30 15:47:39 +00:00
Makefile.am
Makefile.in