2023-12-31  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3.

2023-12-31  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h: Move comment about all equivalent values
	being next to each other in the class documentation header.
	(_M_reinsert_node, _M_merge_unique): Implement small size optimization.
	(_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise.

2023-12-31  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries
	w/o copy to see potential impact of memory fragmentation enhancements.
	* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash
	functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as
	slow or not to bench w/o hash code cache.
	* testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like
	previous one but using std::unordered_set.
	* testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case.
	Check performance of range-insertion compared to individual insertions.
	* testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench
	but after a copy to demonstrate impact of enhancements regarding memory fragmentation.

2023-12-22  Christophe Lyon  <christophe.lyon@linaro.org>

	* Makefile.am: Allow overriding EXEPCT.
	* Makefile.in: Regenerate.

2023-12-21  Arsen Arsenović  <arsen@aarsen.me>

	* include/Makefile.am: Install std/generator, bits/elements_of.h
	as freestanding.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def: Add __cpp_lib_generator.
	* include/bits/version.h: Regenerate.
	* include/precompiled/stdc++.h: Include <generator>.
	* include/std/ranges: Include bits/elements_of.h
	* include/bits/elements_of.h: New file.
	* include/std/generator: New file.
	* testsuite/24_iterators/range_generators/01.cc: New test.
	* testsuite/24_iterators/range_generators/02.cc: New test.
	* testsuite/24_iterators/range_generators/copy.cc: New test.
	* testsuite/24_iterators/range_generators/except.cc: New test.
	* testsuite/24_iterators/range_generators/synopsis.cc: New test.
	* testsuite/24_iterators/range_generators/subrange.cc: New test.

2023-12-21  Arsen Arsenović  <arsen@aarsen.me>

	* include/bits/ranges_util.h: Add missing <bits/invoke.h>
	include.

2023-12-18  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112802
	PR libstdc++/113068
	* include/std/ranges (__detail::_To::operator()): Add constraints.
	(__detail::_To2::operator()): Likewise.
	* testsuite/std/ranges/conv/1.cc (test_sfinae): New test.
	(test_composition): New test.

2023-12-16  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno
	macro.

2023-12-16  H.J. Lu  <hjl.tools@gmail.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
	Updated.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (remove_pointer): Use __remove_pointer
	built-in trait.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_object): Use __is_object built-in
	trait.
	(is_object_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_function): Use __is_function
	built-in trait.
	(is_function_v): Likewise. Optimize its implementation.  Move
	this under is_const_v as this depends on is_const_v.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_reference): Use __is_reference
	built-in trait.
	(is_reference_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_member_object_pointer): Use
	__is_member_object_pointer built-in trait.
	(is_member_object_pointer_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_member_function_pointer): Use
	__is_member_function_pointer built-in trait.
	(is_member_function_pointer_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_member_pointer): Use
	__is_member_pointer built-in trait.
	(is_member_pointer_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_scoped_enum): Use
	__is_scoped_enum built-in trait.
	(is_scoped_enum_v): Likewise.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_bounded_array_v): Use
	__is_bounded_array built-in trait.

2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (is_array): Use __is_array built-in
	trait.
	(is_array_v): Likewise.

2023-12-15  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle
	does not refer to the console then just write to it using normal
	file I/O.
	* testsuite/27_io/print/2.cc (as_printed_to_terminal): Print
	error message on failure.
	(test_utf16_transcoding): Adjust for as_printed_to_terminal
	modifying its argument.

2023-12-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard.
	(vprint_unicode) [!_WIN32]: Just call vprint_nonunicode.
	* include/std/print (vprint_unicode) [!_WIN32]: Likewise.

2023-12-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ostream (vprint_nonunicode, vprint_unicode): Do
	not insert padding.
	* testsuite/27_io/basic_ostream/print/1.cc: Adjust expected
	behaviour.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/107760
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def (__cpp_lib_print): Define.
	* include/bits/version.h: Regenerate.
	* include/std/format (__literal_encoding_is_utf8): New function.
	(_Seq_sink::view()): New member function.
	* include/std/ostream (vprintf_nonunicode, vprintf_unicode)
	(print, println): New functions.
	* include/std/print: New file.
	* src/c++23/Makefile.am: Add new source file.
	* src/c++23/Makefile.in: Regenerate.
	* src/c++23/print.cc: New file.
	* testsuite/27_io/basic_ostream/print/1.cc: New test.
	* testsuite/27_io/print/1.cc: New test.
	* testsuite/27_io/print/2.cc: New test.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add
	missing header to configure test. Check correct variable.
	* config/io/basic_file_stdio.cc (__basic_file<char>::native_handle):
	Fix typo.
	* configure: Regenerate.
	* testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not
	call CloseHandle on the native handle.
	* testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc:
	Likewise.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (_Seq_sink): Fix missing argument in
	discarded statement. Add comments, likely/unlikely attributes
	and debug assertions as sanity checks.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/objects/char/2.cc: Use dg-output.
	* testsuite/27_io/objects/wchar_t/2.cc: Use dg-output.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order
	of arguments to std::format_to.
	* testsuite/20_util/duration/io.cc: Test subsecond duration with
	floating-point rep.

2023-12-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109536
	* include/bits/c++config (__glibcxx_constexpr_assert): Remove
	macro.
	* include/bits/stl_algobase.h (__niter_base, __copy_move_a)
	(__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux)
	(__lexicographical_compare_aux): Add constexpr to overloads for
	debug mode iterators.
	* include/debug/helper_functions.h (__unsafe): Add constexpr.
	* include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove
	macro, folding it into ...
	(_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use
	__glibcxx_constexpr_assert.
	* include/debug/safe_base.h (_Safe_iterator_base): Add constexpr
	to some member functions. Omit attaching, detaching and checking
	operations during constant evaluation.
	* include/debug/safe_container.h (_Safe_container): Likewise.
	* include/debug/safe_iterator.h (_Safe_iterator): Likewise.
	* include/debug/safe_iterator.tcc (__niter_base, __copy_move_a)
	(__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux)
	(__lexicographical_compare_aux): Add constexpr.
	* include/debug/vector (_Safe_vector, vector): Add constexpr.
	Omit safe iterator operations during constant evaluation.
	* testsuite/23_containers/vector/bool/capacity/constexpr.cc:
	Remove dg-xfail-if for debug mode.
	* testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/vector/bool/cons/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/element_access/1.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/element_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/capacity/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
	* testsuite/23_containers/vector/data_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/element_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
	Adjust dg-error line number.

2023-12-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do
	not round century down for %Y formats.

2023-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__do_vformat_to): Handle char separately
	from other integral types.
	* testsuite/std/format/functions/format.cc: Check for expected
	output for char and bool arguments.
	* testsuite/std/format/string.cc: Check that 0 filling is
	rejected for character and string formats.

2023-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix
	rounding for negative centuries.
	* testsuite/std/time/year/io.cc: Check %C for negative years.

2023-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags.
	* src/c++11/Makefile.in: Regenerate.

2023-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111826
	* include/bits/version.def (format): Update value.
	* include/bits/version.h: Regenerate.
	* testsuite/std/format/functions/format.cc:

2023-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112876
	* include/std/ranges (ranges::to): Do not try to use an iterator
	returned by the container's emplace or insert member functions.
	* testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert):
	Use the iterator parameter. Do not return an iterator.

2023-12-07  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (__detail::_ToClosure): Replace with ...
	(__detail::_To): ... this.
	(__detail::_ToClosure2): Replace with ...
	(__detail::To2): ... this.
	(to): Simplify using the existing _Partial range adaptor
	closure object.

2023-12-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (_Iter_sink<charT, contiguous_iterator>):
	Remove uint64_t local type.

2023-12-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_wait.h: Include <cstdint> instead of
	<stdint.h>.

2023-12-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112882
	* include/bits/c++config (__is_constant_evaluated): Add
	always_inline attribute.
	(_GLIBCXX_DO_ASSERT): Remove macro.
	(__glibcxx_assert): Define separately for assertions-enabled and
	constexpr-only cases.

