gcc/libstdc++-v3/testsuite/28_regex
Jonathan Wakely 8ccdc7ce33 libstdc++: Ensure pmr aliases work without <memory_resource>
Currently the alias templates for std::pmr::vector, std::pmr::string
etc. are defined using a forward declaration for polymorphic_allocator.
This means you can't actually use the alias templates unless you also
include <memory_resource>. The rationale for that is that it's a fairly
large header, and most users don't need it. This isn't uncontroversial
though, and LWG 3681 questions whether it's even conforming.

This change adds a new <bits/memory_resource.h> header with the minimum
needed to use polymorphic_allocator and the std::pmr container aliases.
Including <memory_resource> is still necessary to use the program-wide
resource objects, or the pool resources or monotonic buffer resource.

libstdc++-v3/ChangeLog:

	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/memory_resource.h: New file.
	* include/std/deque: Include <bits/memory_resource.h>.
	* include/std/forward_list: Likewise.
	* include/std/list: Likewise.
	* include/std/map: Likewise.
	* include/std/memory_resource (pmr::memory_resource): Move to
	new <bits/memory_resource.h> header.
	(pmr::polymorphic_allocator): Likewise.
	* include/std/regex: Likewise.
	* include/std/set: Likewise.
	* include/std/stacktrace: Likewise.
	* include/std/string: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/vector: Likewise.
	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
	Remove <memory_resource> header and check construction.
	* testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/forward_list/pmr_typedefs.cc:
	Likewise.
	* testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
	* testsuite/23_containers/unordered_map/pmr_typedefs.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/pmr_typedefs.cc:
	Likewise.
	* testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
	* testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp0x/variadic-tuple.C: Qualify function to avoid ADL
	finding std::make_tuple.
2022-05-19 23:38:23 +01:00
..
algorithms libstdc++: Add dg-timeout-factor to some more regex tests 2022-01-10 12:18:14 +00:00
basic_regex libstdc++: Add dg-timeout-factor to some more regex tests 2022-01-10 12:18:14 +00:00
constants Update copyright years. 2022-01-03 10:42:10 +01:00
headers/regex Update copyright years. 2022-01-03 10:42:10 +01:00
iterators Update copyright years. 2022-01-03 10:42:10 +01:00
match_results libstdc++: Ensure pmr aliases work without <memory_resource> 2022-05-19 23:38:23 +01:00
regex_error Update copyright years. 2022-01-03 10:42:10 +01:00
requirements Update copyright years. 2022-01-03 10:42:10 +01:00
sub_match Update copyright years. 2022-01-03 10:42:10 +01:00
traits Update copyright years. 2022-01-03 10:42:10 +01:00
init-list.cc Update copyright years. 2022-01-03 10:42:10 +01:00
range_access.cc Update copyright years. 2022-01-03 10:42:10 +01:00
regression.cc Update copyright years. 2022-01-03 10:42:10 +01:00
simple_c++11.cc Update copyright years. 2022-01-03 10:42:10 +01:00