2026-01-26  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-11-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105857
	* config/locale/dragonfly/codecvt_members.cc (do_length): Limit
	size of alloca buffer to 4k.
	* config/locale/gnu/codecvt_members.cc (do_length): Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New
	test.

2026-01-23  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-09-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117276
	* include/pstl/parallel_backend_tbb.h (__func_task::finalize):
	Make deallocation unconditional.

2026-01-23  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-12-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/atomic_wait.h (__detail::__atomic_compare): Use
	std::addressof instead of &.
	* include/std/atomic (atomic::wait, atomic::notify_one)
	(atomic::notify_all): Likewise.

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

	Backported from master:
	2025-11-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/122726
	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
	(rename): Use __last_system_error to set errno accurately.
	* testsuite/27_io/filesystem/operations/rename.cc: Test
	error_code matches errc::no_such_file_or_directory.

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

	Backported from master:
	2025-11-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/122661
	* include/bits/forward_list.h (forward_list::assign(I, I)): Fix
	value category in is_assignable check.
	* testsuite/23_containers/forward_list/modifiers/122661.cc:
	New test.

2025-09-09  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2025-09-05  Tomasz Kamiński  <tkaminsk@redhat.com>

	* doc/html/manual/status.html: Regenerate.
	* doc/xml/manual/status_cxx2011.xml: Add entry for bad_function_call.
	* doc/xml/manual/status_cxx2017.xml: Add entries for bad_any_cast
	and nullptr_t output. Update entry for sf.cmath. Fix stable name for
	mem.res.

2025-09-09  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2025-09-05  Tomasz Kamiński  <tkaminsk@redhat.com>

	* doc/html/manual/status.html: Regenerate the file.
	* doc/xml/manual/status_cxx2017.xml: Addd more entires.

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

	Backported from master:
	2025-09-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/120698
	* doc/xml/manual/configure.xml: Do not claim that vtv is enabled
	by default.
	* doc/html/manual/configure.html: Regenerate.

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

	Backported from master:
	2025-09-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110853
	* include/bits/stl_pair.h [C++20] (pair(const T1&, const T2&)):
	Use std::type_identity_t<T1> for first parameter.
	* testsuite/20_util/pair/cons/110853.cc: New test.

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

	Backported from master:
	2025-09-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/121745
	* include/bits/stl_pair.h (get): Use forward instead of move in
	std::get<T> overloads for rvalue pairs.
	* testsuite/20_util/pair/astuple/get_by_type.cc: Check all value
	categories and cv-qualification.

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

	Backported from master:
	2025-07-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/121097
	* include/c_global/cmath (hypot): Use __promote_3 instead of
	__promoted.

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

	Backported from master:
	2025-06-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/99832
	* include/bits/chrono.h (system_clock::to_time_t): Add
	always_inline attribute to be agnostic to the underlying type of
	time_t.
	(system_clock::from_time_t): Add always_inline for consistency
	with to_time_t.
	* testsuite/20_util/system_clock/99832.cc: New test.

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

	Backported from master:
	2025-06-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/120548
	* include/std/format (__formatter_fp::_M_localize): Do not
	include a leading sign character in the string to be grouped.
	* testsuite/std/format/functions/format.cc: Check grouping when
	sign is present in the output.

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

	Backported from master:
	2024-09-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__formatter_fp::_M_localize): Add comments
	and micro-optimize string copy.