2023-12-07  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/112858
	* config/os/gnu-linux/os_defines.h
	(_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define.
	* libsupc++/atexit_thread.cc [__GXX_WEAK__ &&
	_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL]
	(__cxa_thread_atexit): Add dynamic detection of
	__cxa_thread_atexit_impl.

2023-12-06  Jason Merrill  <jason@redhat.com>

	DR 532
	PR c++/53499
	* testsuite/23_containers/vector/ext_pointer/types/1.cc
	* testsuite/23_containers/vector/ext_pointer/types/2.cc
	(N::operator-): Make less specialized.

2023-12-06  Alexandre Oliva  <oliva@gnu.org>

	Revert:
	2023-12-02  Alexandre Oliva  <oliva@adacore.com>

	* libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic
	detection of __cxa_thread_atexit_impl.

2023-12-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111948
	* include/bits/ranges_util.h (subrange): Add constructor to
	_Size to aoid setting member in constructor.
	* testsuite/std/ranges/subrange/111948.cc: New test.

2023-12-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ranges (__detail::__container_insertable): Remove.
	(__detail::__container_inserter): Remove.
	(ranges::to): Use emplace_back or emplace, as per LWG 4016.
	* testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for
	use of emplace_back and emplace.

2023-12-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config (__glibcxx_assert_fail): Declare even
	when assertions are not enabled.
	(__glibcxx_constexpr_assert): Remove macro.
	(__glibcxx_assert_impl): Remove macro.
	(_GLIBCXX_ASSERT_FAIL): New macro.
	(_GLIBCXX_DO_ASSERT): New macro.
	(__glibcxx_assert): Simplify to a single definition that works
	at runtime and during constant evaluation.
	* testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc:
	Adjust expected errors.
	* testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
	Likewise.
	* testsuite/23_containers/span/back_neg.cc: Likewise.
	* testsuite/23_containers/span/front_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
	* testsuite/26_numerics/lcm/105844.cc: Likewise.

2023-12-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112832
	* include/std/format (formatter::set_debug_format): Ensure this
	member is defined conditionally for all specializations.
	* testsuite/std/format/formatter/112832.cc: New test.

2023-12-05  Will Hawkins  <hawkinsw@obs.cr>
	    Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check
	for LWG Issue 3897.

2023-12-05  Marek Polacek  <polacek@redhat.com>

	PR c++/107687
	PR c++/110997
	* testsuite/18_support/comparisons/categories/zero_neg.cc: Add
	dg-prune-output.
	* testsuite/std/format/string_neg.cc: Add dg-error.

2023-12-02  Alexandre Oliva  <oliva@adacore.com>

	* libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic
	detection of __cxa_thread_atexit_impl.

2023-12-01  Jason Merrill  <jason@redhat.com>

	* include/std/bit: Avoid builtins in requires-clauses.
	* include/std/variant: Likewise.

2023-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure: Regenerate.

2023-11-30  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ranges (__detail::__toable): Fix incorrect use of
	_Range instead of _Cont.
	(__detail::_ToClosure, __detail::_ToClosure2): Add missing
	constexpr specifier on constructors.
	* testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove
	unnecessary begin() and end() members.
	(test_constexpr): New function to check range adaptors are
	usable in constant expressions.

2023-11-29  Thomas Schwinge  <thomas@codesourcery.com>

	* testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions'
	configurations.

2023-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_wait.h: Include <stdint.h>.

2023-11-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_uninitialized.h: Fix typo in comment.

2023-11-24  Jan Hubicka  <jh@suse.cz>

	PR middle-end/109849
	* include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead
	of memmove.

2023-11-23  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111055
	* include/bits/ranges_base.h (from_range_t): Define new tag
	type.
	(from_range): Define new tag object.
	* include/bits/version.def (ranges_to_container): Define.
	* include/bits/version.h: Regenerate.
	* include/std/ranges (ranges::to): Define.
	* testsuite/std/ranges/conv/1.cc: New test.
	* testsuite/std/ranges/conv/2_neg.cc: New test.
	* testsuite/std/ranges/conv/version.cc: New test.

2023-11-23  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_allocator.h (uneq_allocator): Fix
	equality operator for heterogeneous comparisons.

2023-11-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (freestanding_cstring): Add.
	* include/bits/version.h: Regenerate.
	* include/c_compatibility/string.h (strtok): Do not declare for
	C++26 freestanding.
	* include/c_global/cstring (strtok): Likewise.
	* testsuite/21_strings/headers/cstring/version.cc: New test.

2023-11-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (freestanding_algorithm)
	(freestanding_array, freestanding_optional)
	(freestanding_string_view, freestanding_variant): Add.
	* include/bits/version.h: Regenerate.
	* include/std/algorithm (__glibcxx_want_freestanding_algorithm):
	Define.
	* include/std/array (__glibcxx_want_freestanding_array):
	Define.
	* include/std/optional (__glibcxx_want_freestanding_optional):
	Define.
	* include/std/string_view
	(__glibcxx_want_freestanding_string_view): Define.
	* include/std/variant (__glibcxx_want_freestanding_variant):
	Define.
	* testsuite/20_util/optional/version.cc: Add checks for
	__cpp_lib_freestanding_optional.
	* testsuite/20_util/variant/version.cc: Add checks for
	__cpp_lib_freestanding_variant.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/21_strings/basic_string_view/requirements/version.cc:
	New test.
	* testsuite/23_containers/array/requirements/version.cc: New
	test.
	* testsuite/25_algorithms/fill_n/requirements/version.cc: New
	test.
	* testsuite/25_algorithms/swap_ranges/requirements/version.cc:
	New test.

2023-11-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (freestanding_expected): New macro.
	(span): Add C++26 value.
	* include/bits/version.h: Regenerate.
	* include/std/expected (__glibcxx_want_freestanding_expected):
	Define.
	* include/std/span (span::at): New member function.
	* testsuite/20_util/expected/version.cc: Add checks for
	__cpp_lib_freestanding_expected.
	* testsuite/23_containers/span/2.cc: Moved to...
	* testsuite/23_containers/span/version.cc: ...here. Add checks
	for __cpp_lib_span in <span> as well as in <version>.
	* testsuite/23_containers/span/1.cc: Removed.
	* testsuite/23_containers/span/at.cc: New test.

2023-11-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one
	characters to _M_copy_from_string.
	* testsuite/tr2/dynamic_bitset/string.cc: New test.

2023-11-21  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/*: Regenerate.
	* doc/xml/faq.xml: Remove reference to buildstat.html pages.
	* doc/xml/manual/test.xml: Likewise

2023-11-21  Jan Hubicka  <jh@suse.cz>

	PR libstdc++/110287
	PR middle-end/109811
	PR middle-end/109849
	* include/bits/stl_vector.h (_M_realloc_append): New member function.
	(push_back): Use it.
	* include/bits/vector.tcc: (emplace_back): Use it.
	(_M_realloc_insert): Let compiler know that new vector size is non-zero.
	(_M_realloc_append): New member function.

2023-11-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112607
	* include/std/format (basic_format_arg::_S_to_arg_type): Check
	value_type for basic_string_view and basic_string
	specializations.
	* testsuite/std/format/arguments/112607.cc: New test.

2023-11-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110801
	* include/std/format (_Sink_iter::_M_reserve): New member
	function.
	(_Sink::_Reservation): New nested class.
	(_Sink::_M_reserve, _Sink::_M_bump): New virtual functions.
	(_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual
	overrides.
	(_Iter_sink<O, ContigIter>::_M_reserve): Likewise.
	(__do_vformat_to): Use new functions to optimize "{}" case.

2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

	* config.h.in: Regenerate.

2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def (saturation_arithmetic): Define.
	* include/bits/version.h: Regenerate.
	* include/std/numeric: Include new header.
	* include/bits/sat_arith.h: New file.
	* testsuite/26_numerics/saturation/add.cc: New test.
	* testsuite/26_numerics/saturation/cast.cc: New test.
	* testsuite/26_numerics/saturation/div.cc: New test.
	* testsuite/26_numerics/saturation/mul.cc: New test.
	* testsuite/26_numerics/saturation/sub.cc: New test.
	* testsuite/26_numerics/saturation/version.cc: New test.

2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/utility (in_range): Rename _Up parameter to _Res.

2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/out_ptr.h: Add Doxygen comments. Remove a
	redundant preprocessor condition.
	* testsuite/20_util/smartptr.adapt/version.cc: New test.

2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h: Fix Doxygen markup.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112564
	* include/std/stacktrace (formatter::format): Format according
	to format-spec.
	* include/std/thread (formatter::format): Use _Align_right as
	default.
	* testsuite/19_diagnostics/stacktrace/output.cc: Check
	fill-and-align handling. Change compile test to run.
	* testsuite/30_threads/thread/id/output.cc: Check fill-and-align
	handling.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111667
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/out_ptr.h: New file.
	* include/bits/shared_ptr.h (__is_shared_ptr): Move definition
	to here ...
	* include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from
	here.
	* include/bits/shared_ptr_base.h (__shared_count): Declare
	out_ptr_t as a friend.
	(_Sp_counted_deleter, __shared_ptr): Likewise.
	* include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>):
	Declare out_ptr_t and inout_ptr_t as friends.
	(__is_unique_ptr): Define new variable template.
	* include/bits/version.def (out_ptr): Define.
	* include/bits/version.h: Regenerate.
	* include/std/memory: Include new header.
	* testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test.
	* testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test.
	* testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc:
	New test.
	* testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New
	test.
	* testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test.
	* testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test.
	* testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc:
	New test.
	* testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New
	test.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/algorithmfwd.h: Do not define standard feature
	test macro here.
	* include/bits/align.h: Likewise. Test internal macros instead
	of standard macros.
	* include/bits/alloc_traits.h: Likewise.
	* include/bits/allocator.h: Likewise.
	* include/bits/atomic_base.h: Likewise.
	* include/bits/atomic_timed_wait.h: Likewise.
	* include/bits/atomic_wait.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/char_traits.h: Likewise.
	* include/bits/chrono.h: Likewise.
	* include/bits/cow_string.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/memory_resource.h: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/move_only_function.h: Likewise.
	* include/bits/node_handle.h: Likewise.
	* include/bits/ptr_traits.h: Likewise.
	* include/bits/range_access.h: Likewise.
	* include/bits/ranges_algo.h: Likewise.
	* include/bits/ranges_cmp.h: Likewise.
	* include/bits/ranges_util.h: Likewise.
	* include/bits/semaphore_base.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/shared_ptr_atomic.h: Likewise.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/uses_allocator_args.h: Likewise.
	* include/bits/utility.h: Likewise.
	* include/bits/erase_if.h: Add comment.
	* include/std/algorithm: Define standard feature test macros
	here.
	* include/std/atomic: Likewise.
	* include/std/array: Likewise.
	* include/std/chrono: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/deque: Likewise.
	* include/std/format: Likewise.
	* include/std/functional: Likewise.
	* include/std/forward_list: Likewise.
	* include/std/ios: Likewise.
	* include/std/iterator: Likewise.
	* include/std/list: Likewise.
	* include/std/map: Likewise.
	* include/std/memory: Likewise.
	* include/std/numeric: Likewise.
	* include/std/queue: Likewise.
	* include/std/ranges: Likewise.
	* include/std/regex: Likewise.
	* include/std/set: Likewise.
	* include/std/stack: Likewise.
	* include/std/stop_token: Likewise.
	* include/std/string: Likewise.
	* include/std/string_view:
	* include/std/tuple: Likewise.
	* include/std/unordered_map:
	* include/std/unordered_set:
	* include/std/utility: Likewise.
	* include/std/vector: Likewise.
	* include/std/scoped_allocator: Query internal macros instead of
	standard macros.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/byte/requirements.cc: Disable PCH.
	* testsuite/18_support/destroying_delete.cc: Likewise.
	* testsuite/18_support/source_location/1.cc: Likewise.
	* testsuite/18_support/source_location/version.cc: Likewise.
	* testsuite/18_support/type_info/constexpr.cc: Likewise.
	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
	Likewise.
	* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
	* testsuite/20_util/addressof/requirements/constexpr.cc:
	Likewise.
	* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
	* testsuite/20_util/allocator_traits/header.cc: Likewise.
	* testsuite/20_util/as_const/1.cc: Likewise. Likewise.
	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
	* testsuite/20_util/bitset/version.cc: Likewise.
	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
	Likewise.
	* testsuite/20_util/duration_cast/rounding.cc: Likewise.
	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
	Likewise.
	* testsuite/20_util/exchange/constexpr.cc: Likewise.
	* testsuite/20_util/expected/synopsis.cc: Likewise.
	* testsuite/20_util/expected/version.cc: Likewise.
	* testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
	* testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/3.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/4.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/constexpr.cc:
	Likewise.
	* testsuite/20_util/function_objects/invoke/version.cc:
	Likewise.
	* testsuite/20_util/function_objects/searchers.cc: Likewise.
	* testsuite/20_util/integer_comparisons/1.cc: Likewise.
	* testsuite/20_util/integer_comparisons/2.cc: Likewise.
	* testsuite/20_util/is_bounded_array/value.cc: Likewise.
	* testsuite/20_util/is_layout_compatible/value.cc: Likewise.
	* testsuite/20_util/is_layout_compatible/version.cc: Likewise.
	* testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_swappable/value.h: Likewise.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable
	PCH.
	* testsuite/20_util/is_pointer_interconvertible/value.cc:
	Likewise.
	* testsuite/20_util/is_pointer_interconvertible/version.cc:
	Likewise.
	* testsuite/20_util/is_scoped_enum/value.cc: Likewise.
	* testsuite/20_util/is_scoped_enum/version.cc: Likewise.
	* testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/20_util/is_swappable/requirements/typedefs.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/20_util/is_swappable/value.cc: Disable PCH.
	* testsuite/20_util/is_swappable/value.h: Reorder headers.
	* testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/20_util/is_swappable_with/value.cc: Disable PCH.
	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
	* testsuite/20_util/move_only_function/cons.cc: Likewise.
	* testsuite/20_util/move_only_function/version.cc: Likewise.
	* testsuite/20_util/optional/monadic/and_then.cc: Likewise.
	* testsuite/20_util/optional/requirements.cc: Likewise.
	* testsuite/20_util/optional/version.cc: Likewise.
	* testsuite/20_util/owner_less/void.cc: Likewise.
	* testsuite/20_util/reference_from_temporary/value.cc: Likewise.
	* testsuite/20_util/reference_from_temporary/version.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
	* testsuite/20_util/time_point_cast/rounding.cc: Likewise.
	* testsuite/20_util/to_chars/constexpr.cc: Likewise.
	* testsuite/20_util/to_chars/result.cc: Likewise.
	* testsuite/20_util/to_chars/version.cc: Likewise.
	* testsuite/20_util/to_underlying/1.cc: Likewise.
	* testsuite/20_util/to_underlying/version.cc: Likewise.
	* testsuite/20_util/tuple/apply/1.cc: Likewise.
	* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
	Likewise.
	* testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
	* testsuite/20_util/tuple/p2321r2.cc: Likewise.
	* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
	Likewise.
	* testsuite/20_util/unreachable/1.cc: Likewise.
	* testsuite/20_util/unreachable/version.cc: Likewise.
	* testsuite/20_util/unwrap_reference/1.cc: Likewise.
	* testsuite/20_util/unwrap_reference/3.cc: Likewise.
	* testsuite/20_util/variant/constexpr.cc: Likewise.
	* testsuite/20_util/variant/version.cc: Likewise.
	* testsuite/20_util/variant/visit_inherited.cc: Likewise.
	* testsuite/20_util/void_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
	Likewise.
	* testsuite/21_strings/basic_string/cons/char/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/erasure.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/version.cc:
	Likewise.
	* testsuite/21_strings/basic_string/version.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
	Likewise.
	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
	Likewise.
	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
	Likewise.
	* testsuite/21_strings/char_traits/requirements/version.cc:
	Likewise.
	* testsuite/23_containers/array/comparison_operators/constexpr.cc:
	Likewise.
	* testsuite/23_containers/array/creation/1.cc: Likewise.
	* testsuite/23_containers/array/creation/2.cc: Likewise.
	* testsuite/23_containers/array/element_access/constexpr_c++17.cc:
	Likewise.
	* testsuite/23_containers/array/requirements/constexpr_fill.cc:
	Likewise.
	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
	Likewise.
	* testsuite/23_containers/deque/erasure.cc: Likewise.
	* testsuite/23_containers/forward_list/erasure.cc: Likewise.
	* testsuite/23_containers/list/erasure.cc: Likewise.
	* testsuite/23_containers/map/erasure.cc: Likewise.
	* testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
	* testsuite/23_containers/set/erasure.cc: Likewise.
	* testsuite/23_containers/span/1.cc: Likewise.
	* testsuite/23_containers/span/2.cc: Likewise.
	* testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
	* testsuite/23_containers/unordered_map/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
	* testsuite/23_containers/unordered_set/operations/1.cc:
	Likewise.
	* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
	* testsuite/23_containers/vector/erasure.cc: Likewise.
	* testsuite/23_containers/vector/requirements/version.cc:
	Likewise.
	* testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
	* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
	Remove redundant checks already tested elsewhere.
	* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
	* testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
	* testsuite/25_algorithms/fold_left/1.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
	* testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
	* testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
	* testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
	* testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
	* testsuite/26_numerics/bit/header-2.cc: Likewise.
	* testsuite/26_numerics/bit/header.cc: Likewise.
	* testsuite/26_numerics/complex/1.cc: Likewise.
	* testsuite/26_numerics/complex/2.cc: Likewise.
	* testsuite/26_numerics/endian/2.cc: Likewise.
	* testsuite/26_numerics/endian/3.cc: Likewise.
	* testsuite/26_numerics/gcd/1.cc: Likewise.
	* testsuite/26_numerics/lcm/1.cc: Likewise.
	* testsuite/26_numerics/lerp/1.cc: Likewise.
	* testsuite/26_numerics/lerp/version.cc: Likewise.
	* testsuite/26_numerics/midpoint/integral.cc: Likewise.
	* testsuite/26_numerics/midpoint/version.cc: Likewise.
	* testsuite/26_numerics/numbers/1.cc: Likewise.
	* testsuite/26_numerics/numbers/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/native_handle/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/native_handle/version.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
	Likewise.
	* testsuite/27_io/basic_syncbuf/1.cc: Likewise.
	* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
	* testsuite/27_io/basic_syncstream/1.cc: Likewise.
	* testsuite/27_io/basic_syncstream/2.cc: Likewise.
	* testsuite/27_io/spanstream/1.cc: Likewise.
	* testsuite/27_io/spanstream/version.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
	Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
	* testsuite/30_threads/barrier/1.cc: Likewise.
	* testsuite/30_threads/barrier/2.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/stop_token/1.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
	Likewise.
	* testsuite/30_threads/jthread/1.cc: Likewise.
	* testsuite/30_threads/jthread/version.cc: Likewise.
	* testsuite/30_threads/latch/1.cc: Likewise.
	* testsuite/30_threads/latch/2.cc: Likewise.
	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/semaphore/1.cc: Likewise.
	* testsuite/30_threads/semaphore/2.cc: Likewise.
	* testsuite/30_threads/stop_token/1.cc: Likewise.
	* testsuite/30_threads/stop_token/2.cc: Likewise.
	* testsuite/experimental/feat-char8_t.cc: Likewise.
	* testsuite/experimental/iterator/ostream_joiner.cc: Likewise.
	* testsuite/experimental/numeric/gcd.cc: Likewise.
	* testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
	* testsuite/std/concepts/1.cc: Likewise.
	* testsuite/std/concepts/2.cc: Likewise.
	* testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
	* testsuite/std/ranges/cartesian_product/1.cc: Likewise.
	* testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
	* testsuite/std/ranges/repeat/1.cc: Likewise.
	* testsuite/std/ranges/version_c++23.cc: Likewise.
	* testsuite/std/ranges/zip/1.cc: Likewise.
	* testsuite/std/time/syn_c++20.cc: Likewise.
	* testsuite/experimental/feat-cxx14.cc: Likewise. Include
	<algorithm> and <iterator>.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
	Adjust dg-error line numbers.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (stds): Use >= 202100 for C++23
	condition.
	* include/bits/version.h: Regenerate.
	* include/std/thread: Use > C++20 instead of >= C++23 for
	__cplusplus condition.

2023-11-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/istream (__rvalue_stream_extraction_t): Test
	__cpp_concepts instead of __cpp_lib_concepts.
	* include/std/ostream (__derived_from_ios_base): Likewise.
	(__rvalue_stream_insertion_t): Likewise.

2023-11-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112491
	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
	Correctly handle unused capacity at the start of the first node.
	* testsuite/libstdc++-xmethods/deque.cc: Check index operator
	when elements have been removed from the front.

2023-11-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace (basic_stacktrace::at): Fix class name
	in exception message.
	* testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
	current() returns a non-empty stacktrace.

2023-11-15  Alexandre Oliva  <oliva@gnu.org>

	Revert:
	2023-11-15  Alexandre Oliva  <oliva@adacore.com>

	* include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.

2023-11-15  Alexandre Oliva  <oliva@adacore.com>

	* include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.

2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono (operator-(const weekday&, const weekday&)):
	Optimize.

2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono (weekday::_S_from_days): Fix UB.
	* testsuite/std/time/weekday/1.cc: Add test for overflow.

2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono (year::is_leap): Clear code.

2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono (year_month_day_last::day): Remove &1.

2023-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/charconv (__from_chars_pow2_base): Convert base to
	unsigned for call to __countr_zero.
	(__from_chars_alnum): Likewise for call to __bit_width.

2023-11-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112348
	* include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
	type of hash functio nfor entries.
	* testsuite/19_diagnostics/stacktrace/hash.cc: New test.

2023-11-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112491
	* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
	calculation to use _M_start._M_cur.
	* testsuite/libstdc++-xmethods/deque.cc: Check failing cases.

2023-11-13  Arsen Arsenović  <arsen@aarsen.me>

	* configure: Regenerate.

2023-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/clock/file/io.cc: Double timeout using
	dg-timeout-factor.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/local/io.cc: Likewise.
	* testsuite/std/time/clock/system/io.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.

2023-11-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112480
	* include/std/optional (_Optional_payload_base::_M_reset): Set
	_M_engaged to false unconditionally.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112467
	* include/bits/stl_bvector.h (_M_assume_normalized): Do not use
	statement form of assume attribute for Clang.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/string_view (operator==, operator<=>): Remove
	redundant overloads (LWG 3950).

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to...
	* testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here.
	* testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to...
	* testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here.
	Check macro first and then #undef.
	* testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to...
	* testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112473
	* include/bits/utility.h (integer_sequence): Add static_assert.
	* testsuite/20_util/integer_sequence/112473.cc: New test.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/pair/dangling_ref.cc: Add hosted effective
	target for specifiers using c++17_down.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_atomic.h (atomic_is_lock_free)
	(atomic_load_explicit, atomic_load, atomic_store_explicit)
	(atomic_store, atomic_exchange_explicit, atomic_exchange)
	(atomic_compare_exchange_strong, atomic_compare_exchange_weak)
	(atomic_compare_exchange_strong_explicit)
	(atomic_compare_exchange_weak_explicit): Add deprecated
	attribute for C++20 and later.
	* testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated
	warnings.
	* testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
	* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
	* testsuite/29_atomics/atomic/lwg3220.cc: Likewise.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/std_mutex.h (lock_guard): Add [[nodiscard]]
	attribute to constructors.
	* include/bits/unique_lock.h (unique_lock): Likewise.
	* include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise.
	* testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test.
	* testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test.
	* testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/span (span, as_bytes, as_writable_bytes): Add
	[[nodiscard]] attribute on all non-void functions.
	* testsuite/23_containers/span/back_assert_neg.cc: Suppress
	nodiscard warning.
	* testsuite/23_containers/span/back_neg.cc: Likewise.
	* testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/first_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/first_neg.cc: Likewise.
	* testsuite/23_containers/span/front_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/front_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
	* testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/last_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/last_neg.cc: Likewise.
	* testsuite/23_containers/span/subspan_2_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_3_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_4_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_5_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_6_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/subspan_neg.cc: Likewise.
	* testsuite/23_containers/span/nodiscard.cc: New test.

2023-11-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111638
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove.
	(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo.
	(GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise.
	(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise.
	(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise.
	(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use
	GLIBCXX_MAYBE_UNDERSCORED_FUNCS.

2023-11-11  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR libstdc++/79700
	* include/c_global/cmath (acosf, acosl, asinf, asinl, atanf)
	(atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl)
	(expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf)
	(frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff)
	(modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf)
	(tanl, tanhf, tanhl): Add using-declarations in namespace std.
	* testsuite/26_numerics/headers/cmath/equivalent_functions.cc:
	New test.
	* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
	Add checks for existence of above names.

2023-11-09  Arsen Arsenović  <arsen@aarsen.me>

	* testsuite/20_util/scoped_allocator/noexcept.cc: Mark as
	requiring hosted.

2023-11-09  Arsen Arsenović  <arsen@aarsen.me>

	* include/bits/memoryfwd.h: Remove HOSTED check around allocator
	and its specializations.

2023-11-09  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112453
	* include/std/ranges (__detail::__box<_Tp>::operator*): Define
	&& overloads as well.
	(__detail::__take_of_repeat_view): Forward __r when accessing
	its _M_value member.
	(__detail::__drop_of_repeat_view): Likewise.
	* testsuite/std/ranges/repeat/1.cc (test07): New test.

2023-11-09  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_RehashStateGuard): New.
	(_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)):
	Adapt.
	* include/bits/hashtable.h (__rehash_guard_t): New.
	(__rehash_state): Remove.
	(_M_rehash): Remove.
	(_M_rehash_aux): Rename into _M_rehash.
	(_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt.
	(rehash): Adapt.

2023-11-09  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h
	(struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New.
	(_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node
	pointer while constructing in place the value_type instance.

2023-11-09  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/110807
	* include/bits/stl_bvector.h (_Bit_iterator_base): Add
	_M_assume_normalized member function.  Call it in _M_bump_up,
	_M_bump_down, _M_incr, operator==, operator<=>, operator<, and
	operator-.
	(_Bit_iterator): Also call it in operator*.
	(_Bit_const_iterator): Likewise.

2023-11-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h
	(_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
	on construct exception.

2023-11-07  Richard Biener  <rguenther@suse.de>

	PR libstdc++/112351
	* src/c++98/locale.cc (locale::facet::_S_initialize_once):
	Check whether _S_c_locale is already initialized.
	(locale::facet::_S_get_c_locale): Always perform non-threadsafe
	init when threadsafe init failed.

2023-11-06  Ian Lance Taylor  <iant@golang.org>

	PR libbacktrace/111315
	PR libbacktrace/112263
	* acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
	grepping link.h for dl_iterate_phdr.
	* configure: Regenerate.

2023-11-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected::and_then, expected::or_else):
	Add string literals to static assertions.
	* include/std/optional (optional::and_then, optional::or_else):
	Likewise.

2023-11-04  Feng Jisen  <J1senn@outlook.com>

	* include/bits/utility.h (_Nth_type): Remove redundant partial
	specialization.

2023-11-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110133
	* include/std/system_error (system_error::system_error): Group
	arguments so that concatenation can reuse rvalue's capacity.
	* src/c++11/system_error.cc (strerror_string): New function.
	[_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
	(generic_error_category::message): Use strerror_string.
	(system_error_category::message): Likewise.

2023-11-04  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Replace example that
	uses a BADNAME.
	* doc/html/manual/source_code_style.html: Regenerate.

2023-11-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112314
	* include/std/string_view (string_view::remove_suffix): Add
	debug assertion.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
	New test.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
	New test.

2023-11-02  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
	* configure: Regenerate.

2023-10-30  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
	added emul TLS symbols.

2023-10-30  François Dumont  <fdumont@gcc.gnu.org>

	* src/experimental/contract.cc
	[_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
	Remove weak attribute.

2023-10-29  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
	symbols.

2023-10-29  François Dumont  <fdumont@gcc.gnu.org>

	* src/experimental/contract.cc
	[_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
	without version namespace decoration for gcc.

2023-10-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/112089
	* include/std/shared_mutex (shared_lock::unlock): Change errc
	constant to operation_not_permitted.
	* testsuite/30_threads/shared_lock/locking/112089.cc: New test.

2023-10-26  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/duration/io.cc: Double timeout using
	dg-timeout-factor.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/format.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/month_day/io.cc: Likewise.
	* testsuite/std/time/month_day_last/io.cc: Likewise.
	* testsuite/std/time/month_weekday/io.cc: Likewise.
	* testsuite/std/time/month_weekday_last/io.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/weekday_indexed/io.cc: Likewise.
	* testsuite/std/time/weekday_last/io.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/year_month/io.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/time/year_month_day_last/io.cc: Likewise.
	* testsuite/std/time/year_month_weekday/io.cc: Likewise.
	* testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
	* testsuite/std/time/zoned_time/io.cc: Likewise.

2023-10-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111936
	* src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
	compile commands.
	* src/libbacktrace/Makefile.in: Regenerate.

2023-10-24  Paul M. Bendixen  <paulbendixen@gmail.com>

	* include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
	freestanding.
	* include/Makefile.in: Regenerate.

2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
	* src/Makefile.am: Handle Darwin rpaths.
	* src/Makefile.in: Regenerate.

2023-10-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (_M_init_local_buf()): New
	function.
	(_M_use_local_data()): Use _M_init_local_buf.
	(basic_string(), basic_string(const Alloc&))
	(basic_string(basic_string&&))
	(basic_string(basic_string&&, const Alloc&)): Use
	_M_init_local_buf instead of _M_use_local_data().
	* include/bits/basic_string.tcc (swap(basic_string&))
	(_M_construct(InIter, InIter, input_iterator_tag))
	(_M_construct(InIter, InIter, forward_iterator_tag))
	(_M_construct(size_type, CharT), reserve()): Likewise.

2023-10-21  Benjamin Brock  <brock@cs.berkeley.edu>

	* include/std/ranges (zip_view, adjacent_view): Implement
	workaround for LLVM-61763.

2023-10-21  Dimitrij Mijoski  <dmjpp@hotmail.com>

	* testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()

2023-10-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
	indentation.

2023-10-20  Marek Polacek  <polacek@redhat.com>

	PR testsuite/111883
	* include/std/charconv (from_chars): Add explicit casts.

2023-10-19  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h
	(_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
	(_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
	* include/bits/hashtable.h
	(_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
	(_M_merge_unique<>, _M_merge_multi<>): Use latter.
	* testsuite/23_containers/unordered_map/modifiers/merge.cc
	(test04, test05, test06): New test cases.

2023-10-13  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
	Initialize stream to va_arg(ap, FILE*) rather than 0.
	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
	Likewise.

2023-10-13  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/29_atomics/atomic/compare_exchange_padding.cc,
	testsuite/29_atomics/atomic_flag/clear/1.cc,
	testsuite/29_atomics/atomic_flag/cons/value_init.cc,
	testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
	testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
	testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
	testsuite/29_atomics/atomic_ref/generic.cc,
	testsuite/29_atomics/atomic_ref/integral.cc,
	testsuite/29_atomics/atomic_ref/pointer.cc: Replace
	dg-require-thread-fence with dg-require-atomic-cmpxchg-word.

2023-10-13  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
	New proc.
	* testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
	Ditto.

2023-10-05  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
	for _Float{16,32,64,128,32x,64x,128x}.

2023-10-04  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py
	(StdExpAnyPrinter.__init__): Qualify call to
	_string_types.

2023-10-04  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py: Assume that
	_versioned_namespace is non-None.
	* python/libstdcxx/v6/xmethods.py (is_specialization_of):
	Assume that _versioned_namespace is non-None.

2023-10-04  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/xmethods.py (_versioned_namespace):
	Define.

2023-09-29  Dimitrij Mijoski  <dmjpp@hotmail.com>

	PR libstdc++/108976
	* src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
	surrogates in UTF-8.
	(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
	(ucs4_in): Fix handling of range with odd number of bytes.
	(ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
	(ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
	(ucs2_in): Fix handling of range with odd number of bytes.
	(__codecvt_utf16_base<char16_t>::do_in): Likewise.
	(__codecvt_utf16_base<char32_t>::do_in): Likewise.
	(__codecvt_utf16_base<wchar_t>::do_in): Likewise.
	* testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
	tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
	* testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
	testing functions for char8_t, add more test cases for errors,
	add testing functions for codecvt_utf16.
	* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
	Renames, add tests for codecvt_utf16<whchar_t>.
	* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
	Fix test.
	* testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
	test.

2023-09-29  Nathaniel Shead  <nathanieloshead@gmail.com>

	* include/bits/basic_string.h: (basic_string(basic_string&&)):
	Activate _M_local_buf when needed.
	(basic_string(basic_string&&, const _Alloc&)): Likewise.
	* include/bits/basic_string.tcc: (basic_string::swap): Likewise.
	* include/std/variant: (__detail::__variant::__construct_n): New.
	(__detail::__variant::__emplace): Use __construct_n.

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py (Printer.add_version)
	(add_one_template_type_printer)
	(FilteringTypePrinter.add_one_type_printer): Use Python
	"not in" operator.

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
	Remove.

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py
	(StdExpOptionalPrinter.__init__, lookup_node_type):
	Remove unused variables.

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py: Don't import 'os'.
	* python/libstdcxx/v6/__init__.py: Don't import 'gdb'.

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
	everywhere.  Rename members to start with "_".

2023-09-28  Tom Tromey  <tromey@adacore.com>

	* testsuite/lib/gdb-test.exp (gdb-test): Enable Python
	stack traces from gdb.

2023-09-28  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
	new function.
	(ArrayMethodsMatcher, DequeMethodsMatcher)
	(ForwardListMethodsMatcher, ListMethodsMatcher)
	(VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
	(UniquePtrGetWorker, UniquePtrMethodsMatcher)
	(SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
	is_specialization_of instead of re.match.

2023-09-28  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py: Break long lines. Use raw
	strings for regular expressions. Add whitespace around
	operators.
	(is_member_of_namespace): Use isinstance to check type.
	(is_specialization_of): Likewise. Adjust template_name
	for versioned namespace instead of duplicating the re.match
	call.
	(StdExpAnyPrinter._string_types): New static method.
	(StdExpAnyPrinter.to_string): Use _string_types.

2023-09-28  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py: Format docstrings according
	to PEP 257.
	* python/libstdcxx/v6/xmethods.py: Likewise.

2023-09-28  Tim Song  <t.canens.cpp@gmail.com>

	PR libstdc++/111050
	* include/bits/hashtable_policy.h
	(_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
	Add [[__gnu__::__always_inline__]].

2023-09-27  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
	Fix incorrect number of replacement fields.

2023-09-26  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
	dg-require-thread-fence.

2023-09-25  Patrick Palka  <ppalka@redhat.com>

	* include/std/charconv (__detail::__integer_to_chars_result_type):
	Remove.
	(__detail::__to_chars_16): Use to_chars_result as return type.
	(__detail::__to_chars_10): Likewise.
	(__detail::__to_chars_8): Likewise.
	(__detail::__to_chars_2): Likewise.
	(__detail::__to_chars_i): Likewise.
	(__detail::__integer_from_chars_result_type): Inline the
	constraint into ...
	(from_chars): ... here.  Use __is_standard_integer in the
	constraint.  Encode constraint as a defaulted non-type template
	parameter instead of within the return type.

2023-09-25  John David Anglin  <danglin@gcc.gnu.org>

	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

2023-09-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111511
	PR c++/111512
	* include/std/array (to_array): Cast memcpy arguments to void*.
	* testsuite/23_containers/array/creation/111512.cc: New test.

2023-09-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/move.h (forward_list): Define for C++23.
	* include/bits/version.def (forward_like): Define.
	* include/bits/version.h: Regenerate.
	* include/std/utility (__glibcxx_want_forward_like): Define.
	* testsuite/20_util/forward_like/1.cc: New test.
	* testsuite/20_util/forward_like/2_neg.cc: New test.
	* testsuite/20_util/forward_like/version.cc: New test.

2023-09-19  Marek Polacek  <polacek@redhat.com>

	* testsuite/20_util/allocator/105975.cc: Add dg-error.

2023-09-18  Patrick Palka  <ppalka@redhat.com>

	PR c++/63198
	PR c++/18474
	* testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
	Make data member seed_seq::called mutable.
	* testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
	Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
	Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
	Likewise.
	* testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
	Likewise.

2023-09-18  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
	* doc/html/manual/status.html: Regenerate.

2023-09-18  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/configure.xml: Use conventional option name.
	* doc/xml/manual/status_cxx2020.xml: Update.
	* doc/xml/manual/status_cxx2023.xml: Update.
	* doc/html/*: Regenerate.

2023-09-18  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/intro.xml: Clarify that building libstdc++
	separately from GCC is not supported.
	* doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
	testing.
	* doc/html/manual/setup.html: Regenerate.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
	restrict to pthreads targets.
	* testsuite/30_threads/jthread/3.cc: Likewise.
	* testsuite/30_threads/semaphore/100806.cc: Likewise.
	* testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
	* testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
	* testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/coroutines/95917.cc: Remove dg-options
	-std=gnu++2a.
	* testsuite/18_support/coroutines/hash.cc: Likewise.
	* testsuite/18_support/coroutines/lwg3460.cc: Likewise.
	* testsuite/18_support/destroying_delete.cc: Likewise.
	* testsuite/18_support/source_location/1.cc: Likewise.
	* testsuite/18_support/source_location/consteval.cc: Likewise.
	* testsuite/18_support/source_location/version.cc: Likewise.
	* testsuite/19_diagnostics/error_category/operators/three_way.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/operators/three_way.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/operators/three_way.cc:
	Likewise.
	* testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
	* testsuite/26_numerics/adjacent_difference/lwg2055.cc:
	Likewise.
	* testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
	* testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
	* testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
	* testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
	Likewise.
	* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
	Likewise.
	* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
	Likewise.
	* testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
	* testsuite/experimental/filesystem/iterators/106201.cc:
	Likewise.
	* testsuite/experimental/scopeguard/exit.cc: Likewise.
	* testsuite/experimental/scopeguard/uniqueres.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/30_threads/barrier/1.cc: Remove dg-options
	-std=gnu++20.
	* testsuite/30_threads/barrier/2.cc: Likewise.
	* testsuite/30_threads/barrier/arrive.cc: Likewise.
	* testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
	* testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
	* testsuite/30_threads/barrier/completion.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/stop_token/1.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/stop_token/2.cc:
	Likewise.
	* testsuite/30_threads/future/members/clock_neg.cc: Likewise.
	* testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
	* testsuite/30_threads/headers/thread/types_std_c++20.cc:
	Likewise.
	* testsuite/30_threads/jthread/1.cc: Likewise.
	* testsuite/30_threads/jthread/100612.cc: Likewise.
	* testsuite/30_threads/jthread/95989.cc: Likewise.
	* testsuite/30_threads/jthread/jthread.cc: Likewise.
	* testsuite/30_threads/jthread/version.cc: Likewise.
	* testsuite/30_threads/latch/1.cc: Likewise.
	* testsuite/30_threads/latch/2.cc: Likewise.
	* testsuite/30_threads/latch/3.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/semaphore/1.cc: Likewise.
	* testsuite/30_threads/semaphore/2.cc: Likewise.
	* testsuite/30_threads/semaphore/least_max_value_neg.cc:
	Likewise.
	* testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
	* testsuite/30_threads/shared_future/members/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/shared_lock/locking/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/stop_token/1.cc: Likewise.
	* testsuite/30_threads/stop_token/2.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/invoke.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_source.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_source/assign.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_token.cc: Likewise.
	* testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
	Likewise.
	* testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
	Likewise.
	* testsuite/30_threads/unique_lock/locking/clock_neg.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
	Remove dg-options -std=gnu++2a.
	* testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
	Likewise.
	* testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
	* testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringstream/cons/char/97719.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
	* testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_syncbuf/1.cc: Likewise.
	* testsuite/27_io/basic_syncbuf/2.cc: Likewise.
	* testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
	* testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
	* testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
	* testsuite/27_io/basic_syncstream/1.cc: Likewise.
	* testsuite/27_io/basic_syncstream/2.cc: Likewise.
	* testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
	* testsuite/27_io/basic_syncstream/requirements/types.cc:
	Likewise.
	* testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
	* testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
	* testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/accumulate/constexpr.cc: Remove
	dg-options -std=gnu++2a.
	* testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
	* testsuite/26_numerics/adjacent_difference/constexpr.cc:
	Likewise.
	* testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
	* testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
	* testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
	* testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
	Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
	* testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
	* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
	* testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
	* testsuite/26_numerics/bit/header-2.cc: Likewise.
	* testsuite/26_numerics/bit/header.cc: Likewise.
	* testsuite/26_numerics/complex/1.cc: Likewise.
	* testsuite/26_numerics/complex/2.cc: Likewise.
	* testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
	Likewise.
	* testsuite/26_numerics/complex/operators/more_constexpr.cc:
	Likewise.
	* testsuite/26_numerics/complex/requirements/more_constexpr.cc:
	Likewise.
	* testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
	Likewise.
	* testsuite/26_numerics/endian/1.cc: Likewise.
	* testsuite/26_numerics/endian/2.cc: Likewise.
	* testsuite/26_numerics/endian/3.cc: Likewise.
	* testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
	* testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
	* testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
	* testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
	* testsuite/26_numerics/iota/constexpr.cc: Likewise.
	* testsuite/26_numerics/lerp/1.cc: Likewise.
	* testsuite/26_numerics/lerp/constexpr.cc: Likewise.
	* testsuite/26_numerics/lerp/version.cc: Likewise.
	* testsuite/26_numerics/midpoint/floating.cc: Likewise.
	* testsuite/26_numerics/midpoint/integral.cc: Likewise.
	* testsuite/26_numerics/midpoint/pointer.cc: Likewise.
	* testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
	* testsuite/26_numerics/midpoint/version.cc: Likewise.
	* testsuite/26_numerics/numbers/1.cc: Likewise.
	* testsuite/26_numerics/numbers/2.cc: Likewise.
	* testsuite/26_numerics/numbers/3.cc: Likewise.
	* testsuite/26_numerics/numbers/float128.cc: Likewise.
	* testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
	* testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
	* testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
	* testsuite/26_numerics/random/concept.cc: Likewise.
	* testsuite/26_numerics/reduce/constexpr.cc: Likewise.
	* testsuite/26_numerics/slice/compare.cc: Likewise.
	* testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
	Likewise.
	* testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
	Likewise.
	* testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/24_iterators/aliases.cc: Remove dg-options
	-std=gnu++2a.
	* testsuite/24_iterators/associated_types/incrementable.traits.cc:
	Likewise.
	* testsuite/24_iterators/associated_types/iterator.traits.cc:
	Likewise.
	* testsuite/24_iterators/associated_types/readable.traits.cc:
	Likewise.
	* testsuite/24_iterators/back_insert_iterator/constexpr.cc:
	Likewise.
	* testsuite/24_iterators/back_insert_iterator/pr93884.cc:
	Likewise.
	* testsuite/24_iterators/bidirectional/concept.cc: Likewise.
	* testsuite/24_iterators/common_iterator/1.cc: Likewise.
	* testsuite/24_iterators/common_iterator/100823.cc: Likewise.
	* testsuite/24_iterators/common_iterator/2.cc: Likewise.
	* testsuite/24_iterators/contiguous/concept.cc: Likewise.
	* testsuite/24_iterators/contiguous/tag.cc: Likewise.
	* testsuite/24_iterators/counted_iterator/1.cc: Likewise.
	* testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
	* testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
	* testsuite/24_iterators/customization_points/92894.cc:
	Likewise.
	* testsuite/24_iterators/customization_points/iter_move.cc:
	Likewise.
	* testsuite/24_iterators/customization_points/iter_swap.cc:
	Likewise.
	* testsuite/24_iterators/customization_points/lwg3420.cc:
	Likewise.
	* testsuite/24_iterators/forward/concept.cc: Likewise.
	* testsuite/24_iterators/front_insert_iterator/constexpr.cc:
	Likewise.
	* testsuite/24_iterators/front_insert_iterator/pr93884.cc:
	Likewise.
	* testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
	Likewise.
	* testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
	* testsuite/24_iterators/indirect_callable/projected-adl.cc:
	Likewise.
	* testsuite/24_iterators/indirect_callable/projected.cc:
	Likewise.
	* testsuite/24_iterators/input/concept.cc: Likewise.
	* testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
	* testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
	Likewise.
	* testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
	* testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
	Likewise.
	* testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
	Likewise.
	* testsuite/24_iterators/move_iterator/cust.cc: Likewise.
	* testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
	* testsuite/24_iterators/move_iterator/input_iterator.cc:
	Likewise.
	* testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
	* testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
	* testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
	* testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
	* testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
	Likewise.
	* testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
	* testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
	* testsuite/24_iterators/output/concept.cc: Likewise.
	* testsuite/24_iterators/random_access/concept.cc: Likewise.
	* testsuite/24_iterators/range_access/range_access_cpp20.cc:
	Likewise.
	* testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
	Likewise.
	* testsuite/24_iterators/range_operations/100768.cc: Likewise.
	* testsuite/24_iterators/range_operations/advance.cc: Likewise.
	* testsuite/24_iterators/range_operations/advance_overflow.cc:
	Likewise.
	* testsuite/24_iterators/range_operations/distance.cc: Likewise.
	* testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
	* testsuite/24_iterators/range_operations/next.cc: Likewise.
	* testsuite/24_iterators/range_operations/prev.cc: Likewise.
	* testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
	* testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
	* testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/array/comparison_operators/96851.cc:
	Remove dg-options -std=gnu++2a.
	* testsuite/23_containers/array/comparison_operators/constexpr.cc:
	Likewise.
	* testsuite/23_containers/array/creation/1.cc: Likewise.
	* testsuite/23_containers/array/creation/110167.cc: Likewise.
	* testsuite/23_containers/array/creation/2.cc: Likewise.
	* testsuite/23_containers/array/creation/3_neg.cc: Likewise.
	* testsuite/23_containers/array/requirements/constexpr_fill.cc:
	Likewise.
	* testsuite/23_containers/array/requirements/constexpr_swap.cc:
	Likewise.
	* testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/deque/erasure.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/deque/operators/cmp_c++20.cc:
	Likewise.
	* testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/forward_list/erasure.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
	Likewise.
	* testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
	Likewise.
	* testsuite/23_containers/list/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/list/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/list/erasure.cc: Likewise.
	* testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/list/operations/remove_cxx20_return.cc:
	Likewise.
	* testsuite/23_containers/list/operations/unique_cxx20_return.cc:
	Likewise.
	* testsuite/23_containers/map/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/map/erasure.cc: Likewise.
	* testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/map/operations/contains.cc: Likewise.
	* testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/multimap/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/multimap/operators/cmp_c++20.cc:
	Likewise.
	* testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/multiset/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/multiset/operators/cmp_c++20.cc:
	Likewise.
	* testsuite/23_containers/priority_queue/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/queue/92878_92947.cc: Likewise.
	* testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/set/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/set/erasure.cc: Likewise.
	* testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/set/operations/contains.cc: Likewise.
	* testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/span/1.cc: Likewise.
	* testsuite/23_containers/span/101411.cc: Likewise.
	* testsuite/23_containers/span/2.cc: Likewise.
	* testsuite/23_containers/span/deduction.cc: Likewise.
	* testsuite/23_containers/span/explicit.cc: Likewise.
	* testsuite/23_containers/span/layout_compat.cc: Likewise.
	* testsuite/23_containers/span/lwg3255.cc: Likewise.
	* testsuite/23_containers/span/nothrow_cons.cc: Likewise.
	* testsuite/23_containers/span/trivially_copyable.cc: Likewise.
	* testsuite/23_containers/stack/92878_92947.cc: Likewise.
	* testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/unordered_map/48101-3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.
	* testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/48101-3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/erasure.cc: Likewise.
	* testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/operations/contains.cc:
	Likewise.
	* testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
	* testsuite/23_containers/vector/bool/capacity/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/vector/bool/cons/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/element_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/iterator_c++20.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/capacity/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
	* testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
	* testsuite/23_containers/vector/data_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/element_access/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/erasure.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/version.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
	dg-options -std=gnu++20.
	* testsuite/21_strings/basic_string/cons/char/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/erasure.cc: Likewise.
	* testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string/literals/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/ends_with/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/starts_with/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/cons/char/range.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
	Likewise.
	* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/allocator/105975.cc: Remove dg-options
	-std=gnu++2a.
	* testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
	* testsuite/20_util/allocator/requirements/constexpr.cc:
	Likewise.
	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
	Likewise.
	* testsuite/20_util/allocator_traits/header-2.cc: Likewise.
	* testsuite/20_util/allocator_traits/header.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/92878_92947.cc:
	Likewise.
	* testsuite/20_util/any/assign/92878_92947.cc: Likewise.
	* testsuite/20_util/any/cons/92878_92947.cc: Likewise.
	* testsuite/20_util/assume_aligned/1.cc: Likewise.
	* testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
	* testsuite/20_util/assume_aligned/3.cc: Likewise.
	* testsuite/20_util/assume_aligned/97132.cc: Likewise.
	* testsuite/20_util/bind/constexpr.cc: Likewise.
	* testsuite/20_util/bitset/operations/96303.cc: Likewise.
	* testsuite/20_util/common_reference/100894.cc: Likewise.
	* testsuite/20_util/common_reference/requirements/alias_decl.cc:
	Likewise.
	* testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/common_reference/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/duration/comparison_operators/three_way.cc:
	Likewise.
	* testsuite/20_util/exchange/constexpr.cc: Likewise.
	* testsuite/20_util/exchange/noexcept.cc: Likewise.
	* testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
	* testsuite/20_util/from_chars/compare.cc: Likewise.
	* testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
	* testsuite/20_util/function_objects/bind_front/107784.cc:
	Likewise.
	* testsuite/20_util/function_objects/bind_front/111327.cc:
	Likewise.
	* testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
	* testsuite/20_util/function_objects/bind_front/97101.cc:
	Likewise.
	* testsuite/20_util/function_objects/bind_front/constexpr.cc:
	Likewise.
	* testsuite/20_util/function_objects/constexpr_searcher.cc:
	Likewise.
	* testsuite/20_util/function_objects/identity/1.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/constexpr.cc:
	Likewise.
	* testsuite/20_util/function_objects/mem_fn/constexpr.cc:
	Likewise.
	* testsuite/20_util/function_objects/not_fn/constexpr.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/1.cc: Likewise.
	* testsuite/20_util/integer_comparisons/2.cc: Likewise.
	* testsuite/20_util/integer_comparisons/equal.cc: Likewise.
	* testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
	* testsuite/20_util/integer_comparisons/greater.cc: Likewise.
	* testsuite/20_util/integer_comparisons/greater_equal.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/greater_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
	* testsuite/20_util/integer_comparisons/in_range_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/less.cc: Likewise.
	* testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
	* testsuite/20_util/integer_comparisons/less_equal_neg.cc:
	Likewise.
	* testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
	* testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
	* testsuite/20_util/integer_comparisons/not_equal_neg.cc:
	Likewise.
	* testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_bounded_array/value.cc: Likewise.
	* testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
	* testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
	* testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
	* testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
	Likewise.
	* testsuite/20_util/is_layout_compatible/value.cc: Likewise.
	* testsuite/20_util/is_layout_compatible/version.cc: Likewise.
	* testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
	* testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
	* testsuite/20_util/is_pointer_interconvertible/value.cc:
	Likewise.
	* testsuite/20_util/is_pointer_interconvertible/version.cc:
	Likewise.
	* testsuite/20_util/is_pointer_interconvertible/with_class.cc:
	Likewise.
	* testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
	* testsuite/20_util/optional/assignment/92878_92947.cc:
	Likewise.
	* testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
	* testsuite/20_util/optional/constexpr/assign.cc: Likewise.
	* testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
	* testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
	* testsuite/20_util/optional/constexpr/swap.cc: Likewise.
	* testsuite/20_util/optional/relops/96269.cc: Likewise.
	* testsuite/20_util/optional/relops/three_way.cc: Likewise.
	* testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
	Likewise.
	* testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
	* testsuite/20_util/pair/constexpr_assign.cc: Likewise.
	* testsuite/20_util/pair/constexpr_swap.cc: Likewise.
	* testsuite/20_util/pair/requirements/structural.cc: Likewise.
	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
	Likewise.
	* testsuite/20_util/polymorphic_allocator/allocate_object.cc:
	Likewise.
	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
	Likewise.
	* testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
	* testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
	* testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
	* testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
	Likewise.
	* testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/remove_cvref/value.cc: Likewise.
	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
	* testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/92878_92947.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
	* testsuite/20_util/time_point/4.cc: Likewise.
	* testsuite/20_util/time_point/comparison_operators/three_way.cc:
	Likewise.
	* testsuite/20_util/to_address/1.cc: Likewise.
	* testsuite/20_util/to_address/1_neg.cc: Likewise.
	* testsuite/20_util/to_address/debug.cc: Likewise.
	* testsuite/20_util/to_address/lwg3545.cc: Likewise.
	* testsuite/20_util/to_chars/compare.cc: Likewise.
	* testsuite/20_util/tuple/comparison_operators/three_way.cc:
	Likewise.
	* testsuite/20_util/tuple/cons/102270.cc: Likewise.
	* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
	Likewise.
	* testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
	* testsuite/20_util/type_identity/requirements/alias_decl.cc:
	Likewise.
	* testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/type_identity/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/typeindex/comparison_operators_c++20.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/creation/92878_92947.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
	* testsuite/20_util/unwrap_reference/1.cc: Likewise.
	* testsuite/20_util/unwrap_reference/2.cc: Likewise.
	* testsuite/20_util/unwrap_reference/3.cc: Likewise.
	* testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
	* testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
	* testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
	* testsuite/20_util/uses_allocator/uninitialized_construct.cc:
	Likewise.
	* testsuite/20_util/variant/92878_92947.cc: Likewise.
	* testsuite/20_util/variant/95915.cc: Likewise.
	* testsuite/20_util/variant/constexpr.cc: Likewise.
	* testsuite/20_util/variant/relops/three_way.cc: Likewise.
	* testsuite/20_util/variant/visit_neg.cc: Likewise.
	* testsuite/20_util/variant/visit_r.cc: Likewise.
	* testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/comparisons/algorithms/fallback.cc:
	Remove dg-options -std=gnu++2a.
	* testsuite/18_support/comparisons/algorithms/partial_order.cc:
	Likewise.
	* testsuite/18_support/comparisons/algorithms/strong_order.cc:
	Likewise.
	* testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
	Likewise.
	* testsuite/18_support/comparisons/algorithms/weak_order.cc:
	Likewise.
	* testsuite/18_support/comparisons/categories/94565.cc:
	Likewise.
	* testsuite/18_support/comparisons/categories/partialord.cc:
	Likewise.
	* testsuite/18_support/comparisons/categories/strongord.cc:
	Likewise.
	* testsuite/18_support/comparisons/categories/weakord.cc:
	Likewise.
	* testsuite/18_support/comparisons/categories/zero_neg.cc:
	Likewise.
	* testsuite/18_support/comparisons/common/1.cc: Likewise.
	* testsuite/18_support/comparisons/object/93479.cc: Likewise.
	* testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
	Remove dg-options -std=gnu++2a.
	* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
	* testsuite/29_atomics/atomic/requirements/types_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
	* testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
	* testsuite/29_atomics/atomic_float/1.cc: Likewise.
	* testsuite/29_atomics/atomic_float/95282.cc: Likewise.
	* testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
	* testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/value_init.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
	Likewise.
	* testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/float.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
	Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
	Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
	Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
	* testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
	macro.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
	basic_filebuf members.
	* config/io/basic_file_stdio.cc (__basic_file::native_handle):
	Define new function.
	* config/io/basic_file_stdio.h (__basic_file::native_handle):
	Declare new function.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
	* include/bits/version.def (fstream_native_handles): New macro.
	* include/bits/version.h: Regenerate.
	* include/std/fstream (basic_filebuf::native_handle)
	(basic_fstream::native_handle, basic_ifstream::native_handle)
	(basic_ofstream::native_handle): New functions.
	* src/c++11/Makefile.am: Move compilation of basic_file.cc,
	locale_init.cc and localename.cc to here.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++98/locale_init.cc: Moved to...
	* src/c++11/locale_init.cc: ...here.
	* src/c++98/localename.cc: Moved to...
	* src/c++11/localename.cc: ...here.
	* src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
	and localename.cc from here.
	* src/c++98/Makefile.in: Regenerate.
	* testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
	* testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
	* testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
	* testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
	* testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/libstdc++-dg/conformance.exp: Add log line when
	using testsuite_files.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
	directives.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/allocate.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/cons.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/cons_single.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/is_equal.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/options.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/release.cc:
	Likewise.
	* testsuite/20_util/synchronized_pool_resource/release_single.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
	Likewise.
	* testsuite/30_threads/stop_token/stop_callback/destroy.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/span/back_assert_neg.cc: Remove
	dg-options and add effective target selector to dg-do. Add
	no_pch.
	* testsuite/23_containers/span/back_neg.cc: Likewise.
	* testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/first_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/first_neg.cc: Likewise.
	* testsuite/23_containers/span/front_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/front_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/index_op_neg.cc: Likewise.
	* testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/last_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/last_neg.cc: Likewise.
	* testsuite/23_containers/span/subspan_2_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_3_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_4_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_5_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_6_assert_neg.cc:
	Likewise.
	* testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
	* testsuite/23_containers/span/subspan_neg.cc: Likewise.
	* testsuite/24_iterators/range_operations/advance_debug_neg.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
	dg-options.
	* testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
	* testsuite/18_support/type_info/constexpr.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
	* testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
	* testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
	* testsuite/20_util/bitset/access/constexpr.cc: Likewise.
	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
	* testsuite/20_util/bitset/count/constexpr.cc: Likewise.
	* testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
	* testsuite/20_util/bitset/operations/constexpr_c++23.cc:
	Likewise.
	* testsuite/20_util/bitset/version.cc: Likewise.
	* testsuite/20_util/from_chars/8.cc: Likewise.
	* testsuite/20_util/from_chars/constexpr.cc: Likewise.
	* testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/4.cc: Likewise.
	* testsuite/20_util/function_objects/invoke/dangling_ref.cc:
	Likewise.
	* testsuite/20_util/is_scoped_enum/value.cc: Likewise.
	* testsuite/20_util/is_scoped_enum/version.cc: Likewise.
	* testsuite/20_util/move_only_function/call.cc: Likewise.
	* testsuite/20_util/move_only_function/cons.cc: Likewise.
	* testsuite/20_util/move_only_function/move.cc: Likewise.
	* testsuite/20_util/move_only_function/version.cc: Likewise.
	* testsuite/20_util/optional/monadic/and_then.cc: Likewise.
	* testsuite/20_util/optional/monadic/or_else.cc: Likewise.
	* testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
	* testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
	* testsuite/20_util/optional/monadic/transform.cc: Likewise.
	* testsuite/20_util/pair/p2321r2.cc: Likewise.
	* testsuite/20_util/reference_from_temporary/value.cc: Likewise.
	* testsuite/20_util/reference_from_temporary/value2.cc:
	Likewise.
	* testsuite/20_util/reference_from_temporary/version.cc:
	Likewise.
	* testsuite/20_util/to_chars/constexpr.cc: Likewise.
	* testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
	* testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
	* testsuite/20_util/to_chars/version.cc: Likewise.
	* testsuite/20_util/to_underlying/1.cc: Likewise.
	* testsuite/20_util/to_underlying/version.cc: Likewise.
	* testsuite/20_util/tuple/p2321r2.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
	* testsuite/20_util/unique_ptr/comparison/constexpr.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
	* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
	* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
	* testsuite/20_util/unreachable/1.cc: Likewise.
	* testsuite/20_util/unreachable/version.cc: Likewise.
	* testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/contains/char.cc:
	Likewise.
	* testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
	* testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
	* testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
	* testsuite/23_containers/vector/bool/element_access/1.cc:
	Likewise.
	* testsuite/24_iterators/const_iterator/1.cc: Likewise.
	* testsuite/25_algorithms/contains/1.cc: Likewise.
	* testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
	* testsuite/25_algorithms/find_last/1.cc: Likewise.
	* testsuite/25_algorithms/find_last_if/1.cc: Likewise.
	* testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
	* testsuite/25_algorithms/fold_left/1.cc: Likewise.
	* testsuite/25_algorithms/fold_right/1.cc: Likewise.
	* testsuite/25_algorithms/iota/1.cc: Likewise.
	* testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
	* testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
	* testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
	Likewise.
	* testsuite/26_numerics/numbers/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
	* testsuite/27_io/filesystem/path/native/conv_c++23.cc:
	Likewise.
	* testsuite/27_io/spanstream/1.cc: Likewise.
	* testsuite/27_io/spanstream/2.cc: Likewise.
	* testsuite/27_io/spanstream/version.cc: Likewise.
	* testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
	Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
	Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
	Likewise.
	* testsuite/experimental/filesystem/path/native/conv_c++23.cc:
	Likewise.
	* testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
	Likewise.
	* testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
	* testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
	* testsuite/std/ranges/cartesian_product/1.cc: Likewise.
	* testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
	* testsuite/std/ranges/repeat/1.cc: Likewise.
	* testsuite/std/ranges/version_c++23.cc: Likewise.
	* testsuite/std/ranges/zip/1.cc: Likewise.
	* testsuite/std/ranges/zip_transform/1.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/expected/assign.cc: Remove dg-options.
	* testsuite/20_util/expected/bad.cc: Likewise.
	* testsuite/20_util/expected/cons.cc: Likewise.
	* testsuite/20_util/expected/equality.cc: Likewise.
	* testsuite/20_util/expected/illformed_neg.cc: Likewise.
	* testsuite/20_util/expected/lwg3877.cc: Likewise.
	* testsuite/20_util/expected/lwg3938.cc: Likewise.
	* testsuite/20_util/expected/monadic.cc: Likewise.
	* testsuite/20_util/expected/observers.cc: Likewise.
	* testsuite/20_util/expected/requirements.cc: Likewise.
	* testsuite/20_util/expected/swap.cc: Likewise.
	* testsuite/20_util/expected/synopsis.cc: Likewise.
	* testsuite/20_util/expected/unexpected.cc: Likewise.
	* testsuite/20_util/expected/version.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
	Remove dg-options.
	* testsuite/20_util/duration/io.cc: Likewise.
	* testsuite/std/time/clock/file/io.cc: Likewise.
	* testsuite/std/time/clock/file/members.cc: Likewise.
	* testsuite/std/time/clock/file/overview.cc: Likewise.
	* testsuite/std/time/clock/gps/1.cc: Likewise.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/local/io.cc: Likewise.
	* testsuite/std/time/clock/system/io.cc: Likewise.
	* testsuite/std/time/clock/tai/1.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/1.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
	* testsuite/std/time/day/1.cc: Likewise.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/exceptions.cc: Likewise.
	* testsuite/std/time/format.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/1.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.
	* testsuite/std/time/is_am/1.cc: Likewise.
	* testsuite/std/time/is_pm/1.cc: Likewise.
	* testsuite/std/time/make12/1.cc: Likewise.
	* testsuite/std/time/make24/1.cc: Likewise.
	* testsuite/std/time/month/1.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/month_day/1.cc: Likewise.
	* testsuite/std/time/month_day/io.cc: Likewise.
	* testsuite/std/time/month_day_last/1.cc: Likewise.
	* testsuite/std/time/month_day_last/io.cc: Likewise.
	* testsuite/std/time/month_weekday/1.cc: Likewise.
	* testsuite/std/time/month_weekday/io.cc: Likewise.
	* testsuite/std/time/month_weekday_last/1.cc: Likewise.
	* testsuite/std/time/month_weekday_last/io.cc: Likewise.
	* testsuite/std/time/parse.cc: Likewise.
	* testsuite/std/time/syn_c++20.cc: Likewise.
	* testsuite/std/time/time_zone/get_info_local.cc: Likewise.
	* testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
	* testsuite/std/time/time_zone/requirements.cc: Likewise.
	* testsuite/std/time/traits/is_clock.cc: Likewise.
	* testsuite/std/time/tzdb/1.cc: Likewise.
	* testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
	* testsuite/std/time/tzdb_list/1.cc: Likewise.
	* testsuite/std/time/tzdb_list/requirements.cc: Likewise.
	* testsuite/std/time/weekday/1.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/weekday_indexed/io.cc: Likewise.
	* testsuite/std/time/weekday_last/1.cc: Likewise.
	* testsuite/std/time/weekday_last/io.cc: Likewise.
	* testsuite/std/time/year/1.cc: Likewise.
	* testsuite/std/time/year/2.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/weekday_indexed/1.cc: Likewise.
	* testsuite/std/time/year_month/1.cc: Likewise.
	* testsuite/std/time/year_month/2.cc: Likewise.
	* testsuite/std/time/year_month/io.cc: Likewise.
	* testsuite/std/time/year_month_day/1.cc: Likewise.
	* testsuite/std/time/year_month_day/2.cc: Likewise.
	* testsuite/std/time/year_month_day/3.cc: Likewise.
	* testsuite/std/time/year_month_day/4.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/time/year_month_day_last/1.cc: Likewise.
	* testsuite/std/time/year_month_day_last/2.cc: Likewise.
	* testsuite/std/time/year_month_day_last/io.cc: Likewise.
	* testsuite/std/time/year_month_weekday/1.cc: Likewise.
	* testsuite/std/time/year_month_weekday/2.cc: Likewise.
	* testsuite/std/time/year_month_weekday/3.cc: Likewise.
	* testsuite/std/time/year_month_weekday/io.cc: Likewise.
	* testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
	* testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
	* testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
	* testsuite/std/time/zoned_time/1.cc: Likewise.
	* testsuite/std/time/zoned_time/custom.cc: Likewise.
	* testsuite/std/time/zoned_time/deduction.cc: Likewise.
	* testsuite/std/time/zoned_time/io.cc: Likewise.
	* testsuite/std/time/zoned_time/req_neg.cc: Likewise.
	* testsuite/std/time/zoned_time/requirements.cc: Likewise.
	* testsuite/std/time/zoned_traits.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/format/arguments/args.cc: Remove dg-options.
	* testsuite/std/format/arguments/lwg3810.cc: Likewise.
	* testsuite/std/format/error.cc: Likewise.
	* testsuite/std/format/format_string.cc: Likewise.
	* testsuite/std/format/formatter/concept.cc: Likewise.
	* testsuite/std/format/formatter/ext_float.cc: Likewise.
	* testsuite/std/format/formatter/requirements.cc: Likewise.
	* testsuite/std/format/functions/107871.cc: Likewise.
	* testsuite/std/format/functions/format.cc: Likewise.
	* testsuite/std/format/functions/format_to.cc: Likewise.
	* testsuite/std/format/functions/format_to_n.cc: Likewise.
	* testsuite/std/format/functions/size.cc: Likewise.
	* testsuite/std/format/functions/vformat_to.cc: Likewise.
	* testsuite/std/format/parse_ctx.cc: Likewise.
	* testsuite/std/format/string.cc: Likewise.
	* testsuite/std/format/string_neg.cc: Likewise.
	* testsuite/std/format/functions/format_c++23.cc: Removed.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/function_objects/range.cmp/equal_to.cc:
	Remove dg-options.
	* testsuite/20_util/function_objects/range.cmp/greater.cc:
	Likewise.
	* testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
	Likewise.
	* testsuite/20_util/function_objects/range.cmp/less.cc:
	Likewise.
	* testsuite/20_util/function_objects/range.cmp/less_equal.cc:
	Likewise.
	* testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
	Likewise.
	* testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/construct_at/1.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
	* testsuite/25_algorithms/adjacent_find/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
	* testsuite/25_algorithms/all_of/constrained.cc: Likewise.
	* testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
	* testsuite/25_algorithms/any_of/constrained.cc: Likewise.
	* testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
	* testsuite/25_algorithms/binary_search/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/clamp/constrained.cc: Likewise.
	* testsuite/25_algorithms/constexpr_macro.cc: Likewise.
	* testsuite/25_algorithms/copy/95578.cc: Likewise.
	* testsuite/25_algorithms/copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
	Likewise.
	* testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
	* testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
	* testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
	* testsuite/25_algorithms/count/constexpr.cc: Likewise.
	* testsuite/25_algorithms/count/constrained.cc: Likewise.
	* testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/count_if/constrained.cc: Likewise.
	* testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
	* testsuite/25_algorithms/equal/95578.cc: Likewise.
	* testsuite/25_algorithms/equal/constexpr.cc: Likewise.
	* testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
	* testsuite/25_algorithms/equal/constrained.cc: Likewise.
	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
	Likewise.
	* testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
	* testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
	* testsuite/25_algorithms/fill/94017.cc: Likewise.
	* testsuite/25_algorithms/fill/constexpr.cc: Likewise.
	* testsuite/25_algorithms/fill/constrained.cc: Likewise.
	* testsuite/25_algorithms/fill_n/94017.cc: Likewise.
	* testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
	* testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
	* testsuite/25_algorithms/find/constexpr.cc: Likewise.
	* testsuite/25_algorithms/find/constrained.cc: Likewise.
	* testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
	* testsuite/25_algorithms/find_end/constrained.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
	* testsuite/25_algorithms/find_first_of/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/find_if/constrained.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
	* testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
	* testsuite/25_algorithms/for_each/constrained.cc: Likewise.
	* testsuite/25_algorithms/generate/constexpr.cc: Likewise.
	* testsuite/25_algorithms/generate/constrained.cc: Likewise.
	* testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
	* testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
	* testsuite/25_algorithms/heap/constrained.cc: Likewise.
	* testsuite/25_algorithms/includes/constrained.cc: Likewise.
	* testsuite/25_algorithms/inplace_merge/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
	* testsuite/25_algorithms/is_permutation/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
	* testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
	* testsuite/25_algorithms/is_sorted_until/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/is_sorted_until/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare/93972.cc:
	Likewise.
	* testsuite/25_algorithms/lexicographical_compare/95578.cc:
	Likewise.
	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/lexicographical_compare/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
	Likewise.
	* testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
	Likewise.
	* testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
	Likewise.
	* testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/max/constrained.cc: Likewise.
	* testsuite/25_algorithms/max_element/constrained.cc: Likewise.
	* testsuite/25_algorithms/merge/constexpr.cc: Likewise.
	* testsuite/25_algorithms/merge/constrained.cc: Likewise.
	* testsuite/25_algorithms/min/constrained.cc: Likewise.
	* testsuite/25_algorithms/min_element/constrained.cc: Likewise.
	* testsuite/25_algorithms/minmax/constrained.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
	* testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
	* testsuite/25_algorithms/move/93872.cc: Likewise.
	* testsuite/25_algorithms/move/95578.cc: Likewise.
	* testsuite/25_algorithms/move/constexpr.cc: Likewise.
	* testsuite/25_algorithms/move/constrained.cc: Likewise.
	* testsuite/25_algorithms/move_backward/93872.cc: Likewise.
	* testsuite/25_algorithms/move_backward/95578.cc: Likewise.
	* testsuite/25_algorithms/move_backward/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/next_permutation/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/next_permutation/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
	* testsuite/25_algorithms/none_of/constrained.cc: Likewise.
	* testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
	* testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
	* testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/partial_sort_copy/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/partition/constexpr.cc: Likewise.
	* testsuite/25_algorithms/partition/constrained.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/partition_point/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/partition_point/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/prev_permutation/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/prev_permutation/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/remove/constexpr.cc: Likewise.
	* testsuite/25_algorithms/remove/constrained.cc: Likewise.
	* testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/remove_copy_if/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
	* testsuite/25_algorithms/replace/constrained.cc: Likewise.
	* testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/replace_copy_if/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/replace_copy_if/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
	* testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
	* testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
	* testsuite/25_algorithms/reverse/constrained.cc: Likewise.
	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
	* testsuite/25_algorithms/rotate/constrained.cc: Likewise.
	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/sample/constrained.cc: Likewise.
	* testsuite/25_algorithms/search/constexpr.cc: Likewise.
	* testsuite/25_algorithms/search/constrained.cc: Likewise.
	* testsuite/25_algorithms/search_n/97828.cc: Likewise.
	* testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
	* testsuite/25_algorithms/search_n/constrained.cc: Likewise.
	* testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
	* testsuite/25_algorithms/set_difference/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/set_intersection/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/set_intersection/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
	Likewise.
	* testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
	* testsuite/25_algorithms/set_union/constrained.cc: Likewise.
	* testsuite/25_algorithms/shift_left/1.cc: Likewise.
	* testsuite/25_algorithms/shift_right/1.cc: Likewise.
	* testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
	* testsuite/25_algorithms/sort/constexpr.cc: Likewise.
	* testsuite/25_algorithms/sort/constrained.cc: Likewise.
	* testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/constrained.cc:
	Likewise.
	* testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
	* testsuite/25_algorithms/swap/constexpr.cc: Likewise.
	* testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
	* testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
	* testsuite/25_algorithms/transform/constexpr.cc: Likewise.
	* testsuite/25_algorithms/transform/constrained.cc: Likewise.
	* testsuite/25_algorithms/unique/constexpr.cc: Likewise.
	* testsuite/25_algorithms/unique/constrained.cc: Likewise.
	* testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
	* testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
	Likewise.
	* testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/concepts/1.cc: Remove dg-options.
	* testsuite/std/concepts/2.cc: Likewise.
	* testsuite/std/concepts/concepts.callable/invocable.cc:
	Likewise.
	* testsuite/std/concepts/concepts.callable/regular_invocable.cc:
	Likewise.
	* testsuite/std/concepts/concepts.callable/relation.cc:
	Likewise.
	* testsuite/std/concepts/concepts.callable/strictweakorder.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.common/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.same/1.cc:
	Likewise.
	* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
	* testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
	* testsuite/std/concepts/concepts.object/movable.cc: Likewise.
	* testsuite/std/concepts/concepts.object/regular.cc: Likewise.
	* testsuite/std/concepts/concepts.object/semiregular.cc:
	Likewise.
	* testsuite/std/ranges/97600.cc: Likewise.
	* testsuite/std/ranges/access/101782.cc: Likewise.
	* testsuite/std/ranges/access/begin.cc: Likewise.
	* testsuite/std/ranges/access/begin_neg.cc: Likewise.
	* testsuite/std/ranges/access/cbegin.cc: Likewise.
	* testsuite/std/ranges/access/cdata.cc: Likewise.
	* testsuite/std/ranges/access/cend.cc: Likewise.
	* testsuite/std/ranges/access/crbegin.cc: Likewise.
	* testsuite/std/ranges/access/crend.cc: Likewise.
	* testsuite/std/ranges/access/data.cc: Likewise.
	* testsuite/std/ranges/access/empty.cc: Likewise.
	* testsuite/std/ranges/access/end.cc: Likewise.
	* testsuite/std/ranges/access/end_neg.cc: Likewise.
	* testsuite/std/ranges/access/lwg3467.cc: Likewise.
	* testsuite/std/ranges/access/p2602.cc: Likewise.
	* testsuite/std/ranges/access/rbegin.cc: Likewise.
	* testsuite/std/ranges/access/rend.cc: Likewise.
	* testsuite/std/ranges/access/size.cc: Likewise.
	* testsuite/std/ranges/access/size_neg.cc: Likewise.
	* testsuite/std/ranges/access/ssize.cc: Likewise.
	* testsuite/std/ranges/adaptors/100479.cc: Likewise.
	* testsuite/std/ranges/adaptors/100577.cc: Likewise.
	* testsuite/std/ranges/adaptors/93978.cc: Likewise.
	* testsuite/std/ranges/adaptors/95322.cc: Likewise.
	* testsuite/std/ranges/adaptors/99433.cc: Likewise.
	* testsuite/std/ranges/adaptors/all.cc: Likewise.
	* testsuite/std/ranges/adaptors/common.cc: Likewise.
	* testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
	Likewise.
	* testsuite/std/ranges/adaptors/counted.cc: Likewise.
	* testsuite/std/ranges/adaptors/detail/copyable_box.cc:
	Likewise.
	* testsuite/std/ranges/adaptors/drop.cc: Likewise.
	* testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
	* testsuite/std/ranges/adaptors/elements.cc: Likewise.
	* testsuite/std/ranges/adaptors/filter.cc: Likewise.
	* testsuite/std/ranges/adaptors/join.cc: Likewise.
	* testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
	* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
	* testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
	* testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
	* testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
	* testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
	* testsuite/std/ranges/adaptors/p1739.cc: Likewise.
	* testsuite/std/ranges/adaptors/p2281.cc: Likewise.
	* testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
	* testsuite/std/ranges/adaptors/reverse.cc: Likewise.
	* testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
	* testsuite/std/ranges/adaptors/split.cc: Likewise.
	* testsuite/std/ranges/adaptors/take.cc: Likewise.
	* testsuite/std/ranges/adaptors/take_while.cc: Likewise.
	* testsuite/std/ranges/adaptors/transform.cc: Likewise.
	* testsuite/std/ranges/empty_view.cc: Likewise.
	* testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
	* testsuite/std/ranges/iota/difference_type.cc: Likewise.
	* testsuite/std/ranges/iota/iota_view.cc: Likewise.
	* testsuite/std/ranges/iota/iterator.cc: Likewise.
	* testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
	* testsuite/std/ranges/iota/max_size_type.cc: Likewise.
	* testsuite/std/ranges/istream_view.cc: Likewise.
	* testsuite/std/ranges/p2259.cc: Likewise.
	* testsuite/std/ranges/p2325.cc: Likewise.
	* testsuite/std/ranges/p2367.cc: Likewise.
	* testsuite/std/ranges/range.cc: Likewise.
	* testsuite/std/ranges/refinements.cc: Likewise.
	* testsuite/std/ranges/safe_range.cc: Likewise.
	* testsuite/std/ranges/safe_range_types.cc: Likewise.
	* testsuite/std/ranges/single_view.cc: Likewise.
	* testsuite/std/ranges/sized.cc: Likewise.
	* testsuite/std/ranges/subrange/1.cc: Likewise.
	* testsuite/std/ranges/subrange/97512.cc: Likewise.
	* testsuite/std/ranges/subrange/constexpr.cc: Likewise.
	* testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
	* testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
	* testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
	* testsuite/std/ranges/subrange/sizeof.cc: Likewise.
	* testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
	* testsuite/std/ranges/view.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
	Remove dg-options.
	* testsuite/23_containers/span/contiguous_range_neg.cc:
	Likewise.
	* testsuite/23_containers/span/everything.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/24_iterators/reverse_iterator/100639.cc: Remove
	dg-options and add dg-add-options strict_std.
	* testsuite/std/ranges/iota/93267.cc: Likewise.
	* testsuite/std/ranges/iota/96042.cc: Likewise.
	* testsuite/std/ranges/iota/size.cc: Likewise.
	* testsuite/std/ranges/subrange/96042.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
	Replace dg-options -std=c++17 with dg-add-options strict_std.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
	Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/deque/48101-2_neg.cc: Replace
	dg-options with target selector.
	* testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/list/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/map/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/map/48101_neg.cc: Likewise.
	* testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
	* testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/set/48101-2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/48101-2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/48101-2_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/48101-2_neg.cc: Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Update documentation on running and
	writing tests.
	* doc/html/manual/test.html: Regenerate.
	* testsuite/Makefile.am: Add v3-use-std-list to site.tmp
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/dg-options.exp (add_options_for_strict_std): New
	proc.
	* testsuite/lib/libstdc++.exp (search_for): New utility proc.
	(v3-dg-runtest): New proc to replace dg-runtest.
	* testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
	Fix test to work for C++23 and C++26 too.

2023-09-15  Patrick Palka  <ppalka@redhat.com>

	* include/std/bit: Include <concepts>.
	(byteswap): Use a type-constraint instead of enable_if_t
	inside the return type, and use std::integral.
	(_If_is_unsigned_integer): Replace with ...
	(__unsigned_integer): ... this.
	(rotl): Use a type-constraint instead of enable_if_t inside
	the return type.
	(countl_zero): Likewise.
	(countl_one): Likewise.
	(countr_zero): Likewise.
	(countr_one): Likewise.
	(popcount): Likewise.
	(has_single_bit): Likewise.
	(bit_ceil): Likewise.
	(bit_floor): Likewise.
	(bit_width): Likewise.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (variant): Remove derivation from
	_Enable_default_constructor base class.
	(variant::variant()): Constrain.
	* testsuite/20_util/variant/default_ctor.cc: New test.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111172
	* include/std/variant (get<T>): Remove !is_void static
	assertions.

2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (to_chars): Define new value for
	C++26.
	* include/bits/version.h: Regenerate.
	* include/std/charconv (to_chars_result::operator bool): New
	function.
	(from_chars_result::operator bool): New function.
	* testsuite/20_util/to_chars/version.cc: Update expected value.
	* testsuite/20_util/from_chars/result.cc: New test.
	* testsuite/20_util/to_chars/result.cc: New test.

2023-09-14  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/111357
	* testsuite/20_util/integer_sequence/pr111357.cc: New test.

2023-09-14  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
	dg-additional-files. Remove @require@ and @diff@ comments.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
	* testsuite/lib/dg-options.exp (v3_additional_files): New
	global variable.
	(dg-additional-files): New proc.
	* testsuite/lib/libstdc++.exp (v3_target_compile): Copy
	additional files to test directory.

2023-09-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
	Use a plain integer for _M_work_count for single-threaded
	targets.
	* include/experimental/memory_resource (__get_default_resource)
	[!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
	single-threaded targets.
	* src/c++17/default_resource.h: Adjust preprocessor conditions
	to match memory_resource.cc.
	* src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
	(atomic_mem_res): Use unsynchronized type for single-threaded
	targets.

2023-09-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
	* testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.

2023-09-14  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
	{ dg-require-normal-namespace "" }.

2023-09-13  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/format (std::__format::_Arg_store): Explicit version
	namespace on make_format_args friend declaration.

2023-09-12  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/111327
	* include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
	a deleted fallback operator() overload.  Constrain both the
	enabled and deleted overloads accordingly.
	* testsuite/20_util/function_objects/not_fn/111327.cc: New test.

2023-09-12  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/111327
	* include/std/functional (_Bind_front::operator()): Add deleted
	fallback overloads for each const/ref qualifier pair.  Give the
	enabled overloads dummy constraints to make each one more
	specialized than the corresponding deleted overload.
	* testsuite/20_util/function_objects/bind_front/111327.cc: New test.

2023-09-12  Patrick Palka  <ppalka@redhat.com>

	* include/std/functional (_Bind_front0): Remove.
	(_Bind_front_t): Adjust.

2023-09-12  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py: Reformat.
	* python/libstdcxx/v6/xmethods.py: Likewise.

2023-09-11  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
	function.
	(reset_sequence_ptr): New function.
	(_Safe_iterator_base::_M_detach)
	(_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
	with acquire_sequence_ptr_for_lock.
	(_Safe_iterator_base::_M_reset): Replace bare atomic_store with
	reset_sequence_ptr.

2023-09-11  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/Makefile.am: Add new file.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
	* src/c++11/assert_fail.cc: New file.

2023-09-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
	(_GLIBCXX_USE_BUILTIN_TRAIT): Define.

2023-09-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (__cpp_lib_formatters): Define.
	* include/bits/version.h: Regenerate.
	* include/std/stacktrace (formatter<stacktrace_entry>)
	(formatter<basic_stacktrace<Alloc>>): Define.
	* include/std/thread (formatter<thread::id, charT>): Define.
	* testsuite/19_diagnostics/stacktrace/output.cc: New test.
	* testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
	std::formatter specializations.
	* testsuite/19_diagnostics/stacktrace/version.cc: Check
	__cpp_lib_formatters macro.
	* testsuite/30_threads/thread/id/hash.cc: Remove gthreads
	dependency.
	* testsuite/30_threads/thread/id/operators.cc: Likewise.
	* testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
	* testsuite/30_threads/thread/id/output.cc: New test.

2023-09-11  Pekka Seppänen  <pexu@gcc.mail.kapsi.fi>

	* src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
	* src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
	* src/filesystem/path.cc (path::_S_convert_loc): Likewise.

2023-09-08  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
	* configure: Regenerate.
	* doc/html/manual/*: Regenerate.
	* doc/xml/manual/using.xml: Update documentation on linking.
	* include/std/stacktrace: Remove declarations of libbacktrace
	APIs.
	(stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
	Remove.
	(stacktrace_entry::_Info): New class.
	(stacktrace_entry::_M_get_info): Use _Info.
	(__stacktrace_impl): New class.
	(basic_stacktrace): Derive from __stacktrace_impl.
	(basic_stacktrace::current): Use __stacktrace_impl::_S_current.
	* scripts/testsuite_flags.in: Adjust LDFLAGS to find
	libstdc++exp instead of libstdc++_libbacktrace.
	* src/Makefile.am (SUBDIRS): Add c++23 directory.
	* src/Makefile.in: Regenerate.
	* src/c++20/Makefile.am: Fix comment.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++23/Makefile.am: New file.
	* src/c++23/Makefile.in: New file.
	* src/c++23/stacktrace.cc: New file with definitions of
	stacktrace_entry::_Info and __stacktrace_impl members.
	* src/experimental/Makefile.am: Use LIBADD to include other
	libraries.
	* src/experimental/Makefile.in: Regenerate.
	* src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
	* src/libbacktrace/Makefile.in: Regenerate.
	* testsuite/19_diagnostics/stacktrace/current.cc: Adjust
	dg-options to use -lstdc++exp.
	* testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
	Likewise.

2023-09-08  Alexey Lapshin  <alexey.lapshin@espressif.com>

	* src/libbacktrace/Makefile.am: Remove -Werror.
	* src/libbacktrace/Makefile.in: Regenerate.

2023-09-08  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
	* testsuite/Makefile.in: Regenerate.

2023-09-08  Yang Yujie  <yangyujie@loongson.cn>

	* configure.host: Register t-loongarch in tmake_file.
	* config/cpu/loongarch/t-loongarch: New file.  Manually refresh
	MULTISUBDIR with $(shell $(CXX) --print-multi-directory).

2023-09-07  Bruno Victal  <mirai@makinata.eu>

	* acinclude.m4: Update docbook xsl URI.
	* configure: Regenerate.

2023-09-07  Bruno Victal  <mirai@makinata.eu>

	* doc/Makefile.am: Fix 'doc-install-info' rule.
	Fix typo in commment.
	* doc/Makefile.in: Regenerate.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
	dg-do target selector.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/config/default.exp: Remove trailing whitespace.
	* testsuite/lib/dg-options.exp: Likewise.
	* testsuite/lib/prune.exp: Likewise.
	* testsuite/libstdc++-abi/abi.exp: Likewise.
	* testsuite/libstdc++-dg/conformance.exp: Likewise.
	* testsuite/libstdc++-prettyprinters/prettyprinters.exp:
	Likewise.
	* testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
	* testsuite/lib/libstdc++.exp: Likewise.
	(check_v3_target_c_std): Fix filename for temporary source file.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
	chmod, chdir, and getcwd.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
	(fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
	(fs::permissions): Use USE_CHMOD macro.
	* src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
	(chmod, mkdir, getcwd, chdir): Define new macros.
	[FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
	new macros.
	* src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
	(fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
	(fs::permissions): Use USE_CHMOD macro.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
	for avr.
	* configure: Regenerate.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/unordered_map/operations/1.cc: Add
	dg-options for C++20 mode.
	* testsuite/23_containers/unordered_multimap/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/operations/1.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/operations/1.cc:
	Likewise.
	* testsuite/std/time/parse.cc: Move dg-options before dg-do.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
	compatibility.
	* testsuite/std/ranges/access/cdata.cc: Likewise.
	* testsuite/std/ranges/access/cend.cc: Likewise.
	* testsuite/std/ranges/access/crbegin.cc: Likewise.
	* testsuite/std/ranges/access/crend.cc: Likewise.
	* testsuite/std/ranges/adaptors/take.cc: Likewise.
	* testsuite/std/ranges/adaptors/take_while.cc: Likewise.
	* testsuite/std/ranges/adaptors/transform.cc: Likewise.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/iterator_concepts.h (__imove::iter_move): Define
	poison pill as deleted for consistency.
	(__access::begin): Replace with a single declaration.
	* include/bits/ranges_base.h (__access::end, __access::rbegin)
	(__access::rend, __access::size): Likewise.
	* include/bits/version.def (ranges): Update value for C++23.
	* include/bits/version.h: Regenerate.
	* libsupc++/compare (__compare): Add missing poison pill
	overloads.
	* testsuite/std/ranges/version_c++23.cc: Adjust expected value
	of __cpp_lib_ranges.
	* testsuite/std/ranges/access/p2602.cc: New test.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/iterator_concepts.h (ranges::__cust_imove):
	Rename to ranges::__imove.
	(_IMove): Rename to _IterMove.
	(ranges::__cust_iswap): Rename to ranges::__iswap.
	(ranges::__cust): Rename to ranges::_Cpo.
	(ranges::__cust_access): Rename to ranges::__access.
	* include/bits/ranges_base.h (ranges::__cust_access): Rename to
	ranges::__access.
	(ranges::__cust): Rename to ranges::_Cpo.
	* include/std/concepts (ranges::__cust_swap):  Rename to
	ranges::__swap.
	(ranges::__cust): Rename to ranges::_Cpo.
	* libsupc++/compare (__cmp_cust): Rename to __compare.
	(__cmp_algo): Rename to _Cpo.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (ranges): Update value.
	* include/bits/version.h: Regenerate.
	* include/std/ranges (__detail::__boxable): Use
	move_constructible instead of copy_constructible for C++23.
	(__detail::__box<T>): Adjust constraints for partial
	specialization.
	(single_view, transform_view): Use __box_constructible instead
	of copy_constructible in constraints.
	(zip_transform_view, adjacent_transform_view, repeat_view): Use
	move_constructible instead of copy_constructible in constraints.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
	construction from move-only argument.
	* testsuite/std/ranges/adaptors/transform.cc: Likewise.
	* testsuite/std/ranges/repeat/1.cc: Likewise.
	* testsuite/std/ranges/single_view.cc: Likewise.
	* testsuite/std/ranges/zip_transform/1.cc: Likewise.
	* testsuite/std/ranges/version_c++23.cc: Adjust expected value
	of __cpp_lib_ranges.

2023-09-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_iterators.h (is_customization_point_object):
	Remove parameter name.

2023-09-06  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
	for freestanding.
	* configure: Regenerate.

2023-09-04  Christophe Lyon  <christophe.lyon@linaro.org>

	Revert
	2023-09-04  Christophe Lyon  <christophe.lyon@linaro.org>

	PR libstdc++/111238
	* configure: Regenerate.
	* configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
	non-Canadian builds.

2023-09-04  Christophe Lyon  <christophe.lyon@linaro.org>

	PR libstdc++/111238
	* configure: Regenerate.
	* configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
	non-Canadian builds.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/complex/literals/types.cc: Remove
	dg-options and add target selector instead.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
	and qualify ambiguous calls to get.
	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
	expected result for std::pow(float, int) as per DR 550.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
	and add dg-warning for deprecation warnings.
	* testsuite/20_util/auto_ptr/2.cc: Likewise.
	* testsuite/20_util/auto_ptr/3.cc: Likewise.
	* testsuite/20_util/auto_ptr/3946.cc: Likewise.
	* testsuite/20_util/auto_ptr/4.cc: Likewise.
	* testsuite/20_util/auto_ptr/5.cc: Likewise.
	* testsuite/20_util/auto_ptr/6.cc: Likewise.
	* testsuite/20_util/auto_ptr/7.cc: Likewise.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
	* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
	Likewise.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/26142
	* testsuite/23_containers/vector/26412-1.cc: Moved to...
	* testsuite/23_containers/vector/26142-1.cc: ...here.
	* testsuite/23_containers/vector/26412-2.cc: Moved to...
	* testsuite/23_containers/vector/26142-2.cc: ...here.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
	* testsuite/26_numerics/complex/56111.cc: Likewise.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
	Add dg-options to restrict the test to C++98 mode.
	* testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
	Likewise.

2023-09-04  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/expected/bad.cc: Add missing target
	selector.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
	expected errors.
	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
	Likewise.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/filesystem/iterators/91067.cc: Add
	-Wno-self-move to options.
	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.

2023-09-01  Vladimir Palevich  <palevichva@gmail.com>

	PR libstdc++/110879
	* include/bits/vector.tcc (_M_realloc_insert): End guard
	lifetime just before assignment to class members.
	(_M_default_append): Likewise.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
	Use __resize_and_overwrite to fill buffer.
	(fs::read_symlink) [HAVE_READLINK]: Likewise.
	* src/filesystem/ops-common.h (get_temp_directory_from_env)
	[FILESYSTEM_IS_WINDOWS]: Likewise.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111077
	* include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
	Add _AtomicRef non-type template parameter and use a loop if it
	is true.
	(__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
	(__atomic_impl::compare_exchange_strong): Likewise.
	(atomic_ref::compare_exchange_weak): Use true for NTTP.
	(atomic_ref::compare_exchange_strong): Use true for NTTP.
	* testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
	Fix test to not rely on atomic_ref::load() to return an object
	with padding preserved.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
	filesystem support.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
	for POSIX readlink before using filesystem::read_symlink.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
	* configure: Regenerate.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (_Parser::operator()): Set failbit
	early if invalid values are read when _M_need & _TimeOfDay is
	non-zero.
	* testsuite/std/time/parse.cc: Check that "25:59" cannot be
	parsed for "%H:%M".

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111162
	* include/bits/chrono_io.h (_Parser::Operator()): Check %C
	values are in range of year::min() to year::max().
	* testsuite/std/time/parse.cc: Check out of range centuries.

2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Sink::_M_reset): Change second
	argument from iterator to offset.

2023-08-24  Paul Dreik  <gccpatches@pauldreik.se>

	PR libstdc++/111102
	* testsuite/std/format/string.cc: Check wide character format
	strings with out-of-range widths.

2023-08-24  Paul Dreik  <gccpatches@pauldreik.se>

	PR libstdc++/111102
	* include/std/format (__format::__parse_integer): Check for
	non-null pointer.

2023-08-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/format/functions/format_to.cc: Avoid warning for
	unused variables.

2023-08-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/atomic: Add comment to #ifdef and fix indentation.
	* include/std/ostream: Check __glibcxx_syncbuf instead of
	__cplusplus and _GLIBCXX_HOSTED.
	* include/std/thread: Add comment to #ifdef.

2023-08-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (__cpp_lib_ratio): Define.
	* include/bits/version.h: Regenerate.
	* include/std/ratio (quecto, ronto, yocto, zepto)
	(zetta, yotta, ronna, quetta): Define.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
	dg-error line numbers.

2023-08-24  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (StdLocalePrinter): New
	printer class.
	* testsuite/libstdc++-prettyprinters/locale.cc: New test.

2023-08-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110944
	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
	not show template arguments.
	(StdVariantPrinter): Likewise.
	* testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
	output.
	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.

2023-08-23  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/util/replacement_memory_operators.h
	(counter::scope): New, capture and reset counter count at construction and
	restore it at destruction.
	(counter::check_new): Add scope instantiation.
	* testsuite/23_containers/unordered_map/96088.cc (main):
	Add counter::scope instantiation.
	* testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
	* testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
	* testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
	* testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
	* testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
	* testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
	* testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
	(operator new(size_t)): Check started.
	(main): Set/Unset started.
	* testsuite/17_intro/no_library_allocation.cc: New test case.

2023-08-21  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
	Call std::set_terminate before throwing the nested exception.

2023-08-18  Jonathan Wakely  <jwakely@redhat.com>

	PR target/111060
	* include/std/format (formatter): Only define specializations
	for 16-bit floating-point types for C++23.
	* include/std/limits (numeric_limits): Likewise.

2023-08-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (operator<<): Make uses of wide
	strings with streams and std::format type-dependent on _CharT.
	* include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
	__to_wstring_numeric.

2023-08-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (operator<<): Use __format_context.
	* include/std/format (__format::__format_context): New alias
	template.
	[!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
	Disable.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	Revert:
	2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/generic/c_locale.cc (__convert_to_v): Reuse
	double overload for long double if possible.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
	std::string_view.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/generic/c_locale.cc (__convert_to_v): Reuse
	double overload for long double if possible.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++98/localename.cc (is_C_locale): New function.
	(locale::locale(const char*)): Use is_C_locale.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110945
	* include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
	Dispatch to _M_replace or move assignment from a temporary,
	based on the iterator type.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (formatter): Add partial specializations
	for extended floating-point types.
	* testsuite/std/format/functions/format.cc: Move test_float128()
	to ...
	* testsuite/std/format/formatter/ext_float.cc: New test.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
	whenever __BFLT16_DIG__ is defined, not only for C++23.
	* include/std/limits (numeric_limits<bfloat16_t>): Likewise.
	(numeric_limits<_Float16>, numeric_limits<_Float32>)
	(numeric_limits<_Float64>): Likewise for other extended
	floating-point types.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (address_v4::to_string): Remove
	unused parameter name.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
	* testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
	excess errors caused by invalid consteval calls.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__units_suffix_misc): Remove.
	(__units_suffix): Return a known suffix as string view, do not
	write unknown suffixes to a buffer.
	(__fmt_units_suffix): New function that formats the suffix using
	std::format_to.
	(operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
	(__chrono_formatter::_M_Z): Correct lifetime of wstring.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
	string formatters with this macro.
	(__formatter_int::_M_format_int, __formatter_fp::format)
	(formatter<const void*, C>::format): Use __to_wstring_numeric
	instead of std::ctype::widen.
	(__formatter_fp::_M_localize): Use hardcoded wchar_t values
	instead of std::ctype::widen.
	* testsuite/std/format/functions/format.cc: Add more checks for
	wstring formatting of arithmetic types.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (to_string(floating-point-type)):
	Implement using std::to_chars for C++26.
	* include/bits/version.def (__cpp_lib_to_string): Define.
	* include/bits/version.h: Regenerate.
	* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
	Adjust expected result in C++26 mode.
	* testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
	New test.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
	New test.
	* testsuite/21_strings/basic_string/numeric_conversions/version.cc:
	New test.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (to_string(integral-type)): Use
	resize_and_overwrite when available.
	(__to_wstring_numeric): New helper functions.
	(to_wstring): Use std::to_string then __to_wstring_numeric.
	* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
	Remove check for no excess capacity.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.h (__resize_and_overwrite): New
	function.
	* include/bits/basic_string.tcc (__resize_and_overwrite): New
	function.
	(resize_and_overwrite): Simplify by using reserve instead of
	growing the string manually. Adjust for C++11 compatibility.
	* include/bits/cow_string.h (resize_and_overwrite): New
	function.
	(__resize_and_overwrite): New function.
	* include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
	Do not depend on cxx11abi.
	* include/bits/version.h: Regenerate.
	* include/std/format (__formatter_fp::_S_resize_and_overwrite):
	Remove.
	(__formatter_fp::format, __formatter_fp::_M_localize): Use
	__resize_and_overwrite instead of _S_resize_and_overwrite.
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
	Adjust for C++11 compatibility when included by ...
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
	New test.

2023-08-17  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex.h (regex_iterator::iterator_concept):
	Define for C++20 as per P2770R0.
	(regex_token_iterator::iterator_concept): Likewise.
	* include/std/ranges (__detail::__as_lvalue): Define.
	(join_view::_Iterator): Befriend join_view.
	(join_view::_Iterator::_M_satisfy): Use _M_get_outer
	instead of _M_outer.
	(join_view::_Iterator::_M_get_outer): Define.
	(join_view::_Iterator::_Iterator): Split constructor taking
	_Parent argument into two as per P2770R0.  Remove constraint on
	default constructor.
	(join_view::_Iterator::_M_outer): Make this data member present
	only when the underlying range is forward.
	(join_view::_Iterator::operator++): Use _M_get_outer instead of
	_M_outer.
	(join_view::_Iterator::operator--): Use __as_lvalue helper.
	(join_view::_Iterator::operator==): Adjust constraints as per
	P2770R0.
	(join_view::_Sentinel::__equal): Use _M_get_outer instead of
	_M_outer.
	(join_view::_M_outer): New data member when the underlying range
	is non-forward.
	(join_view::begin): Adjust definition as per P2770R0.
	(join_view::end): Likewise.
	(join_with_view::_M_outer_it): New data member when the
	underlying range is non-forward.
	(join_with_view::begin): Adjust definition as per P2770R0.
	(join_with_view::end): Likewise.
	(join_with_view::_Iterator::_M_outer_it): Make this data member
	present only when the underlying range is forward.
	(join_with_view::_Iterator::_M_get_outer): Define.
	(join_with_view::_Iterator::_Iterator): Split constructor
	taking _Parent argument into two as per P2770R0.  Remove
	constraint on default constructor.
	(join_with_view::_Iterator::_M_update_inner): Adjust definition
	as per P2770R0.
	(join_with_view::_Iterator::_M_get_inner): Likewise.
	(join_with_view::_Iterator::_M_satisfy): Adjust calls to
	_M_get_inner.  Use _M_get_outer instead of _M_outer_it.
	(join_with_view::_Iterator::operator==): Adjust constraints
	as per P2770R0.
	(join_with_view::_Sentinel::operator==): Use _M_get_outer
	instead of _M_outer_it.
	* testsuite/std/ranges/adaptors/p2770r0.cc: New test.

2023-08-17  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108827
	* include/std/ranges (__adaptor::_RangeAdaptorClosure):
	Convert into a CRTP class template.  Move hidden operator|
	friends into namespace scope and adjust their constraints.
	(__closure::__is_range_adaptor_closure_fn): Define.
	(__closure::__is_range_adaptor_closure): Define.
	(__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
	(__adaptor::_Pipe): Likewise.
	(views::_All): Likewise.
	(views::_Join): Likewise.
	(views::_Common): Likewise.
	(views::_Reverse): Likewise.
	(views::_Elements): Likewise.
	(views::_Adjacent): Likewise.
	(views::_AsRvalue): Likewise.
	(views::_Enumerate): Likewise.
	(views::_AsConst): Likewise.
	* testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
	expecting that adding empty range adaptor closure objects to a
	pipeline doesn't increase the size of a pipeline.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Pres_type): Add _Pres_F.
	(__formatter_fp::parse): Use _Pres_F for 'F'.
	(__formatter_fp::format): Set __upper for _Pres_F.
	* testsuite/std/format/functions/format.cc: Check formatting of
	infinity and NaN for each presentation type.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.in: Regenerate.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
	* testsuite/std/format/functions/format.cc: Likewise.
	* testsuite/std/format/functions/format_c++23.cc: Likewise.

2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
	any "-include bits/stdc++.h" from options and add the macro to
	the existing options instead of replacing them.

2023-08-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.tcc (resize_and_overwrite): Invoke
	the callable with the same size as resize_and_overwrite was
	called with.
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
	Check with small values for the new size.
	* testsuite/std/format/functions/format.cc: Check wide
	formatting of double values that produce small strings.
	* testsuite/std/format/functions/format_c++23.cc: New test.

2023-08-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/version.def (stds): Update value for C++23.
	* include/bits/version.h: Regenerate.

2023-08-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
	Fix name of upstream file this was derived from.
	* testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.

2023-08-16  Arsen Arsenović  <arsen@aarsen.me>

	* libsupc++/typeinfo: Switch to bits/version.h for
	__cpp_lib_constexpr_typeinfo.
	* libsupc++/new: Switch to bits/version.h for
	__cpp_lib_{launder,hardware_interference_size,destroying_delete}.
	(launder): Guard behind __cpp_lib_launder.
	(hardware_destructive_interference_size)
	(hardware_constructive_interference_size): Guard behind
	__cpp_lib_hardware_interference_size.
	* libsupc++/exception: Switch to bits/version.h for
	__cpp_lib_uncaught_exceptions.
	(uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
	* libsupc++/compare: Switch to bits/version.h for
	__cpp_lib_three_way_comparison.
	(three_way_comparable, three_way_comparable_with)
	(compare_three_way, weak_order, strong_order, partial_order):
	Guard behind __cpp_lib_three_way_comparison >= 201907L.
	* include/std/chrono: Drop __cpp_lib_chrono definition.
	* include/std/vector: Switch to bits/version.h for
	__cpp_lib_erase_if.
	(erase, erase_if): Guard behind __cpp_lib_erase_if.
	* include/std/variant: Switch to bits/version.h for
	__cpp_lib_variant.  Guard whole header behind that FTM.
	* include/std/utility: Switch to bits/version.h for
	__cpp_lib_{exchange_function,constexpr_algorithms,as_const},
	__cpp_lib_{integer_comparison_functions,to_underlying}, and
	__cpp_lib_unreachable.
	(exchange): Guard behind __cpp_lib_exchange_function.
	(cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
	(cmp_greater_equal, in_range): Guard behind
	__cpp_lib_integer_comparison_functions.
	(to_underlying): Guard behind __cpp_lib_to_underlying.
	(unreachable): Guard behind __cpp_lib_unreachable.
	* include/std/type_traits: Switch to bits/version.h for
	__cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
	__cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
	__cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
	__cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
	__cpp_lib_{result_of_sfinae,transformation_trait_aliases},
	__cpp_lib_{type_identity,type_trait_variable_templates},
	__cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
	__cpp_lib_{bool_constant,bounded_array_traits}, and
	__cpp_lib_has_unique_object_representations.
	(integral_constant::operator()): Guard behind
	__cpp_lib_integral_constant_callable.
	(bool_constant): Guard behind __cpp_lib_bool_constant.
	(conjunction, disjunction, negation, conjunction_v, disjunction_v)
	(negation_v): Guard behind __cpp_lib_logical_traits.
	(is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
	(is_final): Guard behind __cpp_lib_is_final.
	(is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
	__cpp_lib_is_nothrow_convertible.
	(remove_const_t, remove_volatile_t, remove_cv_t)
	(add_const_t, add_volatile_t, add_cv_t): Guard behind
	__cpp_lib_transformation_trait_aliases.
	(void_t): Guard behind __cpp_lib_void_t.
	(is_swappable_with_v, is_nothrow_swappable_with_v)
	(is_swappable_with, is_nothrow_swappable_with): Guard behind
	__cpp_lib_is_swappable.
	(is_nothrow_invocable_r, is_invocable_r, invoke_result)
	(is_invocable, invoke_result_t): Guard behind
	__cpp_lib_is_invocable.
	(alignment_of_v, extent_v, has_virtual_destructor_v)
	(is_abstract_v, is_arithmetic_v, is_array_v)
	(is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
	(is_constructible_v, is_const_v, is_convertible_v)
	(is_copy_assignable_v, is_copy_constructible_v)
	(is_default_constructible_v, is_destructible_v)
	(is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
	(is_function_v, is_fundamental_v, is_integral_v)
	(is_invocable_r_v, is_invocable_v, is_literal_type_v)
	(is_lvalue_reference_v, is_member_function_pointer_v)
	(is_member_object_pointer_v, is_member_pointer_v)
	(is_move_assignable_v, is_move_constructible_v)
	(is_nothrow_assignable_v, is_nothrow_constructible_v)
	(is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
	(is_nothrow_default_constructible_v, is_nothrow_destructible_v)
	(is_nothrow_invocable_r_v, is_nothrow_invocable_v)
	(is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
	(is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
	(is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
	(is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
	(is_trivially_assignable_v, is_trivially_constructible_v)
	(is_trivially_copyable_v, is_trivially_copy_assignable_v)
	(is_trivially_copy_constructible_v)
	(is_trivially_default_constructible_v)
	(is_trivially_destructible_v, is_trivially_move_assignable_v)
	(is_trivially_move_constructible_v, is_trivial_v, is_union_v)
	(is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
	Guard behind __cpp_lib_type_trait_variable_templates.
	(has_unique_object_representations)
	(has_unique_object_representations_v): Guard behind
	__cpp_lib_has_unique_object_representation.
	(is_aggregate): Guard behind __cpp_lib_is_aggregate.
	(remove_cvref, remove_cvref_t): Guard behind
	__cpp_lib_remove_cvref.
	(type_identity, type_identity_t): Guard behind
	__cpp_lib_type_identity.
	(unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
	(unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
	(is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
	(is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
	(is_scoped_enum, is_scoped_enum_v): Guard behind
	__cpp_lib_is_scoped_enum.
	(reference_constructs_from_temporary)
	(reference_constructs_from_temporary_v): Guard behind
	__cpp_lib_reference_from_temporary.
	* include/std/tuple: Switch to bits/version.h for
	__cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
	(get<T>): Guard behind __cpp_lib_tuple_by_type.
	(apply): Guard behind __cpp_lib_apply.
	(make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
	* include/std/syncstream: Switch to bits/version.h for
	__cpp_lib_syncbuf.  Guard header behind that FTM.
	* include/std/string_view: Switch to bits/version.h for
	__cpp_lib_{string_{view,contains},constexpr_string_view} and
	__cpp_lib_starts_ends_with.
	(basic_string_view::starts_with, basic_string_view::ends_with):
	Guard behind __cpp_lib_starts_ends_with.
	[C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
	Assert as impossible ithout a bug in C++23.
	* include/std/string: Switch to bits/version.h for
	__cpp_lib_erase_if.
	(erase, erase_if): Guard behind __cpp_lib_erase_if.
	* include/std/thread: Switch to bits/version.h for
	__cpp_lib_jthread.
	* include/std/stop_token: Switch to bits/version.h for
	__cpp_lib_jthread.
	* include/std/spanstream: Switch to bits/version.h for
	__cpp_lib_spanstream.  Guard header behind that FTM.
	* include/std/span: Switch to bits/version.h for __cpp_lib_span.
	Guard header behind that FTM.
	* include/std/source_location: Switch to bits/version.h for
	__cpp_lib_source_location.  Guard header with that FTM.
	* include/std/shared_mutex: Switch to bits/version.h for
	__cpp_lib_shared{,_timed}_mutex.
	(shared_mutex): Guard behind __cpp_lib_shared_mutex.
	* include/std/semaphore: Switch to bits/version.h for
	__cpp_lib_semaphore.  Guard header behind that FTM.
	* include/std/ranges: Switch to bits/version.h for
	__cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
	__cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
	and __cpp_lib_ranges_{as_const,enumerate,iota}.
	(ranges::zip et al, ranges::chunk et al, ranges::slide et al)
	(ranges::chunk_by et al, ranges::join_with et al)
	(ranges::stride et al, ranges::cartesian_product et al)
	(ranges::as_rvalue et al, ranges::as_const et al)
	(ranges::enumerate et al): Guard behind appropriate FTM.
	* include/std/optional: Switch to bits/version.h for
	__cpp_lib_optional.  Guard header behind that FTM.
	* include/std/numeric: Switch to bits/version.h for
	__cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
	and __cpp_lib_parallel_algorithm.
	(gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
	(midpoint): Guard behind __cpp_lib_interpolate.
	* include/std/numbers: Switch to bits/version.h for
	__cpp_lib_math_constants.  Guard header behind that FTM.
	* include/std/mutex: Switch to bits/version.h for
	__cpp_lib_scoped_lock.
	(scoped_Lock): Guard behind __cpp_lib_scoped_lock.
	* include/std/memory_resource: Switch to bits/version.h for
	__cpp_lib_{polymorphic_allocator,memory_resource}.
	(synchronized_pool_resource): Guard behind
	__cpp_lib_memory_resource >= 201603L.
	(polymorphic_allocator): Guard behind
	__cpp_lib_polymorphic_allocator.
	* include/std/memory: Switch to bits/version.h for
	__cpp_lib_{parallel_algorithm,atomic_value_initialization}.
	* include/std/list: Switch to bits/version.h for
	__cpp_lib_erase_if.
	(erase, erase_if): Guard behind __cpp_lib_erase_if.
	* include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
	Guard header behind that FTM.
	* include/std/iterator: Switch to bits/version.h for
	__cpp_lib_null_iterators.
	* include/std/iomanip: Switch to bits/version.h for
	__cpp_lib_quoted_string_io.
	(quoted): Guard behind __cpp_lib_quoted_string_io.
	* include/std/functional: Switch to bits/version.h for
	__cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
	__cpp_lib_{not_fn,booyer_moore_searcher}.
	(invoke): Guard behind __cpp_lib_invoke.
	(invoke_r): Guard behind __cpp_lib_invoke_r.
	(bind_front): Guard behind __cpp_lib_bind_front.
	(not_fn): Guard behind __cpp_lib_not_fn.
	(boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
	definition behind __cpp_lib_boyer_moore_searcher.
	* include/std/forward_list: Switch to bits/version.h for
	__cpp_lib_erase_if.
	(erase, erase_if): Guard behind __cpp_lib_erase_if.
	* include/std/format: Switch to bits/version.h for
	__cpp_lib_format.  Guard header behind that FTM.
	* include/std/filesystem: Switch to bits/version.h for
	__cpp_lib_filesystem.  Guard header behind that FTM.
	* include/std/expected: Switch to bits/version.h for
	__cpp_lib_expected.  Guard header behind it.
	* include/std/execution: Switch to bits/version.h for
	__cpp_lib_{execution,parallel_algorithm}.  Guard header behind
	either.
	* include/std/deque: Switch to bits/version.h for
	__cpp_lib_erase_if.
	(erase, erase_if): Guard behind __cpp_lib_erase_if.
	* include/std/coroutine: Switch to bits/version.h for
	__cpp_lib_coroutine.  Guard header behind that FTM.
	* include/std/concepts: Switch to bits/version.h for
	__cpp_lib_concepts.  Guard header behind that FTM.
	* include/std/complex: Switch to bits/version.h for
	__cpp_lib_{complex_udls,constexpr_complex}.
	(operator""if, operator""i, operator""il): Guard behind
	__cpp_lib_complex_udls.
	* include/std/charconv: Swtich to bits/version.h for
	__cpp_lib_{to_chars,constexpr_charconv}.
	* include/std/bitset: Switch to bits/version.h for
	__cpp_lib_constexpr_bitset.
	* include/std/bit: Switch to bits/version.h for
	__cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
	(bit_cast): Guard behind __cpp_lib_bit_cast.
	(byteswap): Guard behind __cpp_lib_byteswap.
	(rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
	(popcount): Guard behind __cpp_lib_bitops.
	(has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
	__cpp_lib_int_pow2.
	(endian): Guard behind __cpp_lib_endian.
	* include/std/barrier: Switch to bits/version.h for
	__cpp_lib_barrier.  Guard header behind that FTM.
	* include/std/atomic: Switch to bits/version.h for
	__cpp_lib_atomic_{is_always_lock_free,float,ref}
	and __cpp_lib_lock_free_type_aliases.
	(*::is_always_lock_free): Guard behind
	__cpp_lib_atomic_is_always_lock_free.
	(atomic<float>): Guard behind __cpp_lib_atomic_float.
	(atomic_ref): Guard behind __cpp_lib_atomic_ref.
	(atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
	__cpp_lib_atomic_lock_free_type_aliases.
	* include/std/array: Switch to bits/version.h for
	__cpp_lib_to_array.
	(to_array): Guard behind __cpp_lib_to_array.
	* include/std/any: Switch to bits/version.h for __cpp_lib_any.
	Guard header behind that FTM.
	* include/std/algorithm: Switch to bits/version.h for
	__cpp_lib_parallel_algorithm.
	* include/c_global/cstddef: Switch to bits/version.h for
	__cpp_lib_byte.
	(byte): Guard behind __cpp_lib_byte.
	* include/c_global/cmath: Switch to bits/version.h for
	__cpp_lib_{hypot,interpolate}.
	(hypot3): Guard behind __cpp_lib_hypot.
	(lerp): Guard behind __cpp_lib_interpolate.
	* include/c_compatibility/stdatomic.h: Switch to
	bits/stl_version.h for __cpp_lib_atomic.  Guard header behind that
	FTM.
	* include/bits/utility.h: Switch to bits/version.h for
	__cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
	(tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
	(integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
	* include/bits/uses_allocator_args.h: Switch to bits/version.h for
	__cpp_lib_make_obj_using_allocator.  Guard header behind that FTM.
	* include/bits/unordered_map.h: Switch to bits/version.h for
	__cpp_lib_unordered_map_try_emplace.
	(try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
	* include/bits/unique_ptr.h: Switch to bits/version.h for
	__cpp_lib_{constexpr_memory,make_unique}.
	(make_unique): Guard behind __cpp_lib_make_unique.
	* include/bits/stl_vector.h: Switch to bits/version.h for
	__cpp_lib_constexpr_vector.
	* include/bits/stl_uninitialized.h: Switch to bits/version.h for
	__cpp_lib_raw_memory_algorithms.
	(uninitialized_default_construct)
	(uninitialized_default_construct_n, uninitialized_move)
	(uninitialized_move_n, uninitialized_value_construct)
	(uninitialized_value_construct_n): Guard behind
	__cpp_lib_raw_memory_algorithms.
	* include/bits/stl_tree.h: Switch to bits/version.h for
	__cpp_lib_generic_associative_lookup.
	* include/bits/stl_stack.h: Switch to bits/version.h for
	__cpp_lib_adaptor_iterator_pair_constructor.
	(stack): Guard iterator-pair constructor behind
	__cpp_lib_adaptor_iterator_pair_constructor.
	* include/bits/stl_queue.h: Switch to bits/version.h for
	__cpp_lib_adaptor_iterator_pair_constructor.
	(queue): Guard iterator-pair constructor behind
	__cpp_lib_adaptor_iterator_pair_constructor.
	* include/bits/stl_pair.h: Switch to bits/version.h for
	__cpp_lib_{concepts,tuples_by_type}.
	(get): Guard type-getting overloads behind
	__cpp_lib_tuples_by_type.
	* include/bits/stl_map.h: Switch to bits/version.h for
	__cpp_lib_map_try_emplace.
	(map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
	* include/bits/stl_list.h: Switch to bits/version.h for
	__cpp_lib_list_remove_return_type.
	(__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
	[C++20]: guard behind __cpp_lib_list_remove_return_type instead.
	* include/bits/stl_iterator.h: Switch to bits/version.h for
	__cpp_lib_{constexpr_iterator,array_constexpr} and
	__cpp_lib_{make_reverse_iterator,move_iterator_concept}.
	(make_reverse_iterator): Guard behind
	__cpp_lib_make_reverse_iterator.
	(iterator_concept et al): Guard __cpp_lib_move_iterator_concept
	changes behind that FTM.
	* include/bits/stl_function.h: Switch to bits/version.h for
	__cpp_lib_transparent_operators.
	(equal_to, not_equal_to, greater, less, greater_equal)
	(less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
	(logical_or, logical_not, plus, minus, multiplies, divides)
	(modulus, negate): Guard '= void' fwdecls behind
	__cpp_lib_transparent_operators.
	(plus<void>, minus<void>, multiplies<void>, divides<void>)
	(modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
	(logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
	(equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
	(greater_equal<void>, less_equal<void>, bit_not<void>)
	(__has_is_transparent): Guard behind
	__cpp_lib_transparent_operators.
	* include/bits/stl_algobase.h: Switch to bits/version.h for
	__cpp_lib_robust_nonmodifying_seq_ops.
	(robust equal, mismatch): Guard behind
	__cpp_lib_nonmember_container_access.
	* include/bits/stl_algo.h: Swtich to bits/version.h for
	__cpp_lib_{clamp,sample}.
	(clamp): Guard behind __cpp_lib_clamp.
	(sample): Guard behind __cpp_lib_sample.
	* include/bits/specfun.h: Switch to bits/version.h for
	__cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
	* include/bits/shared_ptr_base.h: Switch to bits/version.h for
	__cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
	(_Sp_overwrite_tag): Guard behind
	__cpp_lib_smart_ptr_for_overwrite.
	* include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
	__cpp_lib_atomic_shared_ptr.
	* include/bits/shared_ptr.h: Switch to bits/version.h for
	__cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
	(shared_ptr<T>::weak_type): Guard behind
	__cpp_lib_shared_ptr_weak_type.
	(enable_shared_from_this<T>::weak_from_this): Guard behind
	__cpp_lib_enable_shared_from_this.
	* include/bits/ranges_cmp.h: Switch to bits/version.h for
	__cpp_lib_ranges.
	* include/bits/ranges_algo.h: Switch to bits/version.h for
	__cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
	* include/bits/range_access.h: Switch to bits/version.h for
	__cpp_lib_nonmember_container_access
	(size, empty, data): Guard behind
	__cpp_lib_nonmember_container_access.
	(ssize): Guard behind __cpp_lib_ssize.
	* include/bits/ptr_traits.h: Switch to bits/version.h. for
	__cpp_lib_{constexpr_memory,to_address}.
	(to_address): Guard behind __cpp_lib_to_address.
	* include/bits/node_handle.h: Switch to bits/version.h for
	__cpp_lib_node_extract.  Guard header behind that FTM.
	* include/bits/move_only_function.h: Switch to bits/version.h for
	__cpp_lib_move_only_function.  Guard header behind that FTM.
	* include/bits/move.h: Switch to bits/version.h for
	__cpp_lib_addressof_constexpr.
	* include/bits/ios_base.h: Switch to bits/version.h for
	__cpp_lib_ios_noreplace.
	(noreplace): Guard with __cpp_lib_ios_noreplace.
	* include/bits/hashtable.h: Switch to bits/version.h for
	__cpp_lib_generic_unordered_lookup.
	(_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
	__cpp_lib_generic_unordered_lookup.
	* include/bits/forward_list.h: Switch to bits/version.h for
	__cpp_lib_list_remove_return_type.
	(__remove_return_type): Guard behind
	__cpp_lib_list_remove_return_type.
	* include/bits/erase_if.h: Switch to bits/version.h for
	__cpp_lib_erase_if.
	* include/bits/cow_string.h: Switch to bits/version.h for
	__cpp_lib_constexpr_string.
	* include/bits/chrono.h: Swtich to bits/version.h for
	__cpp_lib_chrono{,_udls}.
	(ceil): Guard behind __cpp_lib_chrono.
	(operator""ns et al): Guard behind __cpp_lib_chrono_udls.
	* include/bits/char_traits.h: Switch to bits/version.h for
	__cpp_lib_constexpr_char_traits.
	* include/bits/basic_string.h: Switch to bits/version.h for
	__cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
	(resize_and_overwrite): Guard behind
	__cpp_lib_string_resize_and_overwrite.
	(operator""s): Guard behind __cpp_lib_string_udls.
	* include/bits/atomic_wait.h: Switch to bits/version.h for
	__cpp_lib_atomic_wait.  Guard header behind that FTM.
	* include/bits/atomic_base.h: Switch to bits/version.h for
	__cpp_lib_atomic_value_initialization and
	__cpp_lib_atomic_flag_test.
	(atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
	rather than C++20.
	* include/bits/allocator.h: Switch to bits/version.h for
	__cpp_lib_incomplete_container_elements.
	* include/bits/alloc_traits.h: Switch to using bits/version.h for
	__cpp_lib_constexpr_dynamic_alloc and
	__cpp_lib_allocator_traits_is_always_equal.
	* include/bits/align.h: Switch to bits/version.h for defining
	__cpp_lib_assume_aligned.
	(assume_aligned): Guard with __cpp_lib_assume_aligned.
	* include/bits/algorithmfwd.h: Switch to bits/version.h for
	defining __cpp_lib_constexpr_algorithms.
	* include/std/stacktrace: Switch to bits/version.h for
	__cpp_lib_stacktrace.  Guard header behind that FTM.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
	Update line numbers.

2023-08-16  Arsen Arsenović  <arsen@aarsen.me>

	* include/Makefile.am (bits_freestanding): Add version.h.
	(allcreated): Add version.h.
	(${bits_srcdir}/version.h): New rule.  Regenerates
	version.h out of version.{def,tpl}.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def: New file.  Declares a list of
	all feature test macros, their values and their preconditions.
	* include/bits/version.tpl: New file.  Turns version.def
	into a sequence of #if blocks.
	* include/bits/version.h: New file.  Generated from
	version.def.
	* include/std/version: Replace with a __glibcxx_want_all define
	and bits/version.h include.

2023-08-14  Paul Dreik  <gccpatches@pauldreik.se>

	PR libstdc++/110860
	* include/std/format (__formatter_fp::format): Use frexp instead
	of log10.

2023-08-12  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (true_type): Use __bool_constant
	instead.
	(false_type): Likewise.
	(bool_constant): Likewise.

2023-08-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110990
	* include/std/format (_Seq_sink::get): Only call _M_overflow if
	its precondition is met.
	(_Iter_sink::_M_finish): Likewise.
	(_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
	internal buffer after running out of space.
	(_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
	(_Counting_sink::count): Likewise.
	* testsuite/std/format/functions/format_to_n.cc: Check cases
	where the output fits into the buffer.

2023-08-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104167
	* include/bits/chrono_io.h (operator|=, operator|): Add noexcept
	to _ChronoParts operators.
	(from_stream, parse): Define new functions.
	(__detail::_Parse, __detail::_Parser): New class templates.
	* include/std/chrono (__cpp_lib_chrono): Define to 201907L for
	C++20.
	* include/std/version (__cpp_lib_chrono): Likewise.
	* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
	Adjust expected value of feature test macro.
	* testsuite/20_util/duration/io.cc: Test parsing.
	* testsuite/std/time/clock/file/io.cc: Likewise.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/system/io.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/month_day/io.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/year_month/io.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/time/syn_c++20.cc: Check value of macro and for
	the existence of parse and from_stream in namespace chrono.
	* testsuite/std/time/clock/local/io.cc: New test.
	* testsuite/std/time/parse.cc: New test.

2023-08-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110860
	* include/std/format (__formatter_fp::format): Do not call log10
	with zero values.

2023-08-11  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
	Check for out-of-range month an weekday indices.
	* testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
	month and weekday values.

2023-08-11  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.

2023-08-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110974
	* include/std/format (_Spec::_S_parse_width_or_precision): Check
	for empty range before dereferencing iterator.
	* testsuite/std/format/string.cc: Check for expected exception.
	Fix expected exception message in test_pr110862() and actually
	call it.

2023-08-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110968
	* include/std/format (__formatter_fp::format): Check return
	value of _M_localize.
	* testsuite/std/format/functions/format.cc: Check classic
	locale.

2023-08-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110970
	* include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
	__iter_category_t.
	(iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
	(__detail::__basic_const_iterator_iter_cat): Likewise.
	* include/bits/stl_iterator_base_types.h (__iterator_category_t):
	Rename to __iter_category_t.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono.h (duration_cast): Do not use braces
	around statements for C++11 constexpr rules.
	* include/bits/stl_algobase.h (__lg): Rewrite as a single
	statement for C++11 constexpr rules.
	* include/experimental/bits/fs_path.h (path::string): Use
	_GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
	* include/std/charconv (__to_chars_8): Initialize variable for
	C++17 constexpr rules.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
	warning for loop condition.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/complex: Add diagnostic pragma for clang.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_atomic.h (atomic): Change class-head
	to struct.
	* include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
	class-head to struct in friend declaration.
	* include/std/chrono (tzdb_list::_Node): Likewise.
	* include/std/future (_Task_state_base, _Task_state): Likewise.
	* include/std/scoped_allocator (__inner_type_impl): Likewise.
	* include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
	(_ValFunClos, _RefFunClos): Change class-head to struct.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
	attribute.
	* include/bits/regex_executor.tcc: Remove name of unused
	parameter.
	* include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
	Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/streambuf_iterator.h (operator==): Likewise.
	* include/bits/uses_allocator.h: Likewise.
	* include/c_global/cmath (isfinite, isinf, isnan): Likewise.
	* include/std/chrono (zoned_time): Likewise.
	* include/std/future (__future_base::_S_allocate_result):
	Likewise.
	(packaged_task): Likewise.
	* include/std/optional (_Optional_payload_base): Likewise.
	* include/std/scoped_allocator (__inner_type_impl): Likewise.
	* include/std/tuple (_Tuple_impl): Likewise.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/new_allocator.h (__new_allocator): Define copy
	assignment operator as defaulted.
	* include/std/complex (complex<float>, complex<double>)
	(complex<long double>): Define copy constructor as defaulted.

2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format: Fix some warnings.
	(__format::__write(Ctx&, basic_string_view<CharT>)): Remove
	unused function template.

2023-08-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110860
	* include/std/format (__formatter_fp::format): Do not use
	__builtin_abs and __builtin_log10 with arbitrary floating-point
	types.

2023-08-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110917
	* include/std/format (__format::_Iter_sink<CharT, OutIter>):
	Constrain partial specialization for contiguous iterators to
	require the value type to be CharT.
	* testsuite/std/format/functions/format_to.cc: New test.

2023-08-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110862
	* include/std/format (_Scanner::_M_on_replacement_field):
	Check for expected '}' before incrementing iterator.
	* testsuite/std/format/string.cc: Check "{0:{0}" format string.

2023-08-07  Nick Alcock  <nick.alcock@oracle.com>

	* configure: Regenerate.

2023-08-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>

	* configure: Regenerate.

2023-08-07  Nick Alcock  <nick.alcock@oracle.com>

	* configure: Regenerate.

2023-08-07  Nick Alcock  <nick.alcock@oracle.com>

	* configure: Regenerate.

2023-08-07  H.J. Lu  <hjl.tools@gmail.com>

	* configure: Regenerate.

2023-08-07  H.J. Lu  <hjl.tools@gmail.com>

	* configure: Regenerate.

2023-08-06  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
	symbol export.

2023-07-30  François Dumont  <fdumont@gcc.gnu.org>

	* src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
	proper #error.
	* src/c++11/locale-inst-monetary.h: Likewise.
	* src/c++11/locale-inst-numeric.h: Likewise.

2023-07-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108046
	* include/std/format (__formatter_fp::format): Ensure __expc is
	always set for all presentation types. Set __z correctly for
	zero precision.
	* testsuite/std/format/functions/format.cc: Check problem cases.

2023-07-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110807
	* testsuite/23_containers/vector/bool/110807.cc: Require c++11.

2023-07-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110807
	* include/bits/stl_bvector.h (vector(const vector&)): Access
	iterators before allocating.
	* include/bits/vector.tcc (vector<bool>::_M_insert_range):
	Likewise.
	* testsuite/23_containers/vector/bool/110807.cc: New test.

2023-07-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/algorithmfwd.h (random_shuffle): Add deprecated
	attribute.
	* include/bits/stl_algo.h (random_shuffle): Correct comments.
	* testsuite/25_algorithms/random_shuffle/1.cc: Disable
	deprecated warnings.
	* testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
	* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
	* testsuite/25_algorithms/random_shuffle/deprecated.cc: New
	test.

2023-07-26  Nathaniel Shead  <nathanieloshead@gmail.com>

	* testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
	locations.
	* testsuite/26_numerics/gcd/105844.cc: Likewise.
	* testsuite/26_numerics/lcm/105844.cc: Likewise.

2023-07-24  Deev Patel  <pateldeev@nevada.unr.edu>

	* include/std/format (_Formatting_scanner::_M_on_chars): Add
	missing constexpr specifier.
	(_Formatting_scanner::_M_format_arg): Likewise.

2023-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110653
	* include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
	throw an exception for zero result.
	[HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110077
	* src/c++17/floating_from_chars.cc (from_chars): Only define
	_Float128 overload when using __strfromf128.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110593
	* include/bits/chrono.h (duration): Improve static assert
	messages.
	(__is_ratio): Move to ...
	* include/std/ratio (__is_ratio): ... here.
	(__is_ratio_v): New variable template and partial
	specialization.
	(__are_both_ratios): New function template.
	(__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
	Add static assertion.
	* testsuite/20_util/ratio/requirements/type_constraints.cc:
	New test.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc:
	Adjust expected error.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc:
	Likewise.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_format):
	Do not set __is_neg for hh_mm_ss before calling
	_M_format_to_ostream. Change __print_sign lambda to only check
	__is_neg for durations and hh_mm_ss types.
	(__formatter_chrono::_M_format_to_ostream): Only check __is_neg
	for duration types.
	* testsuite/std/time/hh_mm_ss/io.cc: Check negative values.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110719
	* include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
	Handle duration and hh_mm_ss.
	* testsuite/20_util/duration/io.cc: Check locale-specific
	formats.
	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__write_padded): Initialize first element
	of array to avoid a -Wmaybe-uninitialized warning.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110719
	* include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
	allowed modifiers for %z and %Z. Fix -Wparentheses and
	-Wnarrowing warnings.
	(__formatter_chrono::_M_format): Call new functions for %d, %e,
	%H, %I, %m and %M.
	(__formatter_chrono::_M_c): Use _S_floor_seconds to remove
	subsecond precision.
	(__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
	modifiers.
	(__formatter_chrono::_M_e): Replace with _M_d_e and use
	_M_locale_fmt.
	(__formatter_chrono::_M_I): Replace with _M_H_I and use
	_M_locale_fmt.
	(__formatter_chrono::_M_m): New function.
	(__formatter_chrono::_M_M): New function.
	(__formatter_chrono::_M_r): Use _M_locale_fmt.
	(__formatter_chrono::_M_S): Likewise.
	(__formatter_chrono::_M_u_w): Likewise.
	(__formatter_chrono::_M_U_V_W): Likewise.
	(__formatter_chrono::_M_X): Use _S_floor_seconds.
	(__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
	(__formatter_chrono::_S_altnum): Remove function.
	(__formatter_chrono::_S_dd_zero_fill): Remove function.
	(__formatter_chrono::_S_floor_seconds): New function.
	(__formatter_chrono::_M_locale_fmt): New function.
	* testsuite/std/time/clock/system/io.cc: Adjust expected output
	for locale-specific formats and check modified formats.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/zoned_time/io.cc: New test.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110708
	* include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
	allow a single modifier.
	* testsuite/std/time/format.cc: Check multiple modifiers.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110653
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	Remove dg-require-string-conversions.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110653
	* include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
	Define in terms of std::stod.

2023-07-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110653
	* include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
	Define.
	[_GLIBCXX_HAVE_STRTOLD] (stold): Define.
	* include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
	Declare in namespace std.
	[_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.

2023-07-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110653
	* include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
	depend on _GLIBCXX_USE_C99_STDLIB.
	[__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
	in terms of stol and stoul respectively.
	[__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
	of stod.

2023-07-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/95048
	* testsuite/27_io/filesystem/path/construct/95048.cc: Check
	conversions to wide strings.
	* testsuite/experimental/filesystem/path/construct/95048.cc:
	Likewise.

2023-07-12  Jonathan Wakely  <jwakely@redhat.com>

	* config/io/basic_file_stdio.cc: Define LFS macros.
	(__basic_file<char>::open): Use fopen unconditionally.
	(get_file_offset): Use lseek unconditionally.
	(__basic_file<char>::seekoff): Likewise.
	(__basic_file<char>::showmanyc): Use fstat unconditionally.

2023-07-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110574
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
	and define _GLIBCXX_USE_FSEEKO_FTELLO.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
	Check for fwrite error correctly.
	(__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
	fread error correctly.
	(get_file_offset): New function.
	(__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
	fseeko if available. Use get_file_offset instead of return value
	of fseek.
	(__basic_file<char>::showmanyc): Use get_file_offset.

2023-07-12  Ken Matsui  <kmatsui@gcc.gnu.org>

	* include/std/type_traits (__make_unsigned_selector): Use
	__is_enum built-in trait.
	(__make_signed_selector): Likewise.
	(__underlying_type_impl): Likewise.

2023-07-06  Tianqiang Shuai  <1101282468@qq.com>

	* config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
	first argument.

2023-07-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110574
	* doc/xml/manual/configure.xml: Describe stdio_pure argument to
	--enable-cstdio.
	* doc/html/manual/configure.html: Regenerate.

2023-07-05  Thomas Rodgers  <trodgers@redhat.com>

	* testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
	file.
	* testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
	New file.
	* testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
	Likewise.

2023-07-05  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
	Skip as UNSUPPORTED for C++98 mode.
	* testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
	Likewise.

2023-07-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110542
	* include/bits/stl_uninitialized.h (__uninitialized_default_n):
	Do not use std::fill_n during constant evaluation.

2023-07-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/vector.tcc (_M_default_append): Replace try-block
	with RAII types.

2023-07-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/iterator_concepts.h (projected): Add typename.

2023-07-03  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
	wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.

2023-07-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
	_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
	Define to OpenMP 5.0 pragmas even for GCC 10.0+.
	(_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.

2023-07-03  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/alloc_traits.h (_Destroy): Qualify call.
	* include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
	* testsuite/23_containers/vector/cons/destroy-adl.cc: New test.

2023-07-03  Iain Sandoe  <iain@sandoe.co.uk>

	* testsuite/lib/libstdc++.exp: Remove additional flag handled
	by Darwin specs.

2023-06-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110432
	* acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
	* include/std/iostream: Use new autoconf macro as well as
	__has_attribute.
	* src/c++98/ios_base_init.h: Use new autoconf macro instead of
	__has_attribute.

2023-06-30  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/random.cc (random_device::_M_init): Add maybe_unused
	attribute.

2023-06-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105081
	* src/c++11/random.cc (random_device::_M_init): Throw
	std::system_error when the requested device is a valid token but
	not available at runtime.

2023-06-30  Hans-Peter Nilsson  <hp@axis.com>

	PR libstdc++/108672
	* include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
	__INT32_TYPE__ instead of int32_t.

2023-06-29  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
	with USE_ATOMIC_LIST_HEAD.
	(list_mutex): Replace global object with function. Use local
	static object when std::mutex constructor isn't constexpr.

2023-06-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110462
	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
	copy_file_range can be called with loff_t* arguments.
	* configure: Regenerate.
	* src/filesystem/ops-common.h (copy_file_copy_file_range):
	Use loff_t for offsets.

2023-06-29  Tom Tromey  <tromey@adacore.com>

	* testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
	regexp.

2023-06-28  Jan Hubicka  <jh@suse.cz>

	PR middle-end/109849
	* include/bits/c++config (std::__terminate): Mark cold.
	* include/bits/functexcept.h: Mark everything as cold.
	* libsupc++/exception: Mark terminate and unexpected as cold.

2023-06-26  Thomas Rodgers  <trodgers@redhat.com>

	* include/pstl/algorithm_fwd.h: Synchronize with upstream.
	* include/pstl/algorithm_impl.h: Likewise.
	* include/pstl/execution_defs.h: Likewise.
	* include/pstl/execution_impl.h: Likewise.
	* include/pstl/glue_algorithm_impl.h: Likewise.
	* include/pstl/glue_execution_defs.h: Likewise.
	* include/pstl/glue_memory_impl.h: Likewise.
	* include/pstl/glue_numeric_impl.h: Likewise.
	* include/pstl/memory_impl.h: Likewise.
	* include/pstl/numeric_fwd.h: Likewise.
	* include/pstl/numeric_impl.h: Likewise.
	* include/pstl/parallel_backend.h: Likewise.
	* include/pstl/parallel_backend_serial.h: Likewise.
	* include/pstl/parallel_backend_tbb.h: Likewise.
	* include/pstl/parallel_impl.h: Likewise.
	* include/pstl/pstl_config.h: Likewise.
	* include/pstl/unseq_backend_simd.h: Likewise.
	* include/pstl/utils.h: Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/set.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/scan.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
	Likewise.
	* testsuite/util/pstl/test_utils.h:
	Likewise.

2023-06-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110239
	* include/std/format (__format::__parse_integer): Fix buffer
	overflow for wide chars.
	(formatter<const void*, C>::format): Cast to uintptr_t instead
	of uint64_t.
	* testsuite/std/format/string.cc: Test too-large widths.

2023-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/iterator_concepts.h (projected): Replace class
	template with alias template denoting an ADL-proofed helper.
	(incremental_traits<projected<Iter, Proj>>): Remove.
	* testsuite/24_iterators/indirect_callable/projected-adl.cc:
	New test.

2023-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/debug/helper_functions.h (__get_distance)
	(__check_singular, __valid_range_aux, __valid_range): Qualify
	calls to disable ADL.
	(__check_singular_aux(const _Safe_iterator_base*)): Declare
	overload that was previously found via ADL.

2023-06-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/vector.tcc (_M_realloc_insert): Replace try-block
	with RAII types.

2023-06-20  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/array (to_array(T(&)[N])): Remove redundant
	condition.
	(to_array(T(&&)[N])): Remove redundant std::move.

2023-06-16  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/from_chars/4.cc: Skip long double on
	aarch64-rtems.

2023-06-16  Joel Brobecker  <brobecker@adacore.com>

	* configure.ac ["x${with_newlib}" = "xyes"]: Define
	HAVE_HYPOTF.  Add compile-checks for various long double
	math functions as well.
	* configure: Regenerate.

2023-06-14  Jonny Grant  <jg@jguk.org>

	* doc/xml/manual/extensions.xml: Remove demangle exception
	description and include.
	* doc/html/manual/ext_demangling.html: Regenerate.

2023-06-10  Hans-Peter Nilsson  <hp@axis.com>

	* testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
	[! SIMULATOR_TEST]: Also exclude running test05.
	* testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.

2023-06-09  Ken Matsui  <kmatsui@cs.washington.edu>

	* include/std/type_traits: Use using instead of typedef

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110077
	* src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
	Only define if _Float128 and long double have different
	representations.

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/100285
	* include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
	(basic_endpoint, basic_resolver_entry, resolver_base)
	(basic_resolver_results, basic_resolver): Only define if the tcp
	or udp protocols will be defined.

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (libtool_VERSION): Update to 6.0.33.
	* configure: Regenerate.
	* doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
	* doc/html/manual/abi.html: Regenerate.

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110149
	* include/std/format (formatter<const void*, charT>::parse):
	Only alow 0 and P for C++26 and non-strict modes.
	(formatter<const void*, charT>::format): Use toupper for P
	type, and insert zero-fill characters for 0 option.
	* testsuite/std/format/functions/format.cc: Check pointer
	formatting. Only check P2510R3 extensions conditionally.
	* testsuite/std/format/parse_ctx.cc: Only check P2510R3
	extensions conditionally.

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110167
	* include/std/array (to_array): Initialize arrays of trivial
	types using memcpy. For non-trivial types, use lambda
	expressions instead of a separate helper function.
	(__to_array): Remove.
	* testsuite/23_containers/array/creation/110167.cc: New test.

2023-06-09  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/deque/modifiers/emplace/52799.cc:
	Removed.
	* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
	Removed.
	* testsuite/23_containers/list/modifiers/emplace/52799.cc:
	Removed.
	* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
	Removed.
	* testsuite/23_containers/vector/modifiers/emplace/52799.cc:
	Removed.
	* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
	Removed.
	* testsuite/23_containers/deque/modifiers/emplace/1.cc: New
	test.
	* testsuite/23_containers/list/modifiers/emplace/1.cc: New
	test.
	* testsuite/23_containers/vector/modifiers/emplace/1.cc: New
	test.

2023-06-07  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/110145
	* testsuite/20_util/to_chars/double.cc: Include <cfloat>.
	(double_to_chars_test_cases,
	double_scientific_precision_to_chars_test_cases_2,
	double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
	and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
	Add unconditional tests with corresponding double constants
	0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
	0x1.7440bbff418b9p-18.

2023-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_abi.cc (check_version): Re-add
	CXXABI_1.3.14.

2023-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
	Require effective target exceptions_enabled instead of using
	dg-skip-if.
	* testsuite/23_containers/vector/capacity/constexpr.cc: Expect
	shrink_to_fit() to be a no-op without exceptions enabled.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
	Require effective target exceptions_enabled.
	* testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/mt_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/new_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/pool_allocator/check_allocate_max_size.cc:
	Likewise.
	* testsuite/ext/throw_allocator/check_allocate_max_size.cc:
	Likewise.

2023-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/duration/cons/2.cc: Use values that aren't
	affected by rounding.
	* testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
	double before comparing for equality.
	* testsuite/20_util/from_chars/6.cc: Likewise.
	* testsuite/20_util/variant/86874.cc: Use values that aren't
	affected by rounding.
	* testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
	original value instead of to floating-point-literal.
	* testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
	Cast arithmetic result to double before comparing for equality.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
	Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
	Likewise.
	* testsuite/26_numerics/valarray/transcend.cc (eq): Check that
	the absolute difference is less than 0.01 instead of comparing
	to two decimal places.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
	Cast arithmetic result to double before comparing for equality.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
	Likewise.
	* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.

2023-06-07  Jonathan Wakely  <jwakely@redhat.com>

	Revert:
	2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	* configure.ac: Use AS_IF.
	* configure: Regenerate.

2023-06-07  Thomas Schwinge  <thomas@codesourcery.com>

	* testsuite/lib/prune.exp (libstdc++-dg-prune): Support
	'UNSUPPORTED: [...]: exception handling disabled'.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_abi.cc (check_version): Add
	CXXABI_1.3.15 symver and make it the latestp. Remove
	GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/104772
	* include/std/limits: (numeric_limits<__float128>): Define
	for __STRICT_ANSI__ as well.
	* testsuite/18_support/numeric_limits/128bit.cc: Remove
	check for __STRICT_ANSI__.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	* configure.ac: Use AS_IF.
	* configure: Regenerate.

2023-06-06  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109822
	* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
	to avoid casts to other vector types. Implement store as
	succession of power-of-2 sized memcpy to avoid PR90424.

2023-06-06  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/110054
	* include/experimental/bits/simd_builtin.h (_S_masked_store):
	Call into deduced ABI's SimdImpl after conversion.
	* include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
	Don't use _mm_maskmoveu_si128. Use the generic fall-back
	implementation. Also fix masked stores without SSE2, which
	were not doing anything before.

2023-06-06  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h (__bit_cast): Use
	__gnu__::__vector_size__ instead of gnu::vector_size.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110139
	* include/std/array (__array_traits<T, 0>::operator T*()): Make
	conversion operator explicit.
	(array::front): Use size_type as subscript operand.
	(array::data): Use static_cast to make conversion explicit.
	* testsuite/23_containers/array/element_access/110139.cc: New
	test.

2023-06-06  Joseph Faulls  <Joseph.Faulls@imgtec.com>

	* include/bits/locale_classes.tcc: Remove check for
	codecvt<char8_t, char, mbstate_t> facet.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	* src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
	close-on-exec flag on file descriptors.

2023-06-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108178
	* src/filesystem/ops-common.h (do_copy_file): Check for empty
	files by trying to read a character.
	* testsuite/27_io/filesystem/operations/copy_file_108178.cc:
	New test.

2023-06-06  Jannik Glückert  <jannik.glueckert@gmail.com>

	* acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/filesystem/ops-common.h (copy_file_copy_file_range):
	Define new function.
	(do_copy_file): Use it.

2023-06-06  Jannik Glückert  <jannik.glueckert@gmail.com>

	* acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/filesystem/ops-common.h (copy_file_sendfile): Define new
	function for sendfile logic. Loop to support large files. Skip
	zero-length files.
	(do_copy_file): Use it.

2023-06-04  Jason Merrill  <jason@redhat.com>

	PR c++/97720
	* libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
	* config/abi/pre/gnu.ver: Add it.

2023-06-02  François Dumont  <fdumont@gcc.gnu.org>

	* include/parallel/algobase.h: Include <parallel/search.h>.

2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
	Add const to equality operator.

2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected::and_then, expected::or_else)
	(expected::transform_error): Use _M_val and _M_unex instead of
	calling value() and error(), as per LWG 3938.
	(expected::transform): Likewise. Remove incorrect std::move
	calls from lvalue overloads.
	(expected<void, E>::and_then, expected<void, E>::or_else)
	(expected<void, E>::transform): Use _M_unex instead of calling
	error().
	* testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
	and transform, and for std::expected<void, E>.
	* testsuite/20_util/expected/lwg3938.cc: New test.

2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110060
	* include/bits/stl_vector.h (_Vector_base::_M_invariant):
	Remove.
	(vector::size, vector::capacity): Remove calls to _M_invariant.
	* include/bits/vector.tcc (vector::_M_fill_assign): Add
	optimization hint to reallocating path.
	(vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
	Likewise.
	* testsuite/23_containers/vector/capacity/invariant.cc: Moved
	to...
	* testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
	...here. Check assign(FwdIter, FwdIter) too.
	* testsuite/23_containers/vector/types/1.cc: Revert addition
	of -Wno-stringop-overread option.

2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document removal of implicit
	allocator rebinding extensions in strict mode and for C++20.
	* doc/html/*: Regenerate.

2023-06-01  Jason Merrill  <jason@redhat.com>

	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
	handlers in the cleanup phase.

2023-06-01  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/110050
	* include/experimental/bits/simd.h (__vectorized_sizeof): With
	__have_neon_a32 only single-precision float works (in addition
	to integers).

2023-06-01  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_algo.h
	(std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
	* include/bits/stl_algobase.h: ...here.
	* include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
	* include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
	(std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
	Move...
	* include/parallel/algobase.h: ...here.
	* include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
	includes. Include <bits/stl_algobase.h>.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109818
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
	float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/c_global/cmath (float_t, double_t): Guard using new
	_GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
	functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
	for C99 rounding functions to here.
	(GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
	functions from here.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
	of _GLIBCXX_USE_C99_MATH_TR1.
	* include/bits/random.tcc: Likewise.
	* include/c_compatibility/math.h: Likewise.
	* include/c_global/cmath: Likewise.
	* include/ext/random: Likewise.
	* include/ext/random.tcc: Likewise.
	* include/std/complex: Likewise.
	* testsuite/20_util/from_chars/4.cc: Likewise.
	* testsuite/20_util/from_chars/8.cc: Likewise.
	* testsuite/26_numerics/complex/proj.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
	Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
	Likewise.
	* testsuite/util/testsuite_random.h: Likewise.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
	function.
	(vector::size(), vector::capacity()): Call _M_invariant().
	* testsuite/23_containers/vector/capacity/invariant.cc: New test.
	* testsuite/23_containers/vector/types/1.cc: Add suppression for
	false positive warning (PR110060).

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109921
	* src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
	defined before trying to use _Float128.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
	to check __INT_PTR_WIDTH__ instead of sizeof(void*).
	* configure: Regenerate.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/unique_lock.h: Include <bits/error_constants.h>
	here for std::errc constants.
	* include/std/mutex: Do not include <bits/error_constants.h> and
	<exception> here.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* configure.ac: Replace use of -o operator for test.
	* configure: Regenerate.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/scoped_allocator (scoped_allocator_adaptor): Add
	noexcept to all constructors except the default constructor.
	(scoped_allocator_adaptor::inner_allocator): Add noexcept.
	(scoped_allocator_adaptor::outer_allocator): Likewise.
	* testsuite/20_util/scoped_allocator/noexcept.cc: New test.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104772
	* include/std/limits (numeric_limits<__float128>): Define.
	* testsuite/18_support/numeric_limits/128bit.cc: New test.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
	msp430 to all 16-bit targets.
	* configure: Regenerate.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109921
	* src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
	Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
	(USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
	binary64.
	(from_chars(const char*, const char*, double&, chars_format)):
	Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
	(from_chars(const char*, const char*, _Float128&, chars_format))
	Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
	defined, otherwise parse a long double and convert to _Float128.

2023-05-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109922
	* include/std/iomanip (operator>>(basic_istream&, _Setfill)):
	Add deprecated attribute to non-standard overload.
	* doc/xml/manual/evolution.xml: Document deprecation.
	* doc/html/*: Regenerate.
	* testsuite/27_io/manipulators/standard/char/1.cc: Add
	dg-warning for expected deprecated warning.
	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
	* testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.

2023-05-30  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/from_chars/4.cc: Skip long double test06
	on x86_64-vxworks.
	* testsuite/20_util/to_chars/long_double.cc: Xfail run on
	x86_64-vxworks.

2023-05-30  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109822
	* include/experimental/bits/simd.h (to_native): Use int NTTP
	as specified in PTS2.
	(to_compatible): Likewise. Add missing tag to call mask
	generator ctor.
	* testsuite/experimental/simd/pr109822_cast_functions.cc: New
	test.

2023-05-30  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/tests/integer_operators.cc:
	Compute expected value differently to avoid getting turned into
	a vector shift.

2023-05-30  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/tests/operator_cvt.cc: Make long
	double <-> (u)long conversion tests conditional on sizeof(long
	double) and sizeof(long).

2023-05-26  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
	Negative __y is UB, so prefer signed compare.

2023-05-25  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_allocator.h (PointerBase): Add
	relational operators.

2023-05-25  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/to_chars/long_double.cc: Expect execution
	fail on x86-vxworks.

2023-05-24  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109949
	* include/experimental/bits/simd.h (__intrinsic_type): If
	__ALTIVEC__ is defined, map gnu::vector_size types to their
	corresponding __vector T types without losing unsignedness of
	integer types. Also prefer long long over long.
	* include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
	object to the expected unsigned vector type.

2023-05-24  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109261
	* include/experimental/bits/simd.h (__intrinsic_type):
	Specialize __intrinsic_type<double, 8> and
	__intrinsic_type<double, 16> in any case, but provide the member
	type only with __aarch64__.

2023-05-24  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109261
	* include/experimental/bits/simd_neon.h (_S_reduce): Add
	constexpr and make NEON implementation conditional on
	not __builtin_is_constant_evaluated.

2023-05-23  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/109261
	* include/experimental/bits/simd.h (_SimdWrapper::_M_set):
	Avoid vector builtin subscripting in constant expressions.
	(resizing_simd_cast): Avoid memcpy if constant_evaluated.
	(const_where_expression, where_expression, where)
	(__extract_part, simd_mask, _SimdIntOperators, simd): Add either
	_GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
	internal APIs).
	* include/experimental/bits/simd_builtin.h (__vector_permute)
	(__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
	(_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
	(_MaskImplBuiltin::_S_store): Add constexpr.
	(_CommonImplBuiltin::_S_store_bool_array)
	(_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
	(_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
	constant_evaluated case.
	* include/experimental/bits/simd_fixed_size.h
	(_S_masked_load): Reword comment.
	(__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
	(_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
	(__make_simd_tuple, __optimize_simd_tuple, __extract_part)
	(__autocvt_to_simd, _Fixed::__traits::_SimdBase)
	(_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
	constexpr.
	(_SimdTuple::operator[], _M_set): Add constexpr and add
	constant_evaluated case.
	(_MaskImplFixedSize::_S_load): Add constant_evaluated case.
	* include/experimental/bits/simd_scalar.h: Add constexpr.
	* include/experimental/bits/simd_x86.h (_CommonImplX86): Add
	constexpr and add constant_evaluated case.
	(_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
	(_S_less_equal): Value-initialize to satisfy constexpr
	evaluation.
	(_MaskImplX86::_S_load): Add constant_evaluated case.
	(_MaskImplX86::_S_store): Add constexpr and constant_evaluated
	case. Value-initialize local variables.
	(_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
	(_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
	case.
	* testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
	test.

2023-05-22  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
	__infn into #ifdef'ed block.
	* testsuite/experimental/simd/tests/fpclassify.cc: Declare
	constants only when used.
	* testsuite/experimental/simd/tests/frexp.cc: Likewise.
	* testsuite/experimental/simd/tests/logarithm.cc: Likewise.
	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
	Likewise.
	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
	Move totest and expect1 into #ifdef'ed block.

2023-05-19  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/strings.xml: Move lafstern.org reference to https.
	* doc/html/manual/strings.html: Regenerate.

2023-05-17  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/109883
	* testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.

2023-05-17  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/109883
	* include/c_global/cmath (atan2, fmod, pow): Move
	__gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
	__gnu_cxx::__bfloat16_t overloads.
	(copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
	Likewise.
	(fma): Move __gnu_cxx::__promote_3 using template after
	_Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.

2023-05-17  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/18_support/headers/limits/synopsis.cc: Uncomment
	checks for float_round_style and float_denorm_style.

2023-05-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/c++config: Add system_header pragma.

2023-05-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected::and_then, expected::or_else)
	(expected::transform, expected::transform_error): Fix exception
	specifications as per LWG 3877.
	(expected<void, E>::and_then, expected<void, E>::transform):
	Likewise.
	* testsuite/20_util/expected/lwg3877.cc: New test.

2023-05-17  Ken Matsui  <kmatsui@cs.washington.edu>

	* include/std/type_traits: Use __bool_constant instead of
	integral_constant.

2023-05-17  Jonathan Wakely  <jwakely@redhat.com>

	* configure: Regenerate.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109741
	* acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
	* src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
	align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
	instead of hardcoded 64.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
	mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
	functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
	instead of _GLIBCXX_USE_C99_FENV_TR1.
	* include/c_global/cfenv: Likewise.
	* include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
	of _GLIBCXX_USE_C99_CTYPE_TR1.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
	C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
	<inttypes.h> features in C++11 mode and define
	_GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
	* include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
	of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/c_compatibility/inttypes.h: Check
	_GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
	instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
	_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/c_compatibility/stdatomic.h: Check
	_GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/c_compatibility/stdint.h: Likewise.
	* include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
	and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
	_GLIBCXX_USE_C99_INTTYPES_TR1 and
	_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
	instead of _GLIBCXX_USE_C99_STDINT_TR1.
	* include/std/atomic: Likewise.
	* src/c++11/cow-stdexcept.cc: Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
	Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
	Likewise.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
	functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
	* include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
	instead of _GLIBCXX_USE_C99_COMPLEX_TR1.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
	assertion to ensure expected exception is throw.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/libstdc++-prettyprinters/chrono.cc: Only test
	printer for chrono::zoned_time for cx11 ABI and tzdb effective
	target.

2023-05-16  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
	_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
	* configure: Regenerate.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
	to check for nan, nanf, and nanl.
	* configure: Regenerate.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/char_traits.h (char_traits<char16_t>): Do not
	depend on _GLIBCXX_USE_C99_STDINT_TR1.
	(char_traits<char32_t>): Likewise.
	* include/experimental/source_location: Likewise.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
	(atomic_int_least16_t, atomic_uint_least16_t)
	(atomic_int_least32_t, atomic_uint_least32_t)
	(atomic_int_least64_t, atomic_uint_least64_t)
	(atomic_int_fast16_t, atomic_uint_fast16_t)
	(atomic_int_fast32_t, atomic_uint_fast32_t)
	(atomic_int_fast64_t, atomic_uint_fast64_t)
	(atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/algorithmfwd.h (shuffle): Do not depend on
	_GLIBCXX_USE_C99_STDINT_TR1.
	* include/bits/ranges_algo.h (shuffle): Likewise.
	* include/bits/stl_algo.h (shuffle): Likewise.
	* include/ext/random: Likewise.
	* include/ext/throw_allocator.h (random_condition): Likewise.
	* include/std/random: Likewise.
	* src/c++11/cow-string-inst.cc: Likewise.
	* src/c++11/random.cc: Likewise.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/experimental/feat-cxx14.cc: Remove dependency on
	_GLIBCXX_USE_C99_STDINT_TR1.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
	on _GLIBCXX_USE_C99_STDINT_TR1.

2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/21_strings/basic_string_view/typedefs.cc: Remove
	dependency on _GLIBCXX_USE_C99_STDINT_TR1.
	* testsuite/experimental/string_view/typedefs.cc: Likewise.

2023-05-11  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
	(auto_locale, auto_ferounding): New class types.
	(from_chars_impl): Use auto_locale and auto_ferounding.

2023-05-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109772
	* include/std/chrono (hh_mm_ss::__fits): Remove variable
	template.
	(hh_mm_ss::__subseconds): Remove __fits from constraints.
	* testsuite/std/time/hh_mm_ss/109772.cc: New test.
	* testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
	hh_mm_ss<duration<int, std::pico>>.

2023-05-11  Jonathan Wakely  <jwakely@redhat.com>

	* config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
	* include/bits/basic_ios.h: Add static assertion checking
	traits_type::value_type.
	* include/bits/basic_string.h: Likewise. Do not rebind
	allocator, and add static assertion checking its value_type.
	(basic_string::_Alloc_traits_impl): Remove class template.
	(basic_string::_S_allocate): New static member function.
	(basic_string::assign): Use _S_allocate.
	* include/bits/basic_string.tcc (basic_string::_M_create)
	(basic_string::reserve, basic_string::_M_replace): Likewise.
	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
	Disable for C++20 and later.
	* testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
	Likweise.

2023-05-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109758
	* include/bits/std_abs.h (abs(__float128)): Handle negative NaN
	and negative zero correctly.
	* testsuite/26_numerics/headers/cmath/109758.cc: New test.

2023-05-10  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h
	(_NodeBuilder<>::_S_build): Use __node_ptr.
	(_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
	(_AllocNode<>): Likewise.
	(_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
	to call std::is_permutation in the non-unique key implementation.
	* include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
	_M_begin() once.
	(_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
	(_Hashtable<>::_M_insert_bucket_begin): Likewise.
	(_Hashtable<>::_M_remove_bucket_begin): Likewise.
	(_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
	const_iterator.
	(_Hashtable<>::find): Likewise.
	(_Hashtable<>::_M_emplace): Likewise.
	(_Hashtable<>::_M_insert_unique): Likewise.

2023-05-09  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
	Print floating-point durations correctly.
	(StdChronoTimePointPrinter): Support printing only the value,
	not the type name. Uncomment handling for known clocks.
	(StdChronoZonedTimePrinter): Remove type names from output.
	(StdChronoCalendarPrinter): Fix hh_mm_ss member access.
	(StdChronoTimeZonePrinter): Add equals sign to output.
	* testsuite/libstdc++-prettyprinters/chrono.cc: New test.

2023-05-05  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/from_chars/4.cc: Skip long double test06
	on aarch64-vxworks.
	* testsuite/20_util/to_chars/long_double.cc: Xfail run on
	aarch64-vxworks.

2023-05-04  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/abi.xml (abi.versioning.history): Document
	libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
	* doc/html/manual/abi.html: Regenerate.

2023-05-04  Florian Weimer  <fweimer@redhat.com>

	* doc/xml/manual/abi.xml (abi.versioning.history): Add
	GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
	libgcc_s.

2023-05-03  Jakub Jelinek  <jakub@redhat.com>

	* src/c++17/floating_from_chars.cc
	(_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
	_ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
	* src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
	_ZSt8to_charsPcS_u9__ieee128.
	(_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
	_ZSt8to_charsPcS_u9__ieee128St12chars_format.
	(_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
	_ZSt8to_charsPcS_u9__ieee128St12chars_formati.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.

2023-05-03  Jakub Jelinek  <jakub@redhat.com>

	* configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
	rather than powerpc64-linux-gnu for powerpc64le*-linux*.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
	_ZTI*DF128_, _ZTI*DF64x symbols and symbols in
	GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
	versions.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
	file.

2023-05-03  Kefu Chai  <kefu.chai@scylladb.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109703
	* include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
	Initialize _M_string_length.

2023-05-02  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.

2023-05-02  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/109694
	* src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
	-Wattribute-alias.

2023-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/random.h (gamma_distribution): Add to the right
	doxygen group.
	(discrete_distribution, piecewise_constant_distribution)
	(piecewise_linear_distribution): Create a new doxygen group and
	fix the incomplete doxygen comments.
	* include/bits/uniform_int_dist.h (uniform_int_distribution):
	Add to doxygen group.

2023-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/uses_allocator.h: Add missing @file comment.
	* include/bits/regex.tcc: Remove stray doxygen comments.
	* include/experimental/memory_resource: Likewise.
	* include/std/bit: Tweak doxygen @cond comments.
	* include/std/expected: Likewise.
	* include/std/numbers: Likewise.

2023-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
	from header paths.

2023-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/move.h: Simplify opening/closing namespace std.

2023-04-28  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/108969
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
	_ZSt21ios_base_library_initv.
	* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
	symver and make it the latestp.
	* src/c++98/ios_init.cc (ios_base_library_init): New alias.
	* acinclude.m4 (libtool_VERSION): Change to 6:32:0.
	* include/std/iostream: If init_priority attribute is supported
	and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
	symbol into the object.
	* configure: Regenerated.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/mofunc_impl.h: Fix typo in doxygen comment.
	* include/std/format: Likewise.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	* doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
	(DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	* doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
	HTML docs.
	* include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
	from doxygen docs.
	* include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
	Likewise.
	* include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
	(_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
	(_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
	(_DEFINE_BINARY_OPERATOR): Likewise.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h: Improve doxygen comments.
	* include/std/memory_resource: Likewise.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/40380
	* include/bits/basic_string.h: Improve doxygen comments.
	* include/bits/cow_string.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/fs_dir.h: Likewise.
	* include/bits/fs_path.h: Likewise.
	* include/bits/quoted_string.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/std/filesystem: Likewise.
	* include/std/iomanip: Likewise.

2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105081
	* src/c++11/random.cc (__throw_syserr): New function.
	(random_device::_M_init, random_device::_M_init_pretr1): Use new
	function for bad tokens.
	(random_device::_M_getval): Use new function for read errors.
	* testsuite/util/testsuite_random.h (random_device_available):
	Change catch handler to use std::system_error.

2023-04-24  Patrick Palka  <ppalka@redhat.com>

	* include/bits/max_size_type.h (__max_diff_type::operator>>=):
	Fix propagation of sign bit.
	* testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
	non-standard 'signed typedef-name'.  Add some compile-time tests
	for right-shifting a negative __max_diff_type value by more than
	one.

2023-04-19  Patrick Palka  <ppalka@redhat.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR c++/100157
	* include/bits/utility.h (_Nth_type): Conditionally define in
	terms of __type_pack_element if available.
	* testsuite/20_util/tuple/element_access/get_neg.cc: Prune
	additional errors from the new built-in.

2023-04-19  Jonathan Wakely  <jwakely@redhat.com>

	Revert:
	2023-04-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108969
	* src/Makefile.am: Move globals_io.cc to here.
	* src/Makefile.in: Regenerate.
	* src/c++98/Makefile.am: Remove globals_io.cc from here.
	* src/c++98/Makefile.in: Regenerate.
	* src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
	symbol name and then export with GLIBCXX_3.4.31 symver.
	(cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/pre/gnu.ver: Add iostream objects to new symver.

2023-04-19  Jonathan Wakely  <jwakely@redhat.com>

	Revert:
	2023-04-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108969
	* config/abi/pre/gnu.ver: Fix preprocessor condition.

2023-04-18  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/extensions.xml: Fix example to declare and
	qualify std::free, and use NULL instead of 0.
	* doc/html/manual/ext_demangling.html: Regenerate.
	* libsupc++/cxxabi.h: Adjust doxygen comments.

2023-04-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108969
	* config/abi/pre/gnu.ver: Fix preprocessor condition.

2023-04-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108969
	* src/Makefile.am: Move globals_io.cc to here.
	* src/Makefile.in: Regenerate.
	* src/c++98/Makefile.am: Remove globals_io.cc from here.
	* src/c++98/Makefile.in: Regenerate.
	* src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
	symbol name and then export with GLIBCXX_3.4.31 symver.
	(cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/pre/gnu.ver: Add iostream objects to new symver.

2023-04-18  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108827
	* include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
	for C++23.
	* include/std/ranges (range_adaptor_closure): Define for C++23.
	* include/std/version (__cpp_lib_ranges): Bump value for
	C++23.
	* testsuite/std/ranges/version_c++23.cc: Bump expected value
	of __cpp_lib_ranges.
	* testsuite/std/ranges/range_adaptor_closure.cc: New test.

2023-04-18  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
	Define for C++23.
	(__cpp_lib_ranges_iota): Likewise.
	(__cpp_lib_ranges_find_last): Likewise.
	(__cpp_lib_fold): Rename to ...
	(__cpp_lib_ranges_fold): ... this.
	* include/std/version: As above.
	* testsuite/25_algorithms/fold_left/1.cc: Adjust after
	renaming __cpp_lib_fold.
	* testsuite/std/ranges/version_c++23.cc: Verify values
	of the above feature-test macros.

2023-04-18  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/109525
	* include/std/ranges (views::_AsConst::operator()): Add
	missing const to constant_range test.
	* testsuite/std/ranges/adaptors/as_const/1.cc (test02):
	Improve formatting.  Adjust expected type of v2.
	(test03): New test.

2023-04-14  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_base.h (const_iterator_t): Define for C++23.
	(const_sentinel_t): Likewise.
	(range_const_reference_t): Likewise.
	(constant_range): Likewise.
	(__cust_access::__possibly_const_range): Likewise, replacing ...
	(__cust_access::__as_const): ... this.
	(__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
	(__cust_access::_CEnd::operator()): Likewise.
	(__cust_access::_CRBegin::operator()): Likewise.
	(__cust_access::_CREnd::operator()): Likewise.
	(__cust_access::_CData::operator()): Likewise.
	* include/bits/ranges_util.h (ranges::__detail::__different_from):
	Make it an alias of std::__detail::__different_from.
	(view_interface::cbegin): Define for C++23.
	(view_interface::cend): Likewise.
	* include/bits/stl_iterator.h (__detail::__different_from): Define.
	(iter_const_reference_t): Define for C++23.
	(__detail::__constant_iterator): Likewise.
	(__detail::__is_const_iterator): Likewise.
	(__detail::__not_a_const_iterator): Likewise.
	(__detail::__iter_const_rvalue_reference_t): Likewise.
	(__detail::__basic_const_iter_cat):: Likewise.
	(const_iterator): Likewise.
	(__detail::__const_sentinel): Likewise.
	(const_sentinel): Likewise.
	(basic_const_iterator): Likewise.
	(common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
	(common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
	(common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
	Likewise.
	(make_const_iterator): Define for C++23.
	(make_const_sentinel): Likewise.
	* include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
	(as_const_view): Likewise.
	(enable_borrowed_range<as_const_view>): Likewise.
	(views::__detail::__is_ref_view): Likewise.
	(views::__detail::__can_is_const_view): Likewise.
	(views::_AsConst, views::as_const): Likewise.
	* include/std/span (span::const_iterator): Likewise.
	(span::const_reverse_iterator): Likewise.
	(span::cbegin): Likewise.
	(span::cend): Likewise.
	(span::crbegin): Likewise.
	(span::crend): Likewise.
	* include/std/version (__cpp_lib_ranges_as_const): Likewise.
	* testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
	behave independently of C++20 vs C++23.
	* testsuite/std/ranges/version_c++23.cc: Verify value of
	__cpp_lib_ranges_as_const macro.
	* testsuite/24_iterators/const_iterator/1.cc: New test.
	* testsuite/std/ranges/adaptors/as_const/1.cc: New test.

2023-04-14  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_base.h (__cust_access::__as_const)
	(__cust_access::_CBegin, __cust::cbegin)
	(__cust_access::_CEnd, __cust::cend)
	(__cust_access::_CRBegin, __cust::crbegin)
	(__cust_access::_CREnd, __cust::crend)
	(__cust_access::_CData, __cust::cdata): Move down definitions to
	shortly after the definition of input_range.

2023-04-14  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_algo.h: Include <optional> for C++23.
	(__cpp_lib_fold): Define for C++23.
	(in_value_result): Likewise.
	(__detail::__flipped): Likewise.
	(__detail::__indirectly_binary_left_foldable_impl): Likewise.
	(__detail::__indirectly_binary_left_foldable): Likewise.
	(___detail:__indirectly_binary_right_foldable): Likewise.
	(fold_left_with_iter_result): Likewise.
	(__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
	(__fold_left_fn, fold_left): Likewise.
	(__fold_left_first_with_iter_fn, fold_left_first_with_iter):
	Likewise.
	(__fold_left_first_fn, fold_left_first): Likewise.
	(__fold_right_fn, fold_right): Likewise.
	(__fold_right_last_fn, fold_right_last): Likewise.
	* include/std/version (__cpp_lib_fold): Likewise.
	* testsuite/25_algorithms/fold_left/1.cc: New test.
	* testsuite/25_algorithms/fold_right/1.cc: New test.

2023-04-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (formatter): Add comment to deleted default
	constructor of primary template.
	(_Checking_scanner): Add static_assert.

2023-04-12  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/using.xml: Document libstdc++exp.a library.
	* doc/html/*: Regenerate.

2023-04-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/names.cc [_AIX]: Do not define policy.
	* testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
	namespace to avoid clashing with libc struct.
	* testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
	* testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
	* testsuite/experimental/synchronized_value.cc: Require gthreads
	and add missing option for pthreads targets.

2023-04-12  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (__cpp_lib_ranges_enumerate): Define
	for C++23.
	(__detail::__range_with_movable_reference): Likewise.
	(enumerate_view): Likewise.
	(enumerate_view::_Iterator): Likewise.
	(enumerate_view::_Sentinel): Likewise.
	(views::__detail::__can_enumerate_view): Likewise.
	(views::_Enumerate, views::enumerate): Likewise.
	* include/std/version (__cpp_lib_ranges_enumerate): Likewise.
	* testsuite/std/ranges/version_c++23.cc: Verify value of
	__cpp_lib_ranges_enumerate.
	* testsuite/std/ranges/adaptors/enumerate/1.cc: New test.

2023-04-12  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
	Propagate _M_trailing_empty in the const-converting constructor
	as per LWG 3904.
	* testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
	assertion.
	* testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.

2023-04-12  Patrick Palka  <ppalka@redhat.com>

	* src/c++17/floating_from_chars.cc: Include <algorithm>,
	<iterator>, <limits> and <cstdint>.

2023-04-12  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108291
	* include/std/ranges (chunk_by_view::_M_find_next): Generalize
	parameter types of the lambda wrapper passed to adjacent_find.
	(chunk_by_view::_M_find_prev): Likewise.
	* testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
	New tests.

2023-04-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109482
	* include/experimental/internet (basic_endpoint::basic_endpoint()):
	Ensure that the required union members are active. Only define
	as constexpr for C++20 and later.
	(basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
	Likewise.
	* testsuite/experimental/net/internet/endpoint/cons.cc: Only
	check constexpr default constructor for C++20 and later.
	* testsuite/experimental/net/internet/endpoint/extensible.cc:
	Likewise.

2023-04-12  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2023c release.

2023-04-05  Arsen Arsenović  <arsen@aarsen.me>

	* include/precompiled/stdc++.h (C++17): Don't double-include
	<charconv>, once with wrong conditions.
	* testsuite/18_support/96817.cc: Require hosted.
	* testsuite/18_support/bad_exception/59392.cc: Ditto.
	* testsuite/20_util/scoped_allocator/108952.cc: Ditto.
	* testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
	Ditto.

2023-04-05  Arsen Arsenović  <arsen@aarsen.me>

	* include/bits/c++config: When __STDC_HOSTED__ is zero,
	disable _GLIBCXX_DEBUG and, if it was set, enable
	_GLIBCXX_ASSERTIONS.
	* testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
	Include <bits/c++config.h> when determining whether debug is
	set, in order to inherit the logic from above

2023-04-05  Arsen Arsenović  <arsen@aarsen.me>

	* testsuite/17_intro/versionconflict.cc: New test.
	* include/std/version: Allow disabling the system_header pragma
	via _GLIBCXX_TESTING_SYSHDR.

2023-04-05  Arsen Arsenović  <arsen@aarsen.me>

	* include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
	Synchronize the definition block with...
	* include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
	... this one here.  Also define the 202202L value, rather than
	leaving it up to purely unique_ptr.h, so that the value is
	synchronized across all headers.
	(__gnu_debug::_Safe_iterator_base): Move into new conditional
	block.
	* include/std/memory (__cpp_lib_atomic_value_initialization):
	Define on freestanding under the same conditions as in
	atomic_base.h.
	* include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
	Also define on freestanding.
	(__cpp_lib_to_chars): Ditto.
	(__cpp_lib_gcd): Ditto.
	(__cpp_lib_gcd_lcm): Ditto.
	(__cpp_lib_raw_memory_algorithms): Ditto.
	(__cpp_lib_array_constexpr): Ditto.
	(__cpp_lib_nonmember_container_access): Ditto.
	(__cpp_lib_clamp): Ditto.
	(__cpp_lib_constexpr_char_traits): Ditto.
	(__cpp_lib_constexpr_string): Ditto.
	(__cpp_lib_sample): Ditto.
	(__cpp_lib_lcm): Ditto.
	(__cpp_lib_constexpr_iterator): Ditto.
	(__cpp_lib_constexpr_char_traits): Ditto.
	(__cpp_lib_interpolate): Ditto.
	(__cpp_lib_constexpr_utility): Ditto.
	(__cpp_lib_shift): Ditto.
	(__cpp_lib_ranges): Ditto.
	(__cpp_lib_move_iterator_concept): Ditto.
	(__cpp_lib_constexpr_numeric): Ditto.
	(__cpp_lib_constexpr_functional): Ditto.
	(__cpp_lib_constexpr_algorithms): Ditto.
	(__cpp_lib_constexpr_tuple): Ditto.
	(__cpp_lib_constexpr_memory): Ditto.

2023-04-05  John David Anglin  <danglin@gcc.gnu.org>

	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
	timeout factor on hppa*-*-*.

2023-04-05  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/regex.h (sub_match::swap): New function.
	* testsuite/28_regex/sub_match/lwg3204.cc: New test.

2023-04-04  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/extensions.xml: Remove std::bad_exception from
	example program.
	* doc/html/manual/ext_demangling.html: Regenerate.

2023-03-31  Jonathan Wakely  <jwakely@redhat.com>

	PR tree-optimization/107087
	* include/bits/cow_string.h (basic_string::size()): Add
	optimizer hint that _S_empty_rep()._M_length is always zero.
	(basic_string::length()): Call size().

2023-03-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109339
	* include/std/stop_token (_Stop_state_ptr(const stop_source&)):
	Add attribute access with access-mode 'none'.
	* testsuite/30_threads/stop_token/stop_source/109339.cc: New test.

2023-03-31  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (ip::basic_endpoint::_M_if_v6):
	Revert change from member function to data member. Fix for
	constant evaluation by detecting which union member is active.
	(ip::basic_endpoint::resize): Revert changes to update _M_is_v6
	flag.

2023-03-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109242
	* testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
	* testsuite/20_util/optional/monadic/pr109242.cc: ...here.

2023-03-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (ip::make_address): Implement
	missing overload.
	(ip::address_v4::broadcast()): Avoid undefined shift.
	(ip::basic_endpoint): Fix member functions for constexpr.
	(ip::basic_endpoint::_M_is_v6): Replace member function with
	data member, adjust member functions using it.
	(ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
	content.
	* testsuite/experimental/net/internet/address/v4/cons.cc: Fix
	constexpr checks to work in C++14.
	* testsuite/experimental/net/internet/address/v4/creation.cc:
	Likewise.
	* testsuite/experimental/net/internet/endpoint/cons.cc:
	Likewise.
	* testsuite/experimental/net/internet/network/v4/cons.cc:
	Likewise.
	* testsuite/experimental/net/internet/network/v4/members.cc:
	Likewise.
	* testsuite/experimental/net/internet/endpoint/extensible.cc: New test.

2023-03-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/expected (expected::value() &): Use const lvalue
	for unex member passed to bad_expected_access constructor, as
	per LWG 3843.

2023-03-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109340
	* include/std/expected (expected::transform): Use
	std::remove_cv_t instead of std::remove_cvref_t.
	(expected::transform_error): Likewise.
	(expected<cv void, E>::transform): Likewise.
	(expected<cv void, E>::transform_error): Likewise.
	* include/std/optional (transform): Use std::remove_cv_t.
	* testsuite/20_util/optional/monadic/pr109340.cc: New test.

2023-03-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/optional (optional): Adjust static assertion to
	reject arrays and functions as well as references.
	* testsuite/20_util/optional/requirements_neg.cc: New test.

2023-03-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/103387
	* include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
	std::use_facet instead of cached _M_num_get facet.
	(istream::operator>>(short&)): Likewise.
	(istream::operator>>(int&)): Likewise.
	* include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
	std::use_facet instead of cached _M_num_put facet.

2023-03-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/char_traits.h (char_traits::copy): Return without
	using memcpy if n==0.
	(char_traits::assign): Likewise for memset.

2023-03-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109299
	* include/bits/basic_string.h (basic_string::_M_is_local()): Add
	hint for compiler that local strings fit in the local buffer.

2023-03-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109288
	* include/std/chrono (__detail::__get_leap_second_info): Update
	expiry date of hardcoded leapseconds list.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
	Likewise.
	* src/c++20/tzdata.zi: Import new file from 2023a release.
	* testsuite/std/time/time_zone/get_info_local.cc: Only check
	transitions for Egypt up to 2014.

2023-03-28  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h (is_simd_flag_type): New.
	(_IsSimdFlagType): New.
	(copy_from, copy_to, load ctors): Constrain _Flags using
	_IsSimdFlagType.

2023-03-28  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_SimdImplX86): Use
	_Base::_S_divides if the optimized _S_divides function is hidden
	via the preprocessor.

2023-03-27  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
	warning if size_t is not unsigned long.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
	Add overload, as per LWG 3893.
	* testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
	Check assignment from nullptr.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (formatter<const charT[N], charT>): Do not
	define partial speclialization, as per LWG 3833.
	* testsuite/std/format/formatter/requirements.cc: Check it.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/utility (__cpp_lib_constexpr_algorithms): Define,
	as per LWG 3792.
	* testsuite/20_util/exchange/constexpr.cc: Check for it.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/version (__cpp_lib_format): Define.
	* testsuite/std/format/functions/format.cc: Check it.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
	Pass rvalues to the callback, as now allowed by LWG 3645.
	Enforce preconditions on the return value.
	* testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
	Adjust.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format: Add a comment noting that the resolution
	of LWG 3720 has been applied..

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/regex.h (match_results): Add allocator-extended
	copy and move constructors, as per LWG 2195.
	* testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.

2023-03-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stream_iterator.h (istream_iterator): Add
	constexpr to copy constructor, as per LWG 3600.
	* testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
	Check copy construction.

2023-03-21  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h
	(_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
	with __RECIPROCAL_MATH__.

2023-03-21  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_detail.h: Don't define
	_GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
	* include/experimental/bits/simd_x86.h (_S_divides): Remove
	check for __clang__.

2023-03-21  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_detail.h: Don't declare the
	simd API as constexpr with Clang.
	* include/experimental/bits/simd_x86.h (__movm): New.
	(_S_blend_avx512): Resolve FIXME. Implement blend using __movm
	and ?:.
	(_SimdImplX86::_S_masked_unary): Clang does not implement the
	same builtins. Implement the function using __movm, ?:, and -
	operators on vector_size types instead.

2023-03-21  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/tests/operators.cc: Clang doesn't
	define __GCC_IEC_559. Use __STDC_IEC_559__ instead.

2023-03-20  Jonathan Wakely  <jwakely@redhat.com>

	* src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
	formatting.

2023-03-20  Marek Polacek  <polacek@redhat.com>

	PR c++/109159
	* testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
	* testsuite/23_containers/span/explicit.cc: Likewise.

2023-03-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109182
	* include/std/expected (expected<void>::expected(in_place_t)):
	Remove template-head.

2023-03-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109165
	* testsuite/18_support/coroutines/hash.cc: Use const object
	in second call.

2023-03-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109165
	* include/std/coroutine (hash<>::operator()): Add const.
	* testsuite/18_support/coroutines/hash.cc: New test.

2023-03-14  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/109111
	* include/std/ranges (repeat_view): Remove redundant parentheses
	in requires-clause.
	(repeat_view::_Iterator): Correct the requires-clause.

2023-03-14  Patrick Palka  <ppalka@redhat.com>

	* include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
	Define.
	(__cpp_lib_move_iterator_concept): Define for C++20.
	(move_iterator::iterator_concept): Strengthen as per P2520R0.
	* include/std/version (__cpp_lib_move_iterator_concept): Define
	for C++20.
	* testsuite/24_iterators/move_iterator/p2520r0.cc: New test.

2023-03-14  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_util.h (view_interface::empty): Add
	preferred overloads that use ranges::size when the range is
	sized as per LWG 3715.
	* testsuite/std/ranges/adaptors/lwg3715.cc: New test.

2023-03-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono.h (__is_duration_v, __is_time_point_v):
	Only define for C++17 and later.

2023-03-14  Jonathan Wakely  <jwakely@redhat.com>

	* src/Makefile.am: Add comment about linker script fragments.
	* src/Makefile.in: Regenerate.

2023-03-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/62196
	* include/bits/mask_array.h (mask_array): Add assertions to
	assignment operators.
	* include/std/valarray (valarray::operator[](valarray<bool>)):
	Add assertions.
	* testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
	* testsuite/26_numerics/valarray/mask.cc: New test.

2023-03-13  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

2023-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* doc/Makefile.am: Add comment referring to documentation.
	* doc/Makefile.in: Regenerate.

2023-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/*: Regenerate.

2023-03-13  Jonny Grant  <jg@jguk.org>

	* doc/xml/faq.xml: Update copyright year.

2023-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/allocator.h: Fix typo in comment.

2023-03-12  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
	if it isn't mangled as DF16b but u6__bf16.

2023-03-12  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
	to https.
	* doc/html/manual/documentation_hacking.html: Regenerate.

2023-03-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109064
	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
	Remove self-recursion in __init__. Add missing _supports.
	* testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
	and unique().

2023-03-09  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges
	(cartesian_product_view::_Iterator::_Iterator): Remove
	constraint on default constructor as per LWG 3849.
	(cartesian_product_view::_Iterator::_M_prev): Adjust position
	of _Nm > 0 test as per LWG 3820.
	(cartesian_product_view::_Iterator::_M_advance): Perform bounds
	checking only on sized cartesian products.
	* testsuite/std/ranges/cartesian_product/1.cc (test08): New test.

2023-03-09  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/109024
	* include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
	LWG 3796.
	(repeat_view::_M_pred): Likewise.
	* testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
	* testsuite/std/ranges/repeat/1.cc (test05): New test.

2023-03-09  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108362
	* include/std/ranges (__detail::__can_single_view): New concept.
	(_Single::operator()): Constrain it.  Move [[nodiscard]] to the
	end of the function declarator.
	(__detail::__can_iota_view): New concept.
	(_Iota::operator()): Constrain it.  Move [[nodiscard]] to the
	end of the function declarator.
	(__detail::__can_istream_view): New concept.
	(_Istream::operator()): Constrain it.  Move [[nodiscard]] to the
	end of the function declarator.
	* testsuite/std/ranges/iota/iota_view.cc (test07): New test.
	* testsuite/std/ranges/istream_view.cc (test08): New test.
	* testsuite/std/ranges/single_view.cc (test07): New test.

2023-03-09  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/107572
	* include/std/ranges (cartesian_product_view::end): When
	building the tuple of iterators, avoid calling ranges::begin on
	the first range if __empty_tail is false.
	* testsuite/std/ranges/cartesian_product/1.cc (test07): New test.

2023-03-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108882
	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
	patterns.

2023-03-07  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.

2023-03-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108882
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
	not match symbols in namespace std::__gnu_cxx11_ieee128.
	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
	std::__gnu_cxx11_ieee128::money_{get,put}.

2023-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/eh_personality.cc: Fix spelling in comment.

2023-03-03  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/30_threads/async/async.cc (test04): Initialize
	steady_start, renamed from steady_begin, next to slow_start.
	Increase tolerance for final wait.

2023-03-03  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/libstdc++-prettyprinters/80276.cc: Add
	std::string to debug info.
	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.

2023-03-03  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/104852
	PR libstdc++/95989
	PR libstdc++/52590
	* include/bits/std_thread.h (thread::_M_thread_deps): New
	static implicitly-inline member function.
	(std::thread template ctor): Pass it to _M_start_thread.
	* src/c++11/thread.cc (thread::_M_start_thread): Name depend
	parameter, force it live on entry.

2023-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
	* config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
	Likewise.
	* config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
	Likewise.

2023-03-01  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cow_string.h: Fix typo in comment.

2023-03-01  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
	current time zone cannot be determined.
	* testsuite/std/time/tzdb/1.cc: Remove conditions based on
	HAVE_TZDB macro and test all members unconditionally.

2023-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108952
	* include/bits/uses_allocator_args.h
	(uses_allocator_construction_args): Implement LWG 3527.
	* testsuite/20_util/pair/astuple/get-2.cc: New test.
	* testsuite/20_util/scoped_allocator/108952.cc: New test.
	* testsuite/20_util/uses_allocator/lwg3527.cc: New test.

2023-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108846
	* include/bits/stl_algobase.h (__copy_move<false, false, RA>)
	Add __assign_one static member function.
	(__copy_move<true, false, RA>): Likewise.
	(__copy_move<IsMove, true, RA>): Do not use memmove for a single
	value.
	(__copy_move_backward<IsMove, true, RA>): Likewise.
	* testsuite/25_algorithms/copy/108846.cc: New test.
	* testsuite/25_algorithms/copy_backward/108846.cc: New test.
	* testsuite/25_algorithms/copy_n/108846.cc: New test.
	* testsuite/25_algorithms/move/108846.cc: New test.
	* testsuite/25_algorithms/move_backward/108846.cc: New test.

2023-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
	attributes.

2023-02-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/basic_ios.h (basic_ios::_M_setstate): Add
	caveat to comment.
	* include/bits/basic_string.h (resize_and_overwrite): Add
	doxygen comment.

2023-02-24  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h: Line breaks and indenting
	fixed to follow the libstdc++ standard.
	* include/experimental/bits/simd_builtin.h: Likewise.
	* include/experimental/bits/simd_fixed_size.h: Likewise.
	* include/experimental/bits/simd_neon.h: Likewise.
	* include/experimental/bits/simd_ppc.h: Likewise.
	* include/experimental/bits/simd_scalar.h: Likewise.
	* include/experimental/bits/simd_x86.h: Likewise.

2023-02-24  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/108030
	* include/experimental/bits/simd_fixed_size.h
	(_SimdImplFixedSize::_S_broadcast): Replace inline with
	_GLIBCXX_SIMD_INTRINSIC.
	(_SimdImplFixedSize::_S_generate): Likewise.
	(_SimdImplFixedSize::_S_load): Likewise.
	(_SimdImplFixedSize::_S_masked_load): Likewise.
	(_SimdImplFixedSize::_S_store): Likewise.
	(_SimdImplFixedSize::_S_masked_store): Likewise.
	(_SimdImplFixedSize::_S_min): Likewise.
	(_SimdImplFixedSize::_S_max): Likewise.
	(_SimdImplFixedSize::_S_complement): Likewise.
	(_SimdImplFixedSize::_S_unary_minus): Likewise.
	(_SimdImplFixedSize::_S_plus): Likewise.
	(_SimdImplFixedSize::_S_minus): Likewise.
	(_SimdImplFixedSize::_S_multiplies): Likewise.
	(_SimdImplFixedSize::_S_divides): Likewise.
	(_SimdImplFixedSize::_S_modulus): Likewise.
	(_SimdImplFixedSize::_S_bit_and): Likewise.
	(_SimdImplFixedSize::_S_bit_or): Likewise.
	(_SimdImplFixedSize::_S_bit_xor): Likewise.
	(_SimdImplFixedSize::_S_bit_shift_left): Likewise.
	(_SimdImplFixedSize::_S_bit_shift_right): Likewise.
	(_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
	explicit about not always-inline, yet).
	(_SimdImplFixedSize::_S_isinf): Likewise.
	(_SimdImplFixedSize::_S_isfinite): Likewise.
	(_SimdImplFixedSize::_S_isnan): Likewise.
	(_SimdImplFixedSize::_S_isnormal): Likewise.
	(_SimdImplFixedSize::_S_signbit): Likewise.

2023-02-24  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/108856
	* include/experimental/bits/simd_builtin.h
	(_SimdImplBuiltin::_S_masked_unary): More efficient
	implementation of masked inc-/decrement for integers and floats
	without AVX2.
	* include/experimental/bits/simd_x86.h
	(_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
	builtins for masked inc-/decrement.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/executor (executor): Constrain template
	constructors.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (basic_endpoint): Add missing
	constexpr to comparison operators.
	* testsuite/experimental/net/internet/endpoint/cons.cc: New test.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (network_v4::netmask()): Avoid
	undefined shift.
	(network_v4::broadcast()): Optimize and fix for targets with
	uint_least32_t wider than 32 bits.
	(network_v4::to_string(const Allocator&)): Fix for custom
	allocators and optimize using to_chars.
	(operator==(const network_v4&, const network_v4&)): Add missing
	constexpr.
	(operator==(const network_v6&, const network_v6&)): Likewise.
	* testsuite/experimental/net/internet/network/v4/cons.cc: New test.
	* testsuite/experimental/net/internet/network/v4/members.cc: New test.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (address_4(const bytes_type&)):
	Use __builtin_bit_cast if available, otherwise convert to
	network byte order.
	(address_v4::to_bytes()): Likewise, but convert from network
	byte order.
	* testsuite/experimental/net/internet/address/v4/cons.cc: Fix
	incorrect tests. Check for constexpr too.
	* testsuite/experimental/net/internet/address/v4/creation.cc:
	Likewise.
	* testsuite/experimental/net/internet/address/v4/members.cc:
	Check that bytes_type is a standard-layout type.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (address_v4::to_string):
	Optimize.
	* testsuite/experimental/net/internet/address/v4/members.cc:
	Check more addresses.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* include/ext/aligned_buffer.h (__aligned_buffer): Add
	diagnostic pragmas.

2023-02-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/format/arguments/lwg3810.cc: Move dg-options
	before dg-do.

2023-02-23  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/tests/reductions.cc: Introduce
	max_distance as the type-dependent max error.

2023-02-23  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_builtin.h (_S_set): Compare as
	int. The actual range of these indexes is very small.

2023-02-23  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_S_bit_shift_left)
	(_S_bit_shift_right): Declare constexpr. The implementation was
	already expecting constexpr evaluation.

2023-02-23  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/108030
	* include/experimental/bits/simd_detail.h
	(_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
	__clang__.

2023-02-23  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/108030
	* include/experimental/bits/simd.h (__vector_broadcast):
	Implement via __vector_broadcast_impl instead of
	__call_with_n_evaluations + 2 lambdas.
	(__vector_broadcast_impl): New.

2023-02-22  Alexandre Oliva  <oliva@adacore.com>

	* src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
	Avoid destruction of the mutex pool.

2023-02-22  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
	on vxworks.
	* testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
	Likewise.

2023-02-22  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
	kernel mode.

2023-02-20  Andreas Schwab  <schwab@linux-m68k.org>

	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.

2023-02-20  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h (__extract_part, split):
	Use reserved name for template parameter.

2023-02-20  Andreas Schwab  <schwab@suse.de>

	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

2023-02-18  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/faq.xml: Switch two links to www.open-std.org to https.
	* doc/html/faq.html: Regenerate.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_math.h (__hypot): Bitcasting
	between scalars requires the __bit_cast helper function instead
	of simd_bit_cast.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h
	(_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
	(_SimdImplX86::_S_less_equal): Do not call
	__builtin_is_constant_evaluated in constexpr-if.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/tests/bits/verify.h
	(verify::verify): Use %zx for size_t in format string.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/generate_makefile.sh: Generate and
	pre-compile pch.h, which includes all headers that do not depend
	on command-line macros.
	* testsuite/experimental/simd/tests/bits/main.h: New file.
	(iterate_abis, main): Moved from verify.h.
	* testsuite/experimental/simd/tests/bits/verify.h
	(iterate_abis, main): Moved to main.h.
	* testsuite/experimental/simd/tests/bits/conversions.h: Add
	include guard.
	(genHalfBits): Simplify.
	* testsuite/experimental/simd/tests/bits/make_vec.h: Add include
	guard.
	(make_alternating_mask): Moved from mask_loadstore.
	* testsuite/experimental/simd/tests/bits/mathreference.h: Add
	include guard.
	* testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
	* testsuite/experimental/simd/tests/mask_loadstore.cc
	(make_mask, make_alternating_mask): Removed.
	* testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
	* testsuite/experimental/simd/tests/operators.cc (genHalfBits):
	Removed.
	* testsuite/experimental/simd/tests/abs.cc: Only include
	bits/main.h.
	Ditto.
	* testsuite/experimental/simd/tests/algorithms.cc: Ditto.
	* testsuite/experimental/simd/tests/broadcast.cc: Ditto.
	* testsuite/experimental/simd/tests/casts.cc: Ditto.
	* testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
	* testsuite/experimental/simd/tests/frexp.cc: Ditto.
	* testsuite/experimental/simd/tests/generator.cc: Ditto.
	* testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
	* testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
	* testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
	* testsuite/experimental/simd/tests/loadstore.cc: Ditto.
	* testsuite/experimental/simd/tests/logarithm.cc: Ditto.
	* testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
	* testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
	* testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
	* testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
	* testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
	* testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
	* testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
	* testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
	* testsuite/experimental/simd/tests/reductions.cc: Ditto.
	* testsuite/experimental/simd/tests/remqo.cc: Ditto.
	* testsuite/experimental/simd/tests/simd.cc: Ditto.
	* testsuite/experimental/simd/tests/sincos.cc: Ditto.
	* testsuite/experimental/simd/tests/split_concat.cc: Ditto.
	* testsuite/experimental/simd/tests/splits.cc: Ditto.
	* testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
	* testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
	* testsuite/experimental/simd/tests/where.cc: Ditto.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* testsuite/experimental/simd/README.md: Document the timeout
	and timeout-factor directives. Minor typo fixed.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/108030
	* include/experimental/bits/simd_detail.h: Define
	_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
	* include/experimental/bits/simd.h: Annotate lambdas with
	_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
	* include/experimental/bits/simd_builtin.h: Ditto.
	* include/experimental/bits/simd_converter.h: Ditto.
	* include/experimental/bits/simd_fixed_size.h: Ditto.
	* include/experimental/bits/simd_math.h: Ditto.
	* include/experimental/bits/simd_neon.h: Ditto.
	* include/experimental/bits/simd_x86.h: Ditto.

2023-02-16  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h
	(_SimdWrapper::_M_is_constprop_none_of)
	(_SimdWrapper::_M_is_constprop_all_of): Return false unless the
	computed result still satisfies __builtin_constant_p.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
	ellipsis character.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/experimental/synchronized_value: New file.
	* testsuite/experimental/synchronized_value.cc: New test.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/optional: Fix header name in comment.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Arg_store): New class template.
	(basic_format_args): Remove nested type _Store and add deduction
	guide from _Arg_store.
	(basic_format_arg, make_format_args): Adjust.
	* testsuite/std/format/arguments/lwg3810.cc: New test.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
	constraints to constructors and add deleted overloads for the
	dangling cases, as per P2255R2.
	(pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
	make dangling cases ill-formed.
	* testsuite/20_util/pair/dangling_ref.cc: New test.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/names_pstl.cc: Require et tbb_backend.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/ext/throw_allocator.h: Use reserved names for
	parameters.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/names_pstl.cc: Add space after effective
	target name.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/pstl/algorithm_fwd.h (__pattern_search_n)
	(__brick_unique_copy, __brick_adjacent_find)
	(__brick_generate_n, __pattern_generate_n): Use reserved names
	for parameters.
	* include/pstl/algorithm_impl.h (__brick_unique_copy)
	(__pattern_reverse, __brick_generate_n): Likewise.
	* include/pstl/execution_impl.h (__prefer_unsequenced_tag)
	(__prefer_parallel_tag): Likewise.
	* include/pstl/glue_algorithm_impl.h (transform): Likewise.
	* include/pstl/glue_numeric_defs.h (adjacent_difference):
	Likewise.
	* include/pstl/numeric_impl.h (__brick_adjacent_difference):
	Likewise.
	* include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
	* include/pstl/unseq_backend_simd.h (_Combiner)
	(__simd_min_element, __simd_minmax_element): Likewise.
	* testsuite/17_intro/names_pstl.cc: New test.

2023-02-16  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/fs_ops.h (create_directory): Use reserved name
	for parameter.
	* include/bits/ranges_algo.h (__contains_subrange_fn):
	Likewise.
	* include/bits/regex_automaton.h (_State_base::_M_print):
	Likewise.
	* include/bits/regex_automaton.tcc(_State_base::_M_print):
	Likewise.
	* include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
	* include/experimental/bits/fs_ops.h (create_directory):
	Likewise.
	* include/std/mutex (timed_mutex::_M_clocklock): Likewise.
	(recursive_timed_mutex:_M_clocklock): Likewise.
	* include/std/tuple (basic_common_reference): Likewise.
	* libsupc++/cxxabi_init_exception.h
	(__cxa_init_primary_exception): Likewise.
	* testsuite/17_intro/names.cc: Add checks.

2023-02-14  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
	to www.open-std.org and https.
	* doc/html/manual/status.html: Regenerate.

2023-02-14  Thomas W Rodgers  <rodgert@twrodgers.com>

	PR libstdc++/103934
	* include/std/atomic (atomic_flag_wait): Add.
	(atomic_flag_wait_explicit): Add.
	(atomic_flag_notify): Add.
	(atomic_flag_notify_explicit): Add.
	* testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
	Add test case to cover missing atomic_flag free functions.

2023-02-14  Thomas W Rodgers  <rodgert@twrodgers.com>

	PR libstdc++/103934
	* include/std/atomic (atomic_flag_test): Add.
	(atomic_flag_test_explicit): Add.
	* testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
	test case to cover missing atomic_flag free functions.
	* testsuite/29_atomics/atomic_flag/test/implicit.cc:
	Likewise.

2023-02-13  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust
	"The Component Object Model" reference.
	* doc/html/manual/policy_data_structures.html: Regenerate.

2023-02-12  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/containers.xml: Tweak a link to N1780
	(C++ standard).
	* doc/html/manual/associative.html: Regenerate.

2023-02-12  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
	* doc/html/manual/facets.html: Regenerate.

2023-02-11  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/policy_data_structures_biblio.xml: Update
	link to "Worst-case efficient priority queues".
	* doc/html/manual/policy_data_structures.html: Regenerate.

2023-02-06  Arsen Arsenović  <arsen@aarsen.me>

	* doc/xml/manual/using.xml: Document newly-freestanding
	headers and the effect of the -ffreestanding flag.
	* doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
	completed.
	* doc/xml/manual/configure.xml: Document that hosted installs
	respect __STDC_HOSTED__.
	* doc/xml/manual/test.xml: Document how to run tests in
	freestanding mode.
	* doc/html/*: Regenerate.

2023-02-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
	(__find_last_if_fn): Likewise.

2023-02-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/type_traits: Add diagnostic pragmas around
	references to deprecated std::aligned_storage and
	std::aligned_union traits.
	* testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
	Add dg-warning for et c++23.
	* testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/aligned_storage/value.cc: Likewise.
	* testsuite/20_util/aligned_union/1.cc: Likewise.
	* testsuite/20_util/aligned_union/requirements/alias_decl.cc:
	Likewise.

2023-02-06  Nathaniel Shead  <nathanieloshead@gmail.com>

	* doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
	* include/bits/c++config (_GLIBCXX23_DEPRECATED)
	(_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
	* include/std/type_traits (aligned_storage, aligned_union)
	(aligned_storage_t, aligned_union_t): Deprecate for C++23.
	* testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
	* testsuite/20_util/aligned_union/deprecated-2b.cc: New test.

2023-02-06  Nathaniel Shead  <nathanieloshead@gmail.com>

	* doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
	* include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
	consistent with other 'deprecated' macros.
	* include/std/type_traits (is_pod, is_pod_v): Use
	_GLIBCXX20_DEPRECATED_SUGGEST instead.

2023-02-06  Arsen Arsenović  <arsen@aarsen.me>

	* Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
	* Makefile.in: Regenerate.
	* src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
	There's no history to be compatible with.
	* src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
	source files from the build.
	* src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
	* src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
	* src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.

2023-02-06  Jonathan Wakely  <jwakely@redhat.com>

	* src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
	filesystem, libbacktrace and experimental.
	* src/Makefile.in: Regenerate.

2023-02-04  Hans-Peter Nilsson  <hp@axis.com>

	PR libstdc++/108672
	* include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
	instead of int32_t.

2023-02-04  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
	* doc/html/manual/documentation_hacking.html: Regenerate.

2023-02-04  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
	storage to the move-from instance when allocators are equal.
	* testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
	New test case.

2023-02-03  Samuel Thibault  <samuel.thibault@gnu.org>

	* config/os/gnu-linux/os_defines.h [!__linux__]
	(_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.

2023-02-03  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_algo.h (__find_last_fn, find_last):
	Define.
	(__find_last_if_fn, find_last_if): Define.
	(__find_last_if_not_fn, find_last_if_not): Define.
	* testsuite/25_algorithms/find_last/1.cc: New test.
	* testsuite/25_algorithms/find_last_if/1.cc: New test.
	* testsuite/25_algorithms/find_last_if_not/1.cc: New test.

2023-02-03  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_algo.h (out_value_result): Define.
	(iota_result): Define.
	(__iota_fn, iota): Define.
	* testsuite/25_algorithms/iota/1.cc: New test.

2023-02-03  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_algo.h (__contains_fn, contains): Define.
	(__contains_subrange_fn, contains_subrange): Define.
	* testsuite/25_algorithms/contains/1.cc: New test.
	* testsuite/25_algorithms/contains_subrange/1.cc: New test.

2023-02-02  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
	* doc/html/manual/abi.html: Regenerate.

2023-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* src/filesystem/ops-common.h [AVR] (__unsupported): Always use
	errc::function_not_supported instead of errc::not_supported.

2023-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/sstream  (basic_stringbuf::view): Define for old
	std::string ABI.
	(basic_istringstream::view, basic_0stringstream::view)
	(basic_stringstream::view): Likewise.
	* testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
	{ dg-require-effective-target cxx11_abi }.
	* testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
	Likewise.

2023-02-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108636
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
	conversion operators for directory iterator comparisons with
	std::default_sentinel_t.
	* include/bits/fs_path.h (path::path(string_view, _Type))
	(path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
	definitions to ...
	* src/c++17/fs_path.cc: ... here.
	* testsuite/27_io/filesystem/path/108636.cc: New test.

2023-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (variant::operator=): Implement resolution
	of LWG 3585.
	* testsuite/20_util/variant/lwg3585.cc: New test.

2023-02-02  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
	link to https.
	* doc/html/manual/using_exceptions.html: Regenerate.

2023-02-02  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/debug.xml: Fix link to online GDB manual.
	* doc/html/manual/debug.html: Regenerate.

2023-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++11/random.cc (random_device::_M_fini): Do not try to
	close the file handle if the target doesn't support the
	/dev/random and /dev/urandom files.

2023-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* config/os/generic/error_constants.h (errc::value_too_large)
	[__AVR__]: Define.
	* src/c++11/system_error.cc
	(system_category::default_error_condition) [__AVR__]: Only match
	recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
	* src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
	for ENOENT etc. in switch.
	(fs::remove_all) [__AVR__]: Likewise.
	* src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
	close etc.

2023-02-01  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
	embed_zoneinfo=no
	* configure: Regenerate.

2023-02-01  Hans-Peter Nilsson  <hp@axis.com>

	PR testsuite/108632
	* testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
	struct at end of S0.

2023-01-30  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/shared_ptr.xml: Move links from both
	http://open-std.org and http://www.open-std.org to
	https://www.open-std.org.
	* doc/html/manual/memory.html: Regenerate.

2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/appendix_contributing.xml: Adjust link to
	ISO C++ standard at ANSI.
	Move link to www.open-std.org to https.
	* doc/html/manual/appendix_contributing.html: Regenerate.

2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
	links to https.
	* doc/html/manual/documentation_hacking.html: Regenerate.

2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/abi.xml: Update www.open-std.org link to https.
	* doc/html/manual/abi.html: Regenerate.

2023-01-27  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/108568
	* testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
	include features.h if present and then check __GLIBC__ and
	__GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
	__GLIBC_PREREQ which isn't defined yet.

2023-01-27  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
	string literal.

2023-01-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108554
	* testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.

2023-01-26  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
	rules named "+" for compatibility with older tzdata.zi files.

2023-01-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108554
	* include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
	nonnull attribute.
	(_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
	attributes.
	* testsuite/23_containers/map/modifiers/108554.cc: New test.

2023-01-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108530
	* src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
	/etc/sysconfig/clock, not DEFAULT_TIMEZONE.

2023-01-26  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/intro.xml: Update links to www.open-std.org to
	use https.
	* doc/html/manual/bugs.html: Regenerate.

2023-01-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108530
	* src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
	/etc/sysconfig/clock.

2023-01-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/102301
	* include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
	std::make_reverse_iterator.
	* include/std/tuple: Include <bits/ranges_util.h> for subrange.
	(make_from_tuple): Add static assertion from P2255 to diagnose
	dangling references.
	* testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
	* testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.

2023-01-23  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
	(_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
	(_Safe_iterator::operator++(int)): Use latter.
	(_Safe_iterator::operator--(int)): Likewise.
	(_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
	check.
	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
	New.
	(_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
	(_Safe_local_iterator::operator++(int)): Use latter.
	* src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
	entry associated to the array entry.

2023-01-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/fs_path.h (u8path): Add deprecated attribute.
	* testsuite/27_io/filesystem/path/construct/90281.cc: Add
	-Wno-deprecated-declarations for C++20 and later.
	* testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
	* testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.

2023-01-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
	Always call _M_fini and _M_getentropy.

2023-01-18  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
	to www.open-std.org to use https.
	(COM: Component Model Object Technologies): Rename from...
	(The Component Object Model): ...to.
	* doc/html/manual/policy_data_structures.html: Regenerate.

2023-01-18  Dimitrij Mijoski  <dmjpp@hotmail.com>

	* testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
	* testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
	* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.

2023-01-17  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
	of $host. Fix check for file being present during native build.
	* configure: Regenerate.

2023-01-17  Martin Liska  <mliska@suse.cz>

	* src/libbacktrace/Makefile.in: Regenerate.

2023-01-16  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.

2023-01-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108413
	* include/c_compatibility/stdatomic.h: Change copyright line to
	be consistent with other headers contributed under DCO terms.
	* include/std/expected: Add full stop to copyright line.
	* src/c++20/tzdb.cc: Likewise.

2023-01-15  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
	https.
	* doc/xml/manual/status_cxx2017.xml: Ditto.
	* doc/xml/manual/status_cxx2020.xml: Ditto.
	* doc/xml/manual/status_cxx2023.xml: Ditto.
	* doc/html/manual/status.html: Regenerate.

2023-01-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
	and fail gracefully if defining the weak symbol doesn't work.

2023-01-15  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/108288
	* include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
	fix to other iterator category.
	(_Safe_iterator<>::operator--(int)): Likewise.
	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
	Fix deadlock.
	* testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
	(invalid_local_iterator_post_increment): New.
	* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
	New test.
	* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
	New test.

2023-01-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
	dg-options.

2023-01-15  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.

2023-01-14  Björn Schäpers  <bjoern@hazardy.de>

	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
	windows.h. Add pecoff as FORMAT_FILE.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/libbacktrace/Makefile.am: Regenerate.
	* src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.

2023-01-14  Björn Schäpers  <bjoern@hazardy.de>

	* include/std/stacktrace (stacktrace_entry::_S_demangle): Use
	raw __name if __cxa_demangle could not demangle it.

2023-01-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108409
	* src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
	variable.

2023-01-14  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
	loading tzdb.
	* testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
	effective target.
	* testsuite/std/time/tzdb_list/1.cc: Likewise.

2023-01-14  Jonathan Wakely  <jwakely@redhat.com>

	* acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
	--with-libstdcxx-zoneinfo-dir configure option with
	--with-libstdcxx-zoneinfo with yes/no/static choices as well as
	a directory.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* doc/xml/manual/configure.xml: Document configure option.
	* doc/html/manual/configure.html: Regenerate.
	* src/c++20/Makefile.am: Generate tzdata.zi.h header.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
	null pointer if no directory is configured.
	(zoneinfo_dir): Replace with ...
	(zoneinfo_file): New function.
	(tzdata_stream): New istream class.
	(remote_version, reload_tzdb): Use tzdata_stream.
	* testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
	Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
	tzdata.zi file in default location.
	* src/c++20/tzdata.zi: New file.

2023-01-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (operator<<): Fix syntax errors.
	* testsuite/std/time/month_day/io.cc: New test.
	* testsuite/std/time/month_day_last/io.cc: New test.
	* testsuite/std/time/month_weekday/io.cc: New test.
	* testsuite/std/time/month_weekday_last/io.cc: New test.
	* testsuite/std/time/weekday_indexed/io.cc: New test.
	* testsuite/std/time/weekday_last/io.cc: New test.
	* testsuite/std/time/year_month/io.cc: New test.
	* testsuite/std/time/year_month_day_last/io.cc: New test.
	* testsuite/std/time/year_month_weekday/io.cc: New test.
	* testsuite/std/time/year_month_weekday_last/io.cc: New test.

2023-01-14  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
	specifications.
	* config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
	export.

2023-01-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/std_mutex.h: Include <errno.h>.

2023-01-13  Arsen Arsenović  <arsen@aarsen.me>

	* testsuite/20_util/to_chars/version.cc: Mark hosted-only.
	* testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
	* testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
	std::make_unique with a freestanding-compatible wrapper around
	unique_ptr.
	* testsuite/21_strings/basic_string_view/operations/contains/char.cc:
	Don't test for presence of __cpp_lib_string_contains on !HOSTED.
	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
	Ditto.
	* testsuite/std/ranges/version_c++23.cc: Don't test for presence
	of __cpp_lib_ranges in !HOSTED.

2023-01-13  Arsen Arsenović  <arsen@aarsen.me>

	* include/Makefile.am: Install bits/char_traits.h,
	std/string_view
	* include/Makefile.in: Regenerate.
	* include/bits/char_traits.h: Gate hosted-only, wchar-only and
	mbstate-only bits behind appropriate #ifs.
	* include/std/string_view: Gate <iostream> functionality behind
	HOSTED.
	* include/std/version: Enable __cpp_lib_constexpr_string_view
	and __cpp_lib_starts_ends_with in !HOSTED.
	* include/std/ranges: Re-enable __is_basic_string_view on
	freestanding, include <string_view> directly.
	* include/precompiled/stdc++.h: Include <string_view> when
	!HOSTED too.
	* testsuite/20_util/function_objects/searchers.cc: Skip testing
	boyer_moore searchers on freestanding
	* testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
	<string>-related tests behind __STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
	* testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
	unused <stdexcept> include.
	* testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
	unused <vector> include.
	* testsuite/21_strings/basic_string_view/cons/char/range.cc:
	Guard <string> related testing behind __STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
	Guard <stdexcept> related tests behind __STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
	Ditto.
	* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
	Guard <stdexcept> tests behind __STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
	Enable test on freestanding, guard <stdexcept> bits behind
	__STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/operations/substr/char.cc:
	Guard <stdexcept> bits behind __STDC_HOSTED__.
	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
	Ditto.

2023-01-13  Dimitrij Mijoski  <dmjpp@hotmail.com>

	PR libstdc++/86419
	* src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
	errors in incomplete multibyte sequences.
	(utf16_in): Remove surrogates parameter. Fix conditions for
	returning partial.
	(utf16_out): Fix condition for returning partial.
	(ucs2_in): Do not pass surrogates argument to utf16_in.
	* testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
	* testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
	tests.
	* testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
	test.

2023-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108331
	* config/io/c_io_stdio.h (__c_lock): Define as a typedef for
	__GTHREAD_LEGACY_MUTEX_T if defined.

2023-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108327
	* config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
	Export __try_use_facet specializations for facets in namespace
	__gnu_cxx_ldbl128.
	* config/os/gnu-linux/ldbl-ieee128-extra.ver
	(GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
	__gnu_cxx_ieee128.
	* testsuite/util/testsuite_abi.cc: Add to lists of known and
	latest versions.

2023-01-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/std_mutex.h: Remove <system_error> include.
	* include/std/condition_variable: Add <bits/error_constants.h>
	include.
	* include/std/mutex: Likewise.
	* include/std/shared_mutex: Likewise.

2023-01-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/77691
	* include/experimental/memory_resource
	(_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
	(do_allocate, do_deallocate): Check it.
	* testsuite/experimental/memory_resource/new_delete_resource.cc:
	Relax expected behaviour for 64-bit hppa-hp-hpux11.11.

2023-01-12  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/abi.xml: Add latest library versions.
	* doc/html/manual/abi.html: Regenerate.

2023-01-12  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/107189
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
	unused _Alloc_node instance.

2023-01-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_wait.h (__detail::__platform_wait_t):
	Define as unsigned long if always lock-free, and unsigned int
	otherwise.

2023-01-10  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
	__catch macros for exception handling.

2023-01-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108221
	* include/bits/stl_algobase.h (__lg): Replace six overloads with
	a single function template for all integer types.
	* include/bits/stl_algo.h (__merge_adaptive_resize): Cast
	arithmetic results back to _Distance.

2023-01-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108221
	* include/std/span (span::span()): Un-simplify constraint to
	work for size_t of lesser rank than int.

2023-01-07  LIU Hao  <lh_mouse@126.com>

	PR middle-end/108300
	* src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
	<windows.h>.
	* src/c++11/thread.cc: Likewise.
	* src/c++17/fs_ops.cc: Likewise.
	* src/filesystem/ops.cc: Likewise.

2023-01-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108228
	* src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.

2023-01-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108235
	* src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
	template and partial specialization for synchronizing access to
	time_zone::_Impl::infos.
	(time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
	rules_counter.

2023-01-06  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/108260
	* include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
	* include/std/ranges (__cpp_lib_ranges_zip): Likewise.
	(__cpp_lib_ranges_chunk): Likewise.
	(__cpp_lib_ranges_slide): Likewise.
	(__cpp_lib_ranges_chunk_by): Likewise.
	(__cpp_lib_ranges_join_with): Likewise.
	(__cpp_lib_ranges_repeat): Likewise.
	(__cpp_lib_ranges_stride): Likewise.
	(__cpp_lib_ranges_cartesian_product): Likewise.
	(__cpp_lib_ranges_as_rvalue): Likewise.
	* include/std/version: Ditto.
	* testsuite/20_util/tuple/p2321r2.cc: Verify value of
	feature-test macro.
	* testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
	* testsuite/std/ranges/cartesian_product/1.cc: Likewise.
	* testsuite/std/ranges/repeat/1.cc: Likewise.
	* testsuite/std/ranges/zip/1.cc: Likewise.
	* testsuite/std/ranges/version_c++23.cc: New test.

2023-01-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108214
	* include/std/bitset (operator>>): Use alloca in the right
	scope, not in a constructor.
	* testsuite/20_util/bitset/io/input.cc: Check case from PR.

2023-01-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108221
	* include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
	Disable visiting floating-point types.

2023-01-06  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108288
	* include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
	(_Safe_iterator::operator--(int)): Do not hold lock around
	construction of return value.

2023-01-05  John David Anglin  <danglin@gcc.gnu.org>

	* config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
	(__exchange_and_add): Use _PA_LDCW_INSN.  Use ordered store for
	lock release.  Revise loop.
	(__atomic_add): Likewise.

2023-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108212
	* python/libstdcxx/v6/printers.py (_utc_timezone): New global
	variable.
	(StdChronoTimePointPrinter::to_string): Use it.

2023-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108290
	* include/std/functional (_Bind_front): Add no_unique_address
	attribute to data members.
	* testsuite/20_util/function_objects/bind_front/107784.cc: Check
	size of call wrappers with empty types for targets and bound
	arguments.

2023-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108211
	* src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
	using only last component of the name.

2023-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108228
	PR libstdc++/108235
	* config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
	the latest symbol version.
	* src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
	atomic<_Node*> is not always lock free.
	(USE_ATOMIC_LIST_HEAD): New macro.
	[__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
	definition of weak symbol.
	(tzdb_list::_Node::_S_head): Rename to _S_head_cache.
	(tzdb_list::_Node::_S_list_head): New function for accessing
	list head efficiently.
	(tzdb_list::_Node::_S_cache_list_head): New function for
	updating _S_list_head.

2023-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108265
	* include/std/chrono (hh_mm_ss): Do not use chrono::abs if
	duration rep is unsigned.
	* testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.

2023-01-04  Iain Sandoe  <iain@sandoe.co.uk>

	PR libstdc++/108228
	* config/abi/pre/gnu.ver (GLIBCXX_3.4):
	Add __gnu_cxx::zoneinfo_dir_override().

2023-01-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108258
	* include/std/array (__array_traits<T, 0>::operator T*()): Add
	constexpr.
	* testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
	std::array<T, 0>::data().


Copyright (C) 2023 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
