2025-05-23  Release Manager

	* GCC 14.3.0 released.

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

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

	PR libstdc++/120198
	* include/bits/version.def (scoped_lock): Do not depend on
	gthreads or hosted.
	* include/bits/version.h: Regenerate.
	* include/std/mutex (scoped_lock): Update comment.
	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
	Remove dg-require-gthreads and use custom lockable type instead
	of std::mutex. Check that typedef is only present for a single
	template argument.

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

	* doc/xml/manual/status_cxx2023.xml: Update status of proposal
	implemented after GCC 14.2 release.
	* doc/html/manual/status.html: Regenerate.

2025-05-06  Dhruv Chawla  <dhruvc@nvidia.com>

	Backported from master:
	2025-05-02  Dhruv Chawla  <dhruvc@nvidia.com>

	* include/std/memory: Define __glibcxx_want_addressof_constexpr.
	* testsuite/20_util/headers/memory/version.cc: Test for macro
	value.

2025-04-30  François Dumont  <frs.dumont@gmail.com>

	Backported from master:
	2025-04-30  François Dumont  <frs.dumont@gmail.com>
		    Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/lib/libstdc++.exp (v3_target_compile): Strip version namespace
	from compiler output.
	* testsuite/20_util/function/cons/70692.cc: Remove now useless __8 namespace
	pattern.
	* testsuite/23_containers/map/48101_neg.cc: Likewise.
	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.

2025-04-29  Patrick Palka  <ppalka@redhat.com>

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

	PR libstdc++/104606
	* include/std/optional (operator<=>): Revert r14-9771 change.
	Add constraint checking the validity of the return type
	compare_three_way_result_t before the three_way_comparable_with
	constraint.

2025-04-29  Patrick Palka  <ppalka@redhat.com>

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

	PR libstdc++/118083
	* include/bits/ranges_base.h
	(ranges::__access::__possibly_const_range): Mention LWG 4027.