2025-06-10  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-05-20  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/faq.xml: Update URL for archived SGI STL docs.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/utilities.xml: Likewise.
	* doc/html/*: Regenerate.

2025-06-06  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	Backported from master:
	2025-02-07  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	PR libstdc++/118160
	PR libstdc++/100249
	* include/bits/ranges_algo.h (__is_permutation_fn): Avoid a
	dangling reference by storing the result of the iterator
	dereference and the result of the projection in two distinct
	variables, in order to lifetime-extend each one.
	Forward the projected value to the predicate.
	* testsuite/25_algorithms/is_permutation/constrained.cc: Add a
	test with a range returning prvalues. Test it in a constexpr
	context, in order to rely on the compiler to catch UB.

2025-06-05  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	Backported from master:
	2025-03-14  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	* include/bits/shared_ptr_base.h (lock): Fixed a compile error
	when calling lock() on a weak_ptr<T[]>, by removing an
	erroneous usage of element_type from within lock().
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc:
	Add more tests for array types.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/requirements/1.cc: New test.
	* testsuite/20_util/weak_ptr/requirements/1.cc: New test.

2025-06-05  Release Manager

	* GCC 13.4.0 released.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112490
	* testsuite/24_iterators/const_iterator/112490.cc: Add
	dg-options directive.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2024-10-29  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112641
	* include/std/ranges (drop_view::begin): Reimplement const
	overload so that it's O(1) always.
	* testsuite/std/ranges/adaptors/drop.cc (test10): New test.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2025-04-09  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/115046
	PR libstdc++/112490
	* include/bits/stl_iterator.h (basic_const_iterator::operator-):
	Replace non-dependent basic_const_iterator function parameter with
	a dependent one of type basic_const_iterator<_It2> where _It2
	matches _It.
	* testsuite/std/ranges/adaptors/as_const/1.cc (test04): New test.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2025-02-28  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/112490
	* include/bits/stl_iterator.h (basic_const_iterator::operator<):
	Replace non-dependent basic_const_iterator function parameter with
	a dependent one of type basic_const_iterator<_It3> where _It3
	matches _It.
	(basic_const_iterator::operator>): Likewise.
	(basic_const_iterator::operator<=): Likewise.
	(basic_const_iterator::operator>=): Likewise.
	* testsuite/24_iterators/const_iterator/112490.cc: New test.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2025-03-13  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/119135
	* include/std/ranges: Include <utility>.
	(views::__detail::__is_ref_view): Replace with ...
	(views::__detail::__is_constable_ref_view): ... this.
	(views::_AsConst::operator()): Replace bogus use of element_type
	in the ref_view branch.
	* testsuite/std/ranges/adaptors/as_const/1.cc (test03): Extend
	test.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2024-01-17  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (views::_CartesianProduct::operator()):
	Adjust identity case as per P2540R1.
	* testsuite/std/ranges/cartesian_product/1.cc (test01):
	Adjust expected result of the identity case.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2024-01-15  Patrick Palka  <ppalka@redhat.com>

	* include/bits/stl_iterator.h (const_iterator): Define conversion
	operators as per P2836R1.
	* include/std/ranges (__cpp_lib_ranges_as_const): Update value.
	* include/std/version (__cpp_lib_ranges_as_const): Likewise.
	* testsuite/24_iterators/const_iterator/1.cc (test04): New test.
	* testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
	value of __cpp_lib_ranges_as_const.
	* testsuite/std/ranges/version_c++23.cc: Likewise.

2025-05-27  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2024-10-05  Patrick Palka  <ppalka@redhat.com>

	* include/bits/ranges_base.h (__distance_fn::operator()):
	Adjust iterator/sentinel overloads as per LWG 3664.
	* testsuite/24_iterators/range_operations/distance.cc:
	Test LWG 3664 example.

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

	* doc/xml/manual/status_cxx2023.xml: Update status of proposals
	implemented for GCC 13.
	* doc/html/manual/status.html: Regenerate.

2025-05-08  Richard Biener  <rguenther@suse.de>

	Backported from master:
	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.

2025-04-23  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-11-04  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117406
	* testsuite/26_numerics/headers/cmath/117406.cc: Use
	std::numeric_limits<int>::max() instead of INT_MAX.

2025-04-23  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-11-02  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117406
	* include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16),
	std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)):
	Don't cast __builtin_* return to _Float16.
	(std::ilogb(__gnu_cxx::__bfloat16_t),
	std::llrint(__gnu_cxx::__bfloat16_t),
	std::llround(__gnu_cxx::__bfloat16_t),
	std::lrint(__gnu_cxx::__bfloat16_t),
	std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to
	__gnu_cxx::__bfloat16_t.
	* testsuite/26_numerics/headers/cmath/117406.cc: New test.

2025-04-23  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-10-29  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/117321
	* include/c_global/cmath (nextafter(_Float16, _Float16)): Use
	if consteval rather than if (std::__is_constant_evaluated()) around
	the __builtin_nextafterf16 call.
	(nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use
	if consteval rather than if (std::__is_constant_evaluated()) around
	the __builtin_nextafterf16b call.
	* testsuite/26_numerics/headers/cmath/117321.cc: New test.

2025-04-18  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/format (basic_format_arg::_S_to_arg_type): Normalize
	_Float32 and _Float64 only to float and double respectivelly.
	(basic_format_arg::_S_to_enum): Remove handling of _Float32 and _Float64.
	(cherry picked with modifications from commit 445128c12cf22081223f7385196ee3889ef4c4b2)

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/20_util/integer_sequence/112473.cc: Compile with
	-std=gnu++20.
	* testsuite/21_strings/char_traits/requirements/113200.cc:
	Likewise.
	* testsuite/23_containers/array/comparison_operators/106212.cc:
	Likewise.
	* testsuite/23_containers/array/creation/115522.cc: Likewise.
	* testsuite/23_containers/span/117966.cc: Likewise.
	* testsuite/23_containers/span/nodiscard.cc: Likewise. Remove
	dg-warning directives for et c++23.
	* testsuite/23_containers/vector/cons/113841.cc: Compile with
	-std=gnu++20.
	* testsuite/24_iterators/common_iterator/101527.cc: Likewise.
	* testsuite/24_iterators/counted_iterator/101527.cc: Likewise.
	* testsuite/24_iterators/move_iterator/lwg3736.cc: Likewise.
	* testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
	Likewise.
	* testsuite/27_io/filesystem/iterators/lwg3480.cc: Likewise.
	* testsuite/29_atomics/headers/stdatomic.h/115807.cc: Compile
	with -std=gnu++23.
	* testsuite/experimental/scopeguard/114152.cc: Compile with
	-std=gnu++20.
	* testsuite/std/format/arguments/112607.cc: Likewise.
	* testsuite/std/format/arguments/args_neg.cc: Likewise.
	* testsuite/std/format/context.cc: Likewise.
	* testsuite/std/format/formatter/112832.cc: Likewise.
	* testsuite/std/format/formatter/basic.cc: Likewise.
	* testsuite/std/ranges/subrange/111948.cc: Likewise.
	* testsuite/std/ranges/subrange/lwg3589.cc: Likewise.
	* testsuite/std/time/format/pr117085.cc: Likewise.
	* testsuite/std/time/month/2.cc: Likewise.
	* testsuite/std/time/time_zone/sys_info_abbrev.cc: Likewise.
	* testsuite/std/time/tzdb/links.cc: Likewise.
	* testsuite/std/time/weekday/2.cc: Likewise.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/names.cc: Check ranges is not used as an
	identifier before C++20.

2025-04-16  Michael Levine  <mlevine55@bloomberg.net>

	Backported from master:
	2024-06-08  Michael Levine  <mlevine55@bloomberg.net>

	PR libstdc++/108760
	* include/bits/ranges_algo.h (ranges::out_value_result)
	(ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to
	<bits/ranges_algobase.h>.
	* include/bits/ranges_algobase.h (ranges::out_value_result):
	(ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to
	here.
	* include/std/numeric: Include <bits/ranges_algobase.h>.
	* testsuite/25_algorithms/iota/1.cc: Renamed to ...
	* testsuite/26_numerics/iota/2.cc: ... here.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/105609
	* include/bits/ranges_algobase.h (__detail::__assign_one): New
	helper function.
	(__copy_or_move, __copy_or_move_backward): Use new function
	instead of std::__assign_one.
	* testsuite/25_algorithms/move/constrained.cc: Check that
	ADL iter_move is used in preference to std::move.
	* testsuite/25_algorithms/move_backward/constrained.cc:
	Likewise.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algobase.h (ranges::__assign_one): Remove.
	(__copy_or_move, __copy_or_move_backward): Use std::__assign_one
	instead of ranges::__assign_one.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117121
	* include/bits/ranges_algobase.h (copy_backward): Decrement
	output iterator before assigning one element through it.
	* testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's
	effects are correct for a single memcpyable element.
	* testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
	* testsuite/25_algorithms/copy_n/108846.cc: Likewise.

2025-04-16  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	Backported from master:
	2024-09-13  Giuseppe D'Angelo  <giuseppe.dangelo@kdab.com>

	PR libstdc++/108846
	PR libstdc++/116471
	* include/bits/ranges_algobase.h (__assign_one): New helper
	function.
	(__copy_or_move): Remove a spurious static_assert; use
	__assign_one for memcpyable ranges of length 1.
	(__copy_or_move_backward): Likewise.
	* testsuite/25_algorithms/copy/108846.cc: Extend to range-based
	algorithms, and cover both memcpyable and non-memcpyable
	cases.
	* testsuite/25_algorithms/copy_backward/108846.cc: Likewise.
	* testsuite/25_algorithms/copy_n/108846.cc: Likewise.
	* testsuite/25_algorithms/move/108846.cc: Likewise.
	* testsuite/25_algorithms/move_backward/108846.cc: Likewise.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/106612
	* include/bits/iterator_concepts.h (_IterMove::__iter_ref_t):
	New alias template.
	(_IterMove::__result): Use __iter_ref_t instead of
	std::iter_reference_t.
	(_IterMove::__type): Remove incorrect __dereferenceable
	constraint.
	(_IterMove::operator()): Likewise. Add correct constraints. Use
	__iter_ref_t instead of std::iter_reference_t. Forward parameter
	as correct value category.
	(iter_swap): Add comments.
	* testsuite/24_iterators/customization_points/iter_move.cc: Test
	that iter_move is found by ADL and that rvalue arguments are
	handled correctly.

2025-04-16  Arsen Arsenović  <arsen@aarsen.me>

	Backported from master:
	2023-12-21  Arsen Arsenović  <arsen@aarsen.me>

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

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-01-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118093
	* include/bits/atomic_futex.h (_M_load_and_test_until_impl):
	Return false for times before the epoch.
	* src/c++11/futex.cc (_M_futex_wait_until): Extend check for
	negative times to check for subsecond times. Add unlikely
	attribute.
	(_M_futex_wait_until_steady): Likewise.
	* testsuite/30_threads/future/members/118093.cc: New test.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104395
	* include/bits/new_allocator.h: Disable extended alignment
	support in C++98 mode.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* testsuite/ext/104395.cc: New test.

2025-04-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h (polymorphic_allocator::destroy):
	Remove deprecated attribute.

2025-04-15  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-04-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/21334
	* doc/xml/manual/using.xml: Document that container data race
	avoidance rules do not apply to COW std::string.
	* doc/html/*: Regenerate.

2025-04-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-04-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/119671
	* include/std/format (__formatter_fp::format): Do not invalidate
	__wstr unless _M_localized returns a valid string.
	* testsuite/std/format/functions/format.cc: Check wide string
	formatting of floating-point types with classic locale.

2025-04-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-04-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101587
	* include/bits/ranges_uninitialized.h (__detail::__mindist):
	Remove.
	(ranges::uninitialized_copy, ranges::uninitialized_copy_n)
	(ranges::uninitialized_move, ranges::uninitialized_move_n): Use
	comparison and assignment instead of __mindist.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
	Check with ranges that use integer-like class type for
	difference type.
	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
	Likewise.

2025-04-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101587
	* include/bits/ranges_uninitialized.h (__detail::__mindist):
	New function object.
	(ranges::uninitialized_copy, ranges::uninitialized_copy_n)
	(ranges::uninitialized_move, ranges::uninitialized_move_n): Use
	__mindist instead of std::min.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
	Check ranges with difference difference types.
	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
	Likewise.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/bit (bit_cast): Use library trait instead of
	__is_trivially_copyable built-in.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110498
	* include/bits/vector.tcc (vector<bool, A>::_M_reallocate):
	Hoist loads of begin() and end() before allocation and use them
	to state an unreachable condition.
	* testsuite/23_containers/vector/bool/capacity/110498.cc: New
	test.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114758
	* include/bits/vector.tcc (vector<bool, A>::_M_fill_insert):
	Hoist loads of begin() and end() before allocation.
	* testsuite/23_containers/vector/bool/capacity/114758.cc: New
	test.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117983
	* include/bits/vector.tcc (vector::_M_range_insert): Add
	unreachable condition to tell the compiler begin() <= end().
	* testsuite/23_containers/vector/modifiers/insert/117983.cc: New
	test.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116212
	* testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
	Use unsigned for vector size.

2025-04-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_base.h (range_common_reference_t): New
	alias template, as per LWG 3860.
	* testsuite/std/ranges/range.cc: Check it.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/forward_list (erase): Change lambda to have
	explicit return type and const parameter type.
	* include/std/list (erase): Likewise.
	* testsuite/23_containers/forward_list/erasure.cc: Check lambda
	is correct.
	* testsuite/23_containers/list/erasure.cc: Likewise.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/119429
	* include/std/format (__format::_Scanner::_Scanner): Cast
	default argument to size_t.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-27  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2025b release.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (__detail::__get_leap_second_info): Update
	expiry date for leap seconds list.
	* src/c++20/tzdata.zi: Import new file from 2025a release.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
	Update expiry date for leap seconds list.

2025-03-31  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2025-03-20  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/18_support/numeric_limits/traps.cc (main): Fix comment
	typo.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/locale_facets_nonio.tcc (time_put::do_put): Fix
	typo in comment.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_vector.h (operator<=>): Use constexpr
	instead of _GLIBCXX20_CONSTEXPR macro.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
	Do not assume allocators only throw std::bad_alloc.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108236
	* include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init
	as rvalue.
	* include/pstl/numeric_impl.h (__brick_transform_scan): Do not
	write through __result until after reading through __first. Move
	__init into return value.
	(__pattern_transform_scan): Pass __init as rvalue.
	* include/std/numeric (exclusive_scan): Move construct instead
	of copy constructing.
	* testsuite/26_numerics/exclusive_scan/2.cc: New test.
	* testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/109517
	PR libstdc++/109976
	* include/debug/helper_functions.h (__valid_range_aux): Treat
	all input iterator ranges as valid during constant evaluation.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/106212
	* include/std/array (operator==): Use std::__equal_aux1 instead
	of std::equal.
	* testsuite/23_containers/array/comparison_operators/106212.cc:
	New test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117966
	* include/std/span (span(T (&)[N])): Do not delegate to
	constructor that performs redundant checks.
	(span(array<T, N>&), span(const array<T, N>&)): Likewise.
	(span(Range&&), span(const span<T, N>&)): Likewise.
	* testsuite/23_containers/span/117966.cc: New test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-01-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90389
	* include/bits/deque.tcc (_M_insert_aux): Rename variadic
	overload to _M_emplace_aux.
	* include/bits/stl_deque.h (_M_insert_aux): Define inline.
	(_M_emplace_aux): Declare.
	* testsuite/23_containers/deque/modifiers/emplace/90389.cc: New
	test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118035
	* include/bits/deque.tcc (_M_range_insert_aux): Return
	immediately if inserting an empty range.
	* testsuite/23_containers/deque/modifiers/insert/118035.cc: New
	test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-01-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118158
	* src/c++17/fs_ops.cc (fs::equivalent): Remove error reporting
	for is_other(s1) && is_other(s2) case, as per LWG 2937.
	* testsuite/27_io/filesystem/operations/pr118158.cc: New test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101527
	* testsuite/24_iterators/common_iterator/101527.cc: New test.
	* testsuite/24_iterators/counted_iterator/101527.cc: New test.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-24  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/policy_data_structures_biblio.xml: Fix two
	broken links.
	* doc/html/manual/policy_data_structures.html: Regenerate.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-30  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/using_exceptions.xml: Fix typos and grammatical
	errors.
	* doc/html/manual/using_exceptions.html: Regenerate.

2025-03-31  Gerald Pfeifer  <gerald@pfeifer.com>

	Backported from master:
	2024-08-17  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/abi.xml: Update reference to
	gcc.gnu.org/onlinedocs.
	* doc/xml/manual/concurrency_extensions.xml (interface): Ditto.
	* doc/xml/manual/extensions.xml: Ditto.
	* doc/xml/manual/parallel_mode.xml: Ditto.
	* doc/xml/manual/shared_ptr.xml: Ditto.
	* doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC
	to GCC.
	* doc/html/*: Regenerate.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-04  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Remove stray comma.
	* doc/html/manual/test.html: Regenerate.

2025-03-31  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2025-03-19  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/test.xml: Fix default for -std option.
	* doc/html/manual/test.html: Regenerate.

2025-03-17  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_dir.cc: Fix typo in comment.

2025-03-17  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/strings.xml: Clarify that GCC 4.5 added
	std::string::shrink_to_fit.
	* doc/html/manual/strings.html: Regenerate.

2025-01-10  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2025-01-10  Tamar Christina  <tamar.christina@arm.com>

	* include/bits/hashtable.h (find): Add inline keyword.

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

	Backported from master:
	2025-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Replace invalid <variable>
	elements with <varname>.
	* doc/html/*: Regenerate.

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

	Backported from master:
	2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::__is_formattable_integer): New
	variable template and specializations.
	(template<integral, __char> struct formatter): Replace
	constraints on first arg with __is_formattable_integer.
	* testsuite/std/format/formatter/requirements.cc: Check that
	std::formatter specializations for char8_t and const int are
	disabled.

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

	Backported from master:
	2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/ranges_util.h (subrange::begin): Fix constraint,
	as per LWG 3589.
	* testsuite/std/ranges/subrange/lwg3589.cc: New test.

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

	Backported from master:
	2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_iterator.h (operator+): Add constraint to
	move_iterator operator.
	* testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check
	it's constrained.

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

	Backported from master:
	2024-11-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117822
	* include/std/stacktrace (stacktrace(stacktrace&&, const A&)):
	Fix typo in qualified-id for is_always_equal trait.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test
	allocator-extended constructors and allocator propagation.

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

	Backported from master:
	2024-10-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/stl_bvector.h (emplace_back, emplace): Forward
	parameter pack to preserve value category.
	* testsuite/23_containers/vector/bool/emplace_rvalue.cc: New
	test.

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

	Backported from master:
	2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_performance.h: Use
	__gnu_cxx::__is_single_threaded instead of __gthread_active_p().

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

	Backported from master:
	2024-11-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_performance.h (time_counter): Add
	comment about times.
	(time_counter::system_time): Use correct split value.

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

	Backported from master:
	2024-11-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/hashtable_policy.h (_Insert_base::try_emplace):
	Do not define for C++11 and C++14.
	* include/debug/map.h (try_emplace): Use feature test macro.
	* include/debug/unordered_map (try_emplace): Likewise.
	* testsuite/17_intro/names.cc: Define try_emplace before C++17.

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

	Backported from master:
	2024-11-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117560
	* include/bits/fs_dir.h (enable_borrowed_range, enable_view):
	Define specializations for directory iterators, as per LWG 3480.
	* testsuite/27_io/filesystem/iterators/lwg3480.cc: New test.

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

	Backported from master:
	2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114394
	* include/std/functional (bind): Use __invoke_result_t instead
	of result_of::type.
	* include/std/type_traits (__invoke_result_t): New alias
	template.
	* testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern.

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

	Backported from master:
	2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/101228
	* include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES):
	Define before including <tbb/task.h> then undef afterwards.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117135
	* config/locale/generic/time_members.cc
	(__timepunct<wchar_t>::_M_initialize_timepunc): Set
	_M_date_time_format for C locale. Set %Ex formats to the same
	values as the %x formats.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-02  Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/dragonfly/time_members.cc
	(__timepunct<char>::_M_initialize_timepunc)
	(__timepunct<wchar_t>::_M_initialize_timepunc): Set
	_M_date_time_format for C locale. Set %Ex formats to the same
	values as the %x formats.
	* config/locale/generic/time_members.cc: Likewise.
	* config/locale/gnu/time_members.cc: Likewise.
	* testsuite/22_locale/time_get/get/char/5.cc: New test.
	* testsuite/22_locale/time_get/get/wchar_t/5.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-20  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116777
	* doc/xml/manual/using.xml: Document features that are not
	supported for the gcc4-compatible ABI.
	* doc/html/manual/using_dual_abi.html: Regenerate.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-03  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code&
	member and set it if CreateFileW or GetFileInformationByHandle
	fails.
	(fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify
	control flow.
	(fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec
	on success.
	* testsuite/27_io/filesystem/operations/hard_link_count.cc:
	Check error handling.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-07-30  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor
	parameter from const path& to const wchar_t*.
	(fs::equiv_files): New function.
	(fs::equivalent): Use equiv_files.
	* src/filesystem/ops-common.h (fs::equiv_files): Declare.
	(do_copy_file): Use equiv_files.
	* src/filesystem/ops.cc (fs::equiv_files): Define.
	(fs::copy, fs::equivalent): Use equiv_files.
	* testsuite/27_io/filesystem/operations/copy.cc: Test
	overwriting directory contents recursively.
	* testsuite/27_io/filesystem/operations/copy_file.cc: Test
	overwriting existing files.

2024-10-16  Lennox Shou Hao Ho  <lennoxhoe@gmail.com>

	Backported from master:
	2024-07-30  Lennox Shou Hao Ho  <lennoxhoe@gmail.com>

	PR libstdc++/113663
	* src/c++17/fs_ops.cc (fs::equivalent): Moved helper class
	auto_handle to anonymous namespace as auto_win_file_handle.
	(fs::hard_link_count): Changed Windows implementation to use
	information provided by GetFileInformationByHandle which is more
	reliable.
	* testsuite/27_io/filesystem/operations/hard_link_count.cc: New
	test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-07-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (basic_format_args): Remove default
	constructor, as per LWG 4106.
	* testsuite/std/format/arguments/args.cc: Check it isn't default
	constructible.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114387
	* include/std/format (basic_format_context): Define copy
	operations as deleted, as per LWG 4061.
	* testsuite/std/format/context.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-07-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115854
	* include/bits/stl_bvector.h (_Bvector_base): Convert allocator
	to rebound type explicitly.
	* testsuite/23_containers/vector/allocator/115854.cc: New test.
	* testsuite/23_containers/vector/bool/allocator/115854.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116549
	* include/bits/stl_iterator.h (disable_sized_sentinel_for):
	Define specialization for two move_iterator types, as per LWG
	3736.
	* testsuite/24_iterators/move_iterator/lwg3736.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (strip_fundts_namespace): New.
	(StdExpAnyPrinter, StdExpOptionalPrinter): Use it.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-08-23  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/116369
	* include/debug/safe_base.h (_Safe_sequence_base::_M_iterators):
	Add mutable specifier.
	(_Safe_sequence_base::_M_const_iterators): Likewise.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/ranges (transform_view:_Iterator): Use const F&
	to determine value_type and iterator_category of
	_Iterator<true>, as per LWG 3564.
	* testsuite/std/ranges/adaptors/transform.cc: Check value_type
	and iterator_category.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117094
	* include/bits/ranges_algobase.h (__fill_fn): Use std::move for
	iterator that might not be copyable.
	* testsuite/25_algorithms/fill/constrained.cc: Check
	non-copyable iterator with sized sentinel.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116754
	* include/bits/ranges_algobase.h (__copy_or_move): Fix order of
	arguments to __memcpyable.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/117085
	* include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L
	option to format string.
	* testsuite/std/time/format.cc: Move to...
	* testsuite/std/time/format/format.cc: ...here.
	* testsuite/std/time/format/pr117085.cc: New test.

2024-10-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-10-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono::_M_c): Add
	[[unlikely]] attribute to condition for missing %c format in
	locale. Use %T instead of %H:%M:%S in fallback.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/util/testsuite_allocator.h (tracker_allocator):
	Initialize base class in copy constructor.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]:
	Check for EMLINK as well as ELOOP.
	[__NetBSD__]: Check for EFTYPE as well as ELOOP.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115399
	* include/tr2/dynamic_bitset (operator>>=): Remove redundant
	call to _M_do_sanitize.
	* include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out
	low bits in words that should no longer be populated.
	(_M_do_right_shift): Likewise for high bits.
	* testsuite/tr2/dynamic_bitset/pr115399.cc: New test.

2024-10-04  Kim Gräsman  <kim.grasman@gmail.com>

	Backported from master:
	2024-08-28  Kim Gräsman  <kim.grasman@gmail.com>

	* include/bits/cpp_type_traits.h: Improve doxygen file docs.

2024-10-04  Kim Gräsman  <kim.grasman@gmail.com>

	Backported from master:
	2024-08-28  Kim Gräsman  <kim.grasman@gmail.com>

	* config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file
	docs.
	* config/cpu/i486/opt/ext/opt_random.h: Likewise.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-07-06  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/variant (_Variant_storage::_M_reset): Use
	__unlikely__ form of attribute instead of unlikely.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-08-28  Jonathan Wakely  <jwakely@redhat.com>

	* configure.ac: Fix check for O_NONBLOCK.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2024-10-04  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116641
	* include/bits/basic_string.h (operator=(basic_string&&)): Call
	_M_assign instead of assign.
	* testsuite/21_strings/basic_string/allocator/116641.cc: New
	test.

2024-10-03  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116857
	* libsupc++/guard.cc (__cxa_guard_acquire): Remove
	_GLIBCXX_NOTHROW to match declaration in <cxxabi.h>.

2024-10-03  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-09-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116755
	* include/bits/chrono_io.h (formatter<duration<R,P>>::format):
	Cast negative integral durations to unsigned rep.
	* testsuite/20_util/duration/io.cc: Test the most negative
	integer durations.

2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-26  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove.
	(years_from_to): New class replacing minmax_year and
	minmax_year2.
	(format_abbrev_str, select_std_or_dst_abbrev): Move earlier in
	the file. Handle "-" for letters.
	(ZoneInfo::to): Use format_abbrev_str to expand %z.
	(ZoneInfo::set_abbrev): Remove exception. Change parameter from
	reference to value.
	(operator>>(istream&, Rule&)): Do not clear letters when it
	contains "-".
	(time_zone::_M_get_sys_info): Add missing logic to find the Rule
	in effect before the time point.
	* testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using
	"GMT" as the Zone name, not as a Link to "Etc/GMT".
	* testsuite/std/time/time_zone/sys_info_abbrev.cc: New test.

2024-09-10  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114770
	* src/c++20/tzdb.cc (do_locate_zone): Support links that have
	another link as their target.
	* testsuite/std/time/tzdb/1.cc: Check that all zones and links
	can be found by locate_zone.
	* testsuite/std/time/tzdb/links.cc: New test.

2024-09-10  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2024-04-18  Alexandre Oliva  <oliva@adacore.com>

	* src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define
	on VxWorks non-RTP.

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

	Backported from master:
	2024-07-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/116070
	* include/bits/stl_bvector.h: Check feature test macro before
	using is_default_constructible_v.

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

	Backported from master:
	2024-06-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115522
	* include/std/array (to_array): Workaround the fact that
	std::is_trivial is not sufficient to check that a type is
	trivially default constructible and assignable.
	* testsuite/23_containers/array/creation/115522.cc: New test.

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

	Backported from master:
	2024-07-08  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115807
	* include/c_compatibility/stdatomic.h (_Atomic): Ensure it
	refers to std::atomic in the global namespace.
	* testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test.

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

	Backported from master:
	2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115585
	* src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add
	definition for non-verbose builds.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-25  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/faq.xml: Replace viewcvs links with cgit links.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/html/*: Regenerate.

2024-06-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-27  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115668
	* include/bits/chrono_io.h (formatter<duration<R,P, C>::format):
	Do not use chrono::abs.
	* testsuite/20_util/duration/io.cc: Check formatting a duration
	with unsigned rep.

2024-06-27  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2024-06-27  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/115454
	* testsuite/experimental/simd/pr115454_find_last_set.cc: Defer
	to check_vect_support_and_set_flags's default dg-do action.

2024-06-25  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/status_cxx1998.xml: Remove confusing "not in
	any particular release" text.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/xml/manual/status_cxx2020.xml: Likewise.
	* doc/xml/manual/status_cxx2023.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/html/manual/status.html: Regenerate.

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

	Backported from master:
	2024-06-21  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115575
	* testsuite/experimental/simd/pr115454_find_last_set.cc: Require
	avx512f_runtime. Don't memcpy fixed_size masks.

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

	Backported from master:
	2024-06-20  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115454
	* include/experimental/bits/simd_x86.h (_S_not_equal_to): Use
	neq comparison instead of bitwise negation after eq.
	(_S_find_last_set): Clear unused high bits before computing
	bit_width.
	* testsuite/experimental/simd/pr115454_find_last_set.cc: New
	test.

2024-06-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-06-14  Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of
	posix_memalign.

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

	Backported from master:
	2024-06-04  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115308
	* include/experimental/bits/simd.h (__int_for_sizeof): Remove
	special cases for __clang__.
	(_SimdWrapper): Change constructor overload set to allow
	conversion from vector types with integral conversions via bit
	reinterpretation.

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

	Backported from master:
	2024-05-29  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/115247
	* include/experimental/bits/simd.h (__as_vector): Don't use
	vector_size(8) on __i386__.
	(__vec_shuffle): Never return MMX vectors, widen to 16 bytes
	instead.
	(concat): Fix padding calculation to pick up widening logic from
	__as_vector.

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

	Backported from master:
	2024-05-13  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114958
	* include/experimental/bits/simd.h (__as_vector): Return scalar
	simd as one-element vector. Return vector from single-vector
	fixed_size simd.
	(__vec_shuffle): New.
	(__extract_part): Adjust return type signature.
	(split): Use __extract_part for any split into non-fixed_size
	simds.
	(concat): If the return type stores a single vector, use
	__vec_shuffle (which calls __builtin_shufflevector) to produce
	the return value.
	* include/experimental/bits/simd_builtin.h
	(__shift_elements_right): Removed.
	(__extract_part): Return single elements directly. Use
	__vec_shuffle (which calls __builtin_shufflevector) to for all
	non-trivial cases.
	* include/experimental/bits/simd_fixed_size.h (__extract_part):
	Return single elements directly.
	* testsuite/experimental/simd/pr114958.cc: New test.

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

	Backported from master:
	2024-06-01  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115269
	* doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs.
	Replace list of -std=... options with a single entry for -std.
	* doc/html/manual/using.html: Regenerate.

2024-05-28  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/19_diagnostics/stacktrace/hash.cc: Adjust
	dg-options to use -lstdc++exp.

2024-05-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-05-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114940
	* include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro.
	(basic_stacktrace::_Impl::_M_deallocate): Use it.

2024-05-21  Dimitrij Mijoski  <dmjpp@hotmail.com>

	Backported from master:
	2023-10-21  Dimitrij Mijoski  <dmjpp@hotmail.com>

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

2024-05-21  Dimitrij Mijoski  <dmjpp@hotmail.com>

	Backported from master:
	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.

2024-05-21  Release Manager

	* GCC 13.3.0 released.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/115063
	* include/std/stacktrace (basic_stacktrace::max_size): Fix typo
	in reference to _M_alloc member.
	* testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check
	max_size() compiles.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114359
	* include/bits/random.tcc (binomial_distribution::param_type):
	Ensure arithmetic is done as type double.
	* testsuite/26_numerics/random/binomial_distribution/114359.cc: New test.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-10  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/manipulators/extended/get_time/char/2.cc:
	Adjust input string so that it matches %a with or without a
	trailing period.
	* testsuite/std/time/year_month_day/io.cc: Adjust expected
	format for %x in the fr_FR locale.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (tzdb_list): Fix typo in Doxygen comment.

2024-05-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* scripts/run_doxygen: Adjust sed pattern to match '\fR' for
	new man output that Doxygen 1.10 generates.

2024-05-09  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-22  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*.
	* testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't
	define on s390.
	* testsuite/17_intro/headers/c++2011/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2017/all_attributes.cc (packed):
	Likewise.
	* testsuite/17_intro/headers/c++2020/all_attributes.cc (packed):
	Likewise.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-04-22  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114803
	* include/experimental/bits/simd_builtin.h
	(_SimdBase2::operator __vector_type_t): There is no __builtin()
	function in _SimdWrapper, instead use its conversion operator.
	* testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New
	test.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-04-22  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd.h: Ignore -Wnarrowing for
	arm_neon.h.
	(__int_for_sizeof): Replace tautological compare with checking
	for invalid template parameter value.
	* include/experimental/bits/simd_builtin.h (__extract_part):
	Remove tautological compare by combining two static_assert.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-04-17  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/numeric_traits.h: Add include guard.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-04-17  Matthias Kretz  <m.kretz@gsi.de>

	PR libstdc++/114750
	* include/experimental/bits/simd_builtin.h
	(_SimdImplBuiltin::_S_load, _S_store): Fall back to copying
	scalars if the memory type cannot be vectorized for the target.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-03-27  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_S_masked_unary):
	Cast inputs < 16 bytes to 16 byte vectors before calling the
	right subtraction builtin. Before returning, truncate to the
	return vector type.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2024-03-27  Matthias Kretz  <m.kretz@gsi.de>

	* include/experimental/bits/simd_x86.h (_S_masked_unary): Call
	the 4- and 8-byte variants of __builtin_ia32_subp[ds] without
	rounding direction argument.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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.

2024-05-07  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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).

2024-05-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/93672
	* src/c++98/istream.cc (istream::ignore(streamsize, int_type)):
	Treat all negative delimiter values as eof().
	* testsuite/27_io/basic_istream/ignore/char/93672.cc: New test.
	* testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New
	test.

2024-05-02  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-03  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/104606
	* include/std/optional (operator<=>(const optional<T>&, const U&)):
	Reverse order of three_way_comparable_with template arguments.
	* testsuite/20_util/optional/relops/104606.cc: New test.

2024-04-30  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-04-30  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114863
	* include/std/format (__formatter_fp::format): Only use
	_M_localized for finite values.
	* testsuite/std/format/functions/format.cc: Check localized
	formatting of NaN and initiny.

2024-04-29  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.

2024-04-26  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/manual/status.html: Regenerate.
	* doc/xml/manual/status_cxx1998.xml: Replace references to
	mainline GCC.
	* doc/xml/manual/status_cxx2011.xml: Likewise.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/xml/manual/status_cxx2020.xml: Likewise.
	* doc/xml/manual/status_cxx2023.xml: Likewise.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/status_cxxtr24733.xml: Likewise.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	* src/experimental/Makefile.am (install-exec-local): New target.
	(uninstall-local): New target.
	* src/experimental/Makefile.in: Regenerate.
	* src/libbacktrace/Makefile.am: Build libstdc++_libbacktrace as
	noinst_LTLIBRARIES so it's only a convenience library.
	* src/libbacktrace/Makefile.in: Regenerate.

2024-04-25  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-04  Jonathan Wakely  <jwakely@redhat.com>

	* src/experimental/Makefile.am: Use libstdc++fsconvenience.a
	instead of libstdc++fs.a.
	* src/experimental/Makefile.in: Regenerate.
	* src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
	well.
	* src/filesystem/Makefile.in: Regenerate.

2024-04-15  Andreas Schwab  <schwab@suse.de>

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

2024-04-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-11  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/m68k-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.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.

2024-04-03  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-02-19  Iain Sandoe  <iain@sandoe.co.uk>
		    Jonathan Wakely  <jwakely@redhat.com>

	PR target/112397
	* configure: Regenerate.
	* configure.ac: Detect if we are building for Darwin.
	* libsupc++/Makefile.am: If we are building for Darwin, then
	suppress hot/cold partitioning for the array allocators.
	* libsupc++/Makefile.in: Regenerated.

2024-04-03  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>

	* testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B
	option for the path to the uninstalled libatomic.

2024-04-03  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-03-19  Iain Sandoe  <iain@sandoe.co.uk>

	* testsuite/lib/libstdc++.exp (v3_target_compile): Instead of
	/dev/null, use a temporary file for test executables on Darwin.

2024-04-03  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114401
	* include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call
	release() on node handle instead of just zeroing its pointer.
	(_Hashtable::_M_reinsert_node_multi): Likewise.
	(_Hashtable::_M_merge_unique): Likewise.
	(_Hashtable::_M_merge_multi): Likewise.
	* include/bits/node_handle.h (_Node_handle_common::release()):
	New member function.
	(_Node_handle_common::_Optional_alloc::_M_empty): Remove
	unnecessary union member.
	(_Node_handle_common): Declare _Hashtable as a friend.
	* include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique):
	Call release() on node handle instead of just zeroing its
	pointer.
	(_Rb_tree::_M_reinsert_node_equal): Likewise.
	(_Rb_tree::_M_reinsert_node_hint_unique): Likewise.
	(_Rb_tree::_M_reinsert_node_hint_equal): Likewise.
	* testsuite/23_containers/multiset/modifiers/114401.cc: New test.
	* testsuite/23_containers/set/modifiers/114401.cc: New test.
	* testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test.
	* testsuite/23_containers/unordered_set/modifiers/114401.cc: New test.

2024-04-03  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-22  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113841
	* include/bits/allocator.h (allocator<cv T>): Add default
	constructor to partial specializations for cv-qualified types.
	* include/bits/stl_vector.h (_Vector_impl::_Vector_impl()):
	Constrain so that it's only present if the allocator is default
	constructible.
	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
	Likewise.
	* testsuite/23_containers/vector/cons/113841.cc: New test.

2024-04-03  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114367
	* include/bits/stl_bvector.h (_M_allocate): Use allocator's
	construct function to begin lifetime of words.

2024-03-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/iterator (__cpp_lib_null_iterators): Define regardless of
	_GLIBCXX_DEBUG.
	* include/std/version (__cpp_lib_null_iterators): Likewise.

2024-03-20  François Dumont  <fdumont@gcc.gnu.org>

	Backported from master:
	2024-03-18  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):
	Accept 0 offset advance on value-initialized iterator.
	* testsuite/23_containers/vector/debug/n3644.cc: New test case.

2024-03-20  François Dumont  <fdumont@gcc.gnu.org>

	Backported from master:
	2024-03-18  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_local_iterator.tcc
	(_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and
	_M_singular checks.
	* testsuite/23_containers/unordered_set/debug/114316.cc: New test case.

2024-03-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-14  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/66146
	* doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in
	note about std::call_once.
	* doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Likewise.
	* doc/html/manual/status.html: Regenerate.

2024-03-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat
	to namespace scope.

2024-03-17  François Dumont  <fdumont@gcc.gnu.org>

	Backported from master:
	2024-03-17  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/114316
	* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
	First check if both iterators are value-initialized before checking if
	singular.
	* testsuite/23_containers/set/debug/114316.cc: New test case.
	* testsuite/23_containers/vector/debug/114316.cc: New test case.

2024-03-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-03-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-04  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114147
	* include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)):
	Add missing overload of allocator-extended default constructor.
	(tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise.
	* testsuite/20_util/tuple/cons/114147.cc: New test.

2024-03-15  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/status_cxx2023.xml: Close parenthesis.
	* doc/html/manual/status.html: Regenerate.

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (__get_leap_second_info): Update expiry
	time for hardcoded list of leap seconds.
	* testsuite/std/time/tzdb/leap_seconds.cc: Update comment.

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (basic_format_arg::handle::__maybe_const_t):
	Fix condition to check if const type is formattable.
	(basic_format_arg::handle::handle(T&)): Remove redundant
	static_assert.
	* testsuite/std/format/formatter/basic.cc: New test.

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h (__formatter_chrono): Always use
	lvalue arguments to make_format_args.
	* include/std/format (make_format_args): Change parameter pack
	from forwarding references to lvalue references. Remove use of
	remove_reference_t which is now unnecessary.
	(format_to, formatted_size): Remove incorrect forwarding of
	arguments.
	* testsuite/20_util/duration/io.cc: Use lvalues as arguments to
	make_format_args.
	* testsuite/std/format/arguments/args.cc: Likewise.
	* testsuite/std/format/arguments/lwg3810.cc: Likewise.
	* testsuite/std/format/functions/format.cc: Likewise.
	* testsuite/std/format/functions/vformat_to.cc: Likewise.
	* testsuite/std/format/string.cc: Likewise.
	* testsuite/std/time/day/io.cc: Likewise.
	* testsuite/std/time/month/io.cc: Likewise.
	* testsuite/std/time/weekday/io.cc: Likewise.
	* testsuite/std/time/year/io.cc: Likewise.
	* testsuite/std/time/year_month_day/io.cc: Likewise.
	* testsuite/std/format/arguments/args_neg.cc: New test.

2024-03-12  Cassio Neri  <cassio.neri@gmail.com>

	Backported from master:
	2024-01-05  Cassio Neri  <cassio.neri@gmail.com>

	* include/std/chrono: Fix + and - for months and weekdays.
	* testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
	* testsuite/std/time/month/2.cc: New test for extreme values.
	* testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
	* testsuite/std/time/weekday/2.cc: New test for extreme values.

2024-03-12  Cassio Neri  <cassio.neri@gmail.com>

	Backported from master:
	2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

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

2024-03-12  Cassio Neri  <cassio.neri@gmail.com>

	Backported from master:
	2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

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

2024-03-12  Cassio Neri  <cassio.neri@gmail.com>

	Backported from master:
	2023-11-14  Cassio Neri  <cassio.neri@gmail.com>

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

2024-03-12  Cassio Neri  <cassio.neri@gmail.com>

	Backported from master:
	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.

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-08-09  Jonathan Wakely  <jwakely@redhat.com>

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

2024-03-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113960
	* include/bits/stl_algobase.h (__is_byte_iter): Replace with ...
	(__memcmp_ordered_with): New concept.
	(lexicographical_compare_three_way): Use __memcmp_ordered_with
	instead of __is_byte_iter. Use correct length for memcmp.
	* testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
	New test.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Change URLs to use
	https.
	* doc/html/manual/*: Regenerate.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Replace outdated
	info on ChangeLog entries.
	* doc/html/manual/appendix_contributing.html: Regenerate.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-11-23  Jonathan Wakely  <jwakely@redhat.com>

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

2024-03-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-28  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/114152
	* include/experimental/scope (scope_exit scope_fail): Make
	destructor unconditionally noexcept.
	(scope_sucess): Fix noexcept-specifier.
	* testsuite/experimental/scopeguard/114152.cc: New test.

2024-02-16  Paul Keir  <paul.keir@uws.ac.uk>

	Backported from master:
	2024-02-12  Paul Keir  <paul.keir@uws.ac.uk>

	PR libstdc++/113294
	* include/bits/basic_string.h (basic_string::operator=): Use
	_M_use_local_data() instead of _M_local_buf on the moved-from
	string.
	* testsuite/21_strings/basic_string/modifiers/constexpr.cc
	(test_move): New test.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/99117
	* include/std/valarray (valarray::operator=(const _Expr&)):
	Use loop to copy instead of __valarray_copy with _Array.
	* testsuite/26_numerics/valarray/99117.cc: New test.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-15  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2024a release.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
	Update expiry date for leap seconds list.

2024-02-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/tr2/type_traits (bases, direct_bases): Use
	__has_builtin to check if required built-ins are supported.

2024-02-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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.

2024-02-09  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	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.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113258
	* libsupc++/new_opa.cc: Prefer to use posix_memalign if
	available.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/107466
	* include/bits/random.tcc (subtract_with_carry_engine::seed):
	Implement proposed resolution of LWG 4014.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
	line number.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
	Check for expected result of 64-bit engine with seed that
	doesn't fit in 32-bits.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/experimental/internet (network_v6::network): Define.
	(network_v6::hosts): Finish implementing.
	(network_v6::to_string): Do not concatenate std::string to
	arbitrary std::basic_string specialization.
	* testsuite/experimental/net/internet/network/v6/cons.cc: New
	test.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/90276
	* testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use
	perfect forwarding for iterator arguments.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/syncstream (basic_osyncstream::operator=): Remove
	noexcept, as per LWG 3867.

2024-02-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-02-02  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/string_view (basic_string_view(R&&)): Remove
	constraint that traits_type must be the same, as per LWG 3857.
	* testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
	Explicit conversion between different specializations should be
	allowed.
	* testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
	Likewise.

2024-02-07  Hans-Peter Nilsson  <hp@axis.com>

	Backported from master:
	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.

2024-02-07  Hans-Peter Nilsson  <hp@axis.com>

	Backported from master:
	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.

2024-02-07  Christophe Lyon  <christophe.lyon@linaro.org>

	Backported from master:
	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.

2024-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	Backported from master:
	2024-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null"
	for other environments.

2024-01-30  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113500
	* include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
	printing of subseconds with floating-point rep.
	(__formatter_chrono::_M_format_to_ostream): Do not write
	time_point specializations directly to the ostream.
	(formatter<chrono::sys_time<D>, C>::parse): Do not allow an
	empty chrono-spec if the type fails to meet the constraints for
	writing to an ostream with operator<<.
	* testsuite/std/time/clock/file/io.cc: Check formatting
	non-integral times with empty chrono-specs.
	* testsuite/std/time/clock/gps/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.
	* testsuite/std/time/hh_mm_ss/io.cc: Likewise.

2024-01-30  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono.h (__file_clock::from_sys)
	(__file_clock::to_sys, __file_clock::_S_from_sys)
	(__file_clock::_S_to_sys): Use common_type for return type.
	* testsuite/std/time/clock/file/members.cc: Check round trip
	conversion for time with lower precision that seconds.

2024-01-30  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113512
	* include/std/format (__formatter_fp::format): Fix logic for
	alternate forms.
	* testsuite/std/format/functions/format.cc: Check buggy cases of
	alternate forms with g presentation type.

2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113450
	* testsuite/std/format/functions/format.cc: Use signed char
	instead of int8_t.

2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-15  Jonathan Wakely  <jwakely@redhat.com>

	PR testsuite/113366
	* include/std/format (basic_format_arg): Use __formattable
	variable template instead of __format::__formattable_with
	concept.

2024-01-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-15  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++20/tzdata.zi: Import new file from 2023d release.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
	Update expiry date for leap seconds list.

2024-01-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (__format::_Arg_store): Fix PR number in
	comment. Simplify preprocessor code.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Fix spelling.
	* doc/html/manual/api.html: Regenerate.

2024-01-11  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/112477
	* src/c++11/debug.cc
	(_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
	sequence.
	(_Safe_iterator_base::_M_attach_single): Likewise.
	(_Safe_local_iterator_base::_M_attach): Likewise.
	(_Safe_local_iterator_base::_M_attach_single): Likewise.
	* testsuite/23_containers/map/debug/112477.cc: New test case.

2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-11  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/evolution.xml: Document addition of
	libstdc++exp.a.
	* doc/html/*: Regenerate.

2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	Backported from master:
	2024-01-11  Ken Matsui  <kmatsui@gcc.gnu.org>

	PR libstdc++/113250
	* src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
	* src/filesystem/ops.cc (fs::equivalent): Likewise.
	* testsuite/27_io/filesystem/operations/equivalent.cc: Handle
	error codes.
	* testsuite/experimental/filesystem/operations/equivalent.cc:
	Likewise.

2024-01-10  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-09-08  Jonathan Wakely  <jwakely@redhat.com>

	* doc/html/manual/*: Regenerate.
	* doc/xml/manual/using.xml: Update documentation on linking.
	* scripts/testsuite_flags.in: Adjust LDFLAGS to find
	libstdc++exp instead of libstdc++_libbacktrace.
	* src/c++20/Makefile.am: Fix comment.
	* src/c++20/Makefile.in: Regenerate.
	* src/experimental/Makefile.am: Use LIBADD to include other
	libraries.
	* src/experimental/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.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/format/functions/format.cc: Add more checks for
	wstring formatting of arithmetic types.

2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2024-01-08  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/format (formatter<C, C>::format): Check for
	_Pres_c and call _M_format_character directly. Cast C to its
	unsigned equivalent for formatting as an integer.
	(formatter<char, wchar_t>::format): Likewise.
	(basic_format_arg(T&)): Store char arguments as unsigned char
	for formatting to a wide string.
	(__cpp_lib_format_uchar): Define.
	* include/std/version (__cpp_lib_format_uchar): Define.
	* testsuite/std/format/functions/format.cc: Adjust test. Check
	formatting of characters using all integer presentation types.

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

	Backported from master:
	2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113241
	* include/std/type_traits (is_convertible_v): Guard use of
	built-in with preprocessor check.

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

	Backported from master:
	2024-01-05  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/113200
	* include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
	__builtin_constant_p to check for unrelated pointers that cannot
	be compared during constant evaluation.
	* testsuite/21_strings/char_traits/requirements/113200.cc: New
	test.

2024-01-03  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2024-01-03  Patrick Palka  <ppalka@redhat.com>

	PR testsuite/113175
	* testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
	'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
	(test03): Likewise.

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

	Backported from master:
	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-15  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-12-12  Jonathan Wakely  <jwakely@redhat.com>

	* 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-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-12-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111826
	* include/std/format (__cpp_lib_format): Update value.
	* include/std/version (__cpp_lib_format): Likewise.
	* testsuite/std/format/functions/format.cc: Update expected
	value.

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

	Backported from master:
	2023-12-07  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	2023-12-07  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	2023-12-05  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-12-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-12-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-12-05  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-11-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-11-28  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	2023-11-17  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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>

	Backported from master:
	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-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-11-14  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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/system/io.cc: Likewise.
	* testsuite/std/time/clock/tai/io.cc: Likewise.
	* testsuite/std/time/clock/utc/io.cc: Likewise.

2023-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	2023-10-04  Tom Tromey  <tromey@adacore.com>

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

2023-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	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-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	2023-10-04  Tom Tromey  <tromey@adacore.com>

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

2023-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	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-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	2023-09-28  Tom Tromey  <tromey@adacore.com>

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

2023-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	2023-09-28  Tom Tromey  <tromey@adacore.com>

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

2023-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	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-11-13  Tom Tromey  <tromey@adacore.com>

	Backported from master:
	2023-09-28  Tom Tromey  <tromey@adacore.com>

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

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

	Backported from master:
	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-11-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-09-27  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	2023-09-12  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-11-13  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Pekka Seppänen  <pexu@gcc.mail.kapsi.fi>

	Backported from master:
	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-11-09  Alexey Lapshin  <alexey.lapshin@espressif.com>

	Backported from master:
	2023-09-08  Alexey Lapshin  <alexey.lapshin@espressif.com>

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

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

	Backported from master:
	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.

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

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-09-15  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-11-09  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-08  Feng Jisen  <J1senn@outlook.com>

	Backported from master:
	2023-11-04  Feng Jisen  <J1senn@outlook.com>

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

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

	Backported from master:
	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-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-11-02  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-11-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-11-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-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-10-30  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-25  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-25  Paul M. Bendixen  <paulbendixen@gmail.com>

	Backported from master:
	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-23  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-21  Benjamin Brock  <brock@cs.berkeley.edu>

	Backported from master:
	2023-10-21  Benjamin Brock  <brock@cs.berkeley.edu>

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

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

	Backported from master:
	2023-10-21  Jonathan Wakely  <jwakely@redhat.com>

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

2023-10-21  Nathaniel Shead  <nathanieloshead@gmail.com>

	Backported from master:
	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-10-02  Tim Song  <t.canens.cpp@gmail.com>

	Backported from master:
	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  Paul Dreik  <gccpatches@pauldreik.se>

	Backported from master:
	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-09-27  François Dumont  <fdumont@gcc.gnu.org>

	Backported from master:
	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-27  Paul Dreik  <gccpatches@pauldreik.se>

	Backported from master:
	2023-08-24  Paul Dreik  <gccpatches@pauldreik.se>

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

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

	Backported from master:
	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-09-27  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-09-27  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-09-26  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-09-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/111511
	PR c++/111512
	* include/std/array (to_array): Qualify calls to __to_array.
	* testsuite/23_containers/array/creation/111512.cc: New test.

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

	Backported from master:
	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-14  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/111357
	* include/bits/utility.h (make_integer_sequence): Add cast.
	* testsuite/20_util/integer_sequence/pr111357.cc: New test.

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

	* doc/xml/manual/test.xml: Update reference to -std=gnu++14 as
	the default.
	* doc/html/manual/test.html: Regenerate.

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

	* testsuite/20_util/uses_allocator/lwg3677.cc: Fix -std in
	dg-options.

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

	Backported from master:
	2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-09-01  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-22  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-22  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-08-17  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-14  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-08-14  Paul Dreik  <gccpatches@pauldreik.se>

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

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

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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-11  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-08-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/110974
	* include/std/format (_Spec::_M_parse_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-11  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-07-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Deev Patel  <pateldeev@nevada.unr.edu>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-27  Release Manager

	* GCC 13.2.0 released.

2023-07-19  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.

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

	Backported from master:
	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-07-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-07-03  Iain Sandoe  <iain@sandoe.co.uk>

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

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

	Backported from master:
	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-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-07-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-18  Tianqiang Shuai  <1101282468@qq.com>

	Backported from master:
	2023-07-06  Tianqiang Shuai  <1101282468@qq.com>

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

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

	Backported from master:
	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-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-07-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-07-12  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-07-06  Jonathan Wakely  <jwakely@redhat.com>

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

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

	Backported from master:
	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-06-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-06  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-05-12  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/experimental/feat-cxx14.cc: Remove dependency on
	_GLIBCXX_USE_C99_STDINT_TR1.

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

	Backported from master:
	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-06-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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>

	Backported from master:
	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  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-06-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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-30  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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-30  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2023-05-25  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/20_util/to_chars/long_double.cc: Expect execution
	fail on x86-vxworks.

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

	Backported from master:
	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-25  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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-25  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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-25  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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-25  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	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-17  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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>

	Backported from master:
	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-11  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-05-11  Jonathan Wakely  <jwakely@redhat.com>

	* config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
	* include/bits/basic_string.h: (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.

2023-05-05  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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-04  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-04  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-04  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-04  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-05-04  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	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-05-03  Kefu Chai  <kefu.chai@scylladb.com>

	Backported from master:
	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-04-28  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	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-28  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	2023-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/move.h: Simplify opening/closing namespace std.

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

	Backported from master:
	2023-04-27  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h: Improve doxygen comments.
	* include/std/memory_resource: Likewise.

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

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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-26  Release Manager

	* GCC 13.1.0 released.

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>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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>

	Backported from master:
	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.