2025-04-29  Patrick Palka  <ppalka@redhat.com>

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

	PR libstdc++/118083
	* include/bits/ranges_base.h
	(ranges::__access::__possibly_const_range): Adjust logic as per
	LWG 4027.  Add missing input_range constraint.
	* testsuite/std/ranges/access/cbegin.cc (test05): Verify LWG
	4027 testcases.
	* testsuite/std/ranges/access/cdata.cc: Adjust, simplify and
	consolidate some tests after the above.
	* testsuite/std/ranges/access/cend.cc: Likewise.
	* testsuite/std/ranges/access/crbegin.cc: Likewise.
	* testsuite/std/ranges/access/crend.cc: Likewise.
	* testsuite/std/ranges/adaptors/join.cc: Likewise.
	* testsuite/std/ranges/adaptors/take_while.cc: Likewise.
	* testsuite/std/ranges/adaptors/transform.cc: Likewise.

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

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

	* include/std/format (formatter<_Float16, _CharT>): Define only if
	_GLIBCXX_FLOAT_IS_IEEE_BINARY32 macro is defined.
	(formatter<_Float16, _CharT>): As above.
	(formatter<__gnu_cxx::__bfloat16_t, _CharT>): As above.
	(formatter<_Float64, _CharT>): Define only if
	_GLIBCXX_DOUBLE_IS_IEEE_BINARY64 is defined.
	(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.

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

	* include/std/numeric: Only mention ranges::iota in comment.

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

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

	* include/std/ranges (__glibcxx_want_ranges_iota): Do not
	define.

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

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

	PR libstdc++/115285
	* include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove.
	(_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with
	a static_cast to a type defined using conditional_t.
	(_Hashtable::_M_insert): Replace _ConvertToValueType with a
	static_cast to a type defined using conditional_t.
	* include/bits/hashtable_policy.h (_ConvertToValueType): Remove.
	* testsuite/23_containers/unordered_map/insert/115285.cc: New test.
	* testsuite/23_containers/unordered_set/insert/115285.cc: New test.
	* testsuite/23_containers/unordered_set/96088.cc: Adjust
	expected number of allocations.

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

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

	* include/bits/stl_pair.h (__is_pair): Define for C++11 and
	C++14 as well.

2025-04-10  François Dumont  <frs.dumont@gmail.com>

	Backported from master:
	2024-10-24  François Dumont  <frs.dumont@gmail.com>

	* testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments
	value when _GLIBCXX_USE_CXX11_ABI is equal to 0.

2025-04-10  François Dumont  <frs.dumont@gmail.com>

	Backported from master:
	2024-10-23  François Dumont  <frs.dumont@gmail.com>

	PR libstdc++/115285
	* include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary
	key_type instance.
	* testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation.
	Also check that mapped_type is not instantiated when there is no insertion.
	* testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional
	instanciation.
	* testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
	* testsuite/23_containers/unordered_set/96088.cc: Likewise.
	* testsuite/23_containers/unordered_set/pr115285.cc: New test case.

2025-04-09  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-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-07  Jonathan Wakely  <jwakely@redhat.com>

	* doc/doxygen/user.cfg.in (INPUT): Add text_encoding.

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-07  Patrick Palka  <ppalka@redhat.com>

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

	PR libstdc++/116440
	* include/std/tuple (tuple::tuple(const _Elements&...))
	[C++20]: Turn into a template.
	* testsuite/20_util/tuple/116440.C: New test.

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

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

	* testsuite/std/format/functions/format.cc: Restored line.

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

	PR libstdc++/119593
	* include/bits/unicode.h
	(__unicode::__literal_encoding_is_unicode<_CharT>):
	Corrected handing for UTF-16 and UTF-32 with "LE" or "BE" suffix.
	* include/std/format (__formatter_str::_S_character_width):
	Define.
	(__formatter_str::_S_character_width): Updated passed char
	length.
	* testsuite/std/format/functions/format.cc: Test for wchar_t.

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

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

	PR libstdc++/119469
	* include/bits/iterator_concepts.h (_IterMove::__result): Use
	decltype-specifier instead of an explicit type.
	* testsuite/24_iterators/customization_points/iter_move.cc:
	Check results for function references.

2025-04-02  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-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>

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

	PR libstdc++/114945
	* include/bits/vector.tcc (vector::_M_default_append): Add
	unreachable condition so the compiler knows that _M_finish is
	not null.
	* testsuite/23_containers/vector/capacity/114945.cc: New test.

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

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

2025-04-01  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-04-01  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/bits/stl_map.h: Check __glibcxx_node_extract instead
	of __cplusplus.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_tree.h: Likewise.

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

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

	* include/std/future (packaged_task::packaged_task(F&&)): Add
	static_assert.
	* testsuite/30_threads/packaged_task/cons/dangling_ref.cc: Add
	dg-error for new static assertion.
	* testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc: New
	test.

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

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

	PR libstdc++/118699
	* testsuite/27_io/filesystem/operations/copy.cc: Check copying a
	file to a directory.

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-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-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-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:
	2025-03-25  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108487
	* include/bits/stl_vector.h (vector(initializer_list)): Call
	_M_range_initialize_n instead of _M_range_initialize.
	(vector(InputIterator, InputIterator)): Use _M_range_initialize_n
	for C++20 sized sentinels and forward iterators.
	(vector::_M_range_initialize(FwIt, FwIt, forward_iterator_tag)):
	Use _M_range_initialize_n.
	(vector::_M_range_initialize_n): New function.
	* testsuite/23_containers/vector/cons/108487.cc: New test.

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

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

	* include/std/ranges (ranges::to): Allow unions as well as
	non-union class types.
	* testsuite/std/ranges/conv/lwg4229.cc: New test.

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

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

	PR libstdc++/112803
	* include/std/ranges (ranges::to): Add static assertions to
	enforce Mandates conditions.
	* testsuite/std/ranges/conv/112803.cc: New test.

2025-03-26  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-26  Jonathan Wakely  <jwakely@redhat.com>

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

	PR libstdc++/115939
	* include/bits/hashtable_policy.h (_Node_iterator): Add
	operator== and operator!=.
	(_Node_const_iterator): Likewise.
	* testsuite/23_containers/unordered_map/115939.cc: New test.

2025-03-25  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-03-21  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-21  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-21  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-18  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-03-05  Tomasz Kamiński  <tkaminsk@redhat.com>

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

	PR libstdc++/119121
	* include/bits/ranges_util.h (__detail::__pair_like_convertible_from):
	Use `_Tp` in `is_reference_v` check
	* testsuite/std/ranges/subrange/tuple_like.cc: New tests for
	pair-like conversion

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

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

	PR libstdc++/118811
	* src/c++20/tzdb.cc (tzdb_list::_Node): Move definitions of
	static data members to new header.
	* src/c++20/tzdb_globals.h: New header. Use init_priority
	attribute on static data members.
	* testsuite/std/time/tzdb_list/pr118811.cc: New test.

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

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

	* include/std/tuple: Do not include implementation details in
	Doxygen documentation.

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

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

	* include/std/stacktrace (_Impl::_M_allocate): Fix outdated
	comment.

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

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

	* include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
	Use __detail::__get_temporary_buffer.
	(basic_stacktrace::_Impl::_M_deallocate): Use
	__detail::__return_temporary_buffer.

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

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

	* include/std/string_view (starts_with(basic_string_view)):
	Compare lengths first and then call traits_type::compare
	directly.

2025-02-28  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/bits/stl_tempbuf.h: Likewise.
	* 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-02-28  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast
	argument to size_t to handle negative values and suppress
	-Wsign-compare warning.
	(_Temporary_buffer): Move diagnostic pragmas to new location of
	call to std::get_temporary_buffer.

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

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

	PR libstdc++/105258
	* include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer):
	New function to do allocation for get_temporary_buffer, with
	extended alignment support.
	(__detail::__return_temporary_buffer): Support extended
	alignment.
	(get_temporary_buffer): Use __get_temporary_buffer.
	(return_temporary_buffer): Support extended alignment. Add
	deprecated attribute.
	(_Temporary_buffer): Move allocation and deallocation into a
	subobject and remove try-catch block in constructor.
	(__uninitialized_construct_buf): Use argument deduction for
	value type.
	* testsuite/20_util/temporary_buffer.cc: Add dg-warning for new
	deprecated warning.
	* testsuite/25_algorithms/stable_sort/overaligned.cc: New test.

2025-02-28  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-02-28  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/bits/stl_uninitialized.h (uninitialized_default_construct)
	(uninitialized_default_construct_n, uninitialized_value_construct)
	(uninitialized_value_construct_n): Qualify calls to prevent ADL.

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

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

	* include/bits/basic_string.h (__to_wstring_numeric): Add 'i'
	and 'I' to mapping.

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

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

	PR libstdc++/117921
	* testsuite/23_containers/set/modifiers/swap/adl.cc: Add
	equality comparison for Allocator.
	* testsuite/23_containers/unordered_set/modifiers/swap-2.cc:
	Likewise.

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

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

	PR libstdc++/117921
	* include/bits/hashtable_policy.h (_Hash_code_base::_M_swap):
	Use ADL swap for Hash members.
	(_Hashtable_base::_M_swap): Use ADL swap for _Equal members.
	* include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for
	_Compare members.
	* testsuite/23_containers/set/modifiers/swap/adl.cc: New test.
	* testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New
	test.

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

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

	* include/bits/forward_list.h (forward_list::front): Add
	non-empty assertions.
	* include/bits/stl_list.h (list::front, list::back): Add
	non-empty assertions.

2025-02-28  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-01-29  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2025-01-29  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/118413
	* include/std/ranges (views::__adaptor::_Partial): Adjust
	constraints on the "simple" partial specializations to require
	is_trivially_copy_constructible_v instead of
	is_trivially_copyable_v.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc (test04):
	Extend P2494R2 test.
	* testsuite/std/ranges/adaptors/transform.cc (test09): Likewise.

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

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

	PR libstdc++/118185
	PR libstdc++/100249
	* include/bits/ranges_algo.h (__clamp_fn): Correctly forward the
	projected value to the comparator.
	* testsuite/25_algorithms/clamp/118185.cc: New test.

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

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

	PR libstdc++/109849
	* include/bits/vector.tcc (vector::_M_range_insert): Fix
	reversed args in length calculation.

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

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

	* include/bits/istream.tcc: Add diagnostic pragmas around uses
	of long long and extern template.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
	Likewise.
	* include/ext/pointer.h: Likewise.
	* include/ext/stdio_sync_filebuf.h: Likewise.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/functional_hash.h: Likewise. Remove semi-colons
	at namespace scope that aren't needed after macro expansion.
	* include/tr1/tuple: Remove semi-colon at namespace scope.
	* include/bits/vector.tcc: Change LL suffix to just L.

2025-01-16  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-01-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	Backported from master:
	2025-01-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* testsuite/27_io/print/1.cc: Allow both LF and CRLF in test.
	* testsuite/27_io/print/3.cc: Likewise.

2025-01-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	Backported from master:
	2025-01-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* testsuite/29_atomics/atomic_float/compare_exchange_padding.cc:
	Use effective-target libatomic_available.

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:
	2024-12-10  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/memory_resource.h (polymoprhic_allocator): Use
	feature test macro for P0339R6 features.

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

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

	* include/bits/alloc_traits.h: Improve doxygen docs for
	allocator_traits specializations.
	* include/bits/memory_resource.h: Likewise.

2025-01-09  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-01-09  Jonathan Wakely  <jwakely@redhat.com>

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

	PR libstdc++/89624
	* include/bits/atomic_base.h (memory_order): Use int as
	underlying type.
	* testsuite/29_atomics/atomic/89624.cc: New test.

2025-01-09  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-01-09  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/std/ostream (println): Pass stream's locale to
	std::format, as per LWG 4088.
	* testsuite/27_io/basic_ostream/print/1.cc: Check std::println
	with custom locale. Remove unused brit_punc class.

2025-01-09  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-01-09  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-09  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/bits/c++config (__glibcxx_assert): Remove useless
	__builtin_expect from constexpr-only assertion. Improve
	comments.

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

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

