2026-08-07  Release Manager

	* GCC 16.2.0 released.

2026-07-29  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-07-29  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/122197
	* include/bits/shared_ptr_base.h (~_Sp_counted_deleter): Disable
	-Warray-bounds warnings.
	(_Sp_counted_deleter::_M_dispose): Likewise.
	(_Sp_counted_ptr_inplace::_M_dispose): Likewise.
	* testsuite/20_util/shared_ptr/dest/122197-2.cc: New test.
	* testsuite/20_util/shared_ptr/dest/122197.cc: New test.

2026-07-29  David Faure  <david.faure@kdab.com>

	Backported from master:
	2026-07-28  David Faure  <david.faure@kdab.com>

	* python/libstdcxx/v6/printers.py (StdMapPrinter.num_children):
	Count two children per element.
	(Tr1UnorderedMapPrinter.num_children): Likewise.

2026-07-29  David Faure  <david.faure@kdab.com>

	Backported from master:
	2026-07-28  David Faure  <david.faure@kdab.com>

	* python/libstdcxx/v6/printers.py (StdMapPrinter.num_children):
	Fix parameter name.
	(StdSetPrinter.num_children): Likewise.

2026-07-29  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-07-20  Tomasz Kamiński  <tkaminsk@redhat.com>
		    Álvaro Begué  <alvaro.begue@gmail.com>

	PR libstdc++/124854
	* src/c++20/tzdb.cc (ZoneInfo::save): Define.
	(time_zone::_M_get_sys_info): Fold initial transition if they
	occurs in duplicated local time window (merge_window) due move
	from DST to STD zone.
	* testsuite/std/time/time_zone/wall_cascade.cc (test_next_year):
	Test that 1945 Pacific/Auckland transition is properly handled.
	(test_negative): Adjust test to avoid zone merge.
	* testsuite/std/time/time_zone/zone_merge.cc: New test.

2026-07-29  Tomasz Kamiński  <tkaminsk@redhat.com>
	    Álvaro Begué  <alvaro.begue@gmail.com>

	PR libstdc++/116110
	* src/c++20/tzdb.cc (ZoneInfo::calc_save, ZoneInfo::State): Define.
	(ZoneInfo::m_expanded): Replaced with m_state.
	(ZoneInfo::m_pos): Reduce the bit with to 14.
	(ZoneInfo::m_state): Expands m_expanded with four state enum.
	(ZoneInfo::ZoneInfo, ZoneInfo::expanded, ZoneInfo::set_abbrev):
	Replace m_expanded usage with m_state and State::Expanded.
	(Transitions, find_surrounding_transitions): Extracted from
	find_active_rule.
	(find_active_rule): Define overload for local_seconds. Implement
	both in terms of find_surrounding_transitions.
	(chrono::reload_tzdb): Calculate save (invoke calc_save) for
	all infos on all zones.
	(time_zone::_M_get_sys_info): Define rules as span<const Rules>,
	and remove the comment.
	(operator>>(istream&, ZoneInfo&)): Set m_state for UntilPending
	for UNTIL time using wall time, and SaveKnown for lines without
	end date. For clarity, set m_save to 0 if daylight is not used.
	* testsuite/std/time/time_zone/116110.cc (test_apia): Use correct
	value of the the total offset.
	* testsuite/std/time/time_zone/pr116110_named.cc: New test.
	* testsuite/std/time/time_zone/wall_cascade.cc: Add test
	for last_transition.
	(cherry picked from commits 020e02fcf281bd24065c8663219a22aba9d0a47d)
	(4426e08a4fd0d35643d16a14c9e9b81488823a23)
	(ce285dde2110f453fdbbd89fbb2f85a4d039705d)

2026-07-28  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-07-28  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/deque.tcc (std::__uninitialized_copy_a): Remove unused
	variable __sres.

2026-07-26  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-07-25  Patrick Palka  <ppalka@redhat.com>

	* include/std/ranges (__detail::__compatible_joinable_ranges):
	Remove.
	(__detail::__concat_reference_t): Move definition up.
	(__detail::__concat_value_t): Likewise.
	(__detail::__concat_rvalue_reference_t): Likewise.
	(__detail::__concat_indirectly_readable_impl): Likewise.
	(__detail::__concat_indirectly_readable): Likewise.
	(__detail::__concatable): Likewise.
	(join_with_view): Use __concatable instead of
	__compatible_joinable_ranges in constraints as per LWG 4074.
	(join_with_view::begin): Add __concatable constraint as per
	LWG 4074.
	(join_with_view::end): Likewise.
	(join_with_view::_Iterator): Adjust out-of-line declaration.
	(join_with_view::_Sentinel): Likewise.

2026-07-24  Tomasz Kamiński  <tkaminsk@redhat.com>
	    Álvaro Begué  <alvaro.begue@gmail.com>

	PR libstdc++/124853
	* src/c++20/tzdb.cc
	(time_zone::_M_get_sys_info): Extract code blocks to
	separate functions, and invoke them.
	(<unnamed>::find_active_rule): Modify algorithm to
	handle cascading saves.
	(<unnamed>::find_first_std): Simplified implementation
	benefiting from reordering of rules.
	(chrono::reload_tzdb): Sort rules by name, from and save.
	* testsuite/std/time/time_zone/wall_cascade.cc: New test.
	(cherry picked from commits f7cde200320e0800e4fcc5cea399e9faef50f8d4)
	(610134a51fa3d0bcd3e0980c6574557172dc88c0)

2026-07-23  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-07-20  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/116110
	* src/c++20/tzdb.cc (time_zone::_M_get_sys_info): Correct
	condition for stopping zone expansion before STD zone.
	* testsuite/std/time/time_zone/116110.cc (test_dawson):
	Add test for America/Dawson August 1945 transition.

2026-07-23  Tomasz Kamiński  <tkaminsk@redhat.com>

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

	PR libstdc++/124852
	* src/c++20/tzdb.cc (on_month_day::on_day_t, on_month_day::on_day):
	Remove.
	(operator>>(istream&, on_month_day::day_t&)): Inlined into...
	(operator>>(istream&, on_month_day)): Inlined on_month_day::on_day.
	Avoid modifying on.month if MONTH is not present. Report failure
	on failure to parse day for LessEq / GreaterEq.

2026-07-23  Álvaro Begué  <alvaro.begue@gmail.com>

	Backported from master:
	2026-05-13  Álvaro Begué  <alvaro.begue@gmail.com>
		    Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/124852
	* src/c++20/tzdb.cc (on_day): Rename to...
	(on_day_month): Rename from on_day.
	(on_day_month::on_day_t, on_day_month::on_day): Define.
	(operator>>(istream&, on_day_t&&)): Factored out of
	operator>>(istream&, on_day&).
	(operator>>(istream&, on_day&)): Use on_day_t parser.
	(operator>>(istream&, ZoneInfo&)): Replace the integer DAY
	parser with on_day_t for the UNTIL field.
	* testsuite/std/time/time_zone/until_day_on.cc: New test.

2026-07-23  Álvaro Begué  <alvaro.begue@gmail.com>

	Backported from master:
	2026-05-13  Álvaro Begué  <alvaro.begue@gmail.com>

	PR libstdc++/124851
	* src/c++20/tzdb.cc (ZoneInfo::ZoneInfo(sys_info&&)): Store
	stdoff only in m_offset (subtract info.save).
	(ZoneInfo::ZoneInfo(const pair<sys_info, string_view>&)):
	Likewise.
	(ZoneInfo::offset()): Document new semantics.
	(ZoneInfo::to(sys_info&)): Add m_save back to offset() when
	populating sys_info::offset.
	* testsuite/std/time/time_zone/numeric_save.cc: New test.

2026-07-22  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-07-22  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate.
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Likewise.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-07-07  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/mdspan
	(layout_stride::mapping::mapping(const extent_type&, span<...>)):
	Convert strides using __index_type_cast, which bring asserts
	for negative and unrepresentable values.
	* testsuite/23_containers/mdspan/layouts/stride_neg.cc: New test.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-07-10  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/ranges (repeat_view::repeat_view): Assert that
	__bound >= 0 consistently. Replace !same_as<unreachable_sentinel>
	with __is_signed_integer_like check.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-07-07  Tomasz Kamiński  <tkaminsk@redhat.com>

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.36): Export basic_format_arg
	_M_handle_unrecognized method of specializations of
	format_context and wformat_context.
	* include/std/format (basic_format_arg::_M_handle_unrecognized):
	Declare with explicit specializations for (w)format_context
	if _GLIBCXX_EXTERN_TEMPLATE, and define otherwise.
	(basic_format_arg::_M_visit): Remove __type parameter, and use
	_M_type instead. Call _M_handle_unrecognized for unrecognized
	_Arg_t values.
	(basic_format_arg::_M_visit_user): Remove __type parameter,
	and use _M_type instead. Adjust calls to _M_visit.
	(basic_format_arg::visit, std::visit_format_arg)
	(__format::__visit_format_arg): Remove _M_type argument from
	_M_visit(_user) calls.
	* src/c++20/format-inst.cc
	(basic_format_arg::_M_handle_unrecognized): Define and export
	explicit specializations for (w)format_context.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

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

	* include/std/format (_Pres_type::_Pres_p, _Pres_type::_Pres_P):
	Change the values to which they are defined.
	(__formatter_fp::format): Append 0x/0X if _M_type is _Pres_p/_Pres_P
	respectively.
	(__formatter_fp::_M_localize): Add __offset parameter representing
	start of number value (after sign and prefix).
	(__formatter_ptr::parse, __formatter_ptr::_M_default)
	(__formatter_ptr::__formatter_ptr): Remove unused __type parameter,
	and replace use of _Pres_p/P with _Pres_x/X.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

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

	* include/std/format (__formatter_int::format)
	(__formatter_fp::format): For unrecognised _M_spec._M_type
	values (default branch of switch) fallthrou to _Pres_none.

2026-07-21  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-06-24  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/format (__do_vformat_to): Change the preprocessor
	check for __do_vformat_to.

2026-07-21  Jonathan Wakely  <jwakely@redhat.com>
	    Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/123165
	* acinclude.m4 (libtool_VERSION): Bump version.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.36): Add new symbol
	version and export new symbol.
	* configure: Regenerate.
	* include/std/chrono (__detail::__recent_leap_second_info):
	Declare new function and make it a friend of various classes.
	(leap_second): Make private constructor constexpr. Remove friend
	declaration for get_leap_second_info.
	(__detail::__get_leap_second_info): Use new function for times
	past the hardcoded expiry.
	* src/c++20/tzdb.cc (tzdb_list::_Node::fixed_leaps): Move array
	of leap seconds here from _S_read_leap_seconds.
	(_Node::NumLeapSeconds): New class.
	(_Node::num_leap_seconds): New static variable.
	(__detail::__recent_leap_second_info): Define new function.
	(tzdb_list::_Node::_S_read_leap_seconds): Populate vector from
	_Node::fixed_leaps. Rename bool variable to clarify meaning.
	(tzdb_list::_Node::_S_replace_head): Update num_leap_seconds
	when updating the tzdb_list.
	* testsuite/util/testsuite_abi.cc: Update known_versions and
	latestp.
	* testsuite/std/time/clock/utc/leap_second_info-2.cc: New test.
	(cherry-picked from commits e79f0f818c0e42d0d84c90a54684dfb269ac388c)
	(b12fdd952511786bf8d285e7080e94deeb32aa1d)
	(adb4f4a064c009cd616106fa4c648182c18f96d9)
	(a7ad4bee6fe7cd77aceb6e86380dcaeb6da82791)

2026-07-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-07-15  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/126111
	* include/std/format (__format::__write_escape_seq): Remove
	unnecessary alias declaration.
	* include/std/spanstream (wspanbuf, wispanstream, wospanstream)
	(wspanstream): Only declare for _GLIBCXX_USE_WCHAR_T.
	* include/std/syncstream (wsyncbuf wosyncstream): Likewise.
	* src/c++23/std.cc.in: Add preprocessor checks for
	_GLIBCXX_USE_WCHAR_T to names which depend on it.

2026-07-01  Matthias Kretz  <m.kretz@gsi.de>

	Backported from master:
	2026-07-01  Matthias Kretz  <m.kretz@gsi.de>

	* include/bits/simd_details.h (_ScalarAbi): Remove.
	(__scalar_abi_tag): Identify _Abi<N, N> as scalar now.
	(__native_abi): Replace _ScalarAbi<1> with _Abi_t<1, 1, ...>.
	(__abi_rebind): Refactor rebinding from/to __scalar_abi_tag.
	* include/bits/simd_mask.h (_S_use_bitmask): Only true if
	!_S_is_scalar.
	(_M_and_neighbors, _M_or_neighbors): Add case for _S_is_scalar
	where the and/or must be executed one step earlier.
	(_M_reduce_min_index, _M_reduce_max_index): Delete dead code.
	* include/bits/simd_vec.h (_S_use_bitmask): Inherit the value
	from the first data member.
	* testsuite/std/simd/traits_impl.cc: Adjust for the removal of
	_ScalarAbi.

2026-07-01  Yi Chen  <chencyy@hygon.cn>

	Backported from master:
	2026-07-01  Yi Chen  <chencyy@hygon.cn>

	* src/c++11/random.cc (random_device::_M_init): Add signature_HYGON_ebx to
	the RDSEED and RDRAND CPUID vendor allowlists.  For the default device on
	Hygon, prefer RDRAND via a dedicated check at the top of the function.

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

	Backported from master:
	2026-06-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono_io.h: Fix comment typo.

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

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

	PR libstdc++/125956
	* src/c++20/format.cc [_GLIBCXX_HAVE_ICONV] (iconv_input): New
	concept.
	(__encoding::conv) [_GLIBCXX_HAVE_ICONV]: Use iconv_input to
	decide which type to cast the input pointer to.

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

	Backported from master:
	2026-06-24  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/27_io/filesystem/operations/copy_symlink/1.cc: Add
	dg-require-target-fs-symlinks.
	* testsuite/27_io/filesystem/operations/copy_symlink/2.cc:
	Likewise.
	* testsuite/27_io/filesystem/operations/copy_symlink/3.cc:
	Likewise.
	* testsuite/27_io/filesystem/operations/copy_symlink/4.cc:
	Likewise.

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

	Backported from master:
	2026-06-24  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/118158
	* testsuite/27_io/filesystem/operations/pr118158.cc: Add
	dg-require-mkfifo.

2026-07-01  Dragon Archer  <dragon-archer@outlook.com>

	Backported from master:
	2026-05-16  Dragon Archer  <dragon-archer@outlook.com>

	PR libstdc++/125228
	* src/c++11/debug.cc: Replace assert with __glibcxx_assert,
	and remove the include of <cassert>.
	* src/c++17/floating_to_chars.cc: Likewise, but redefine
	assert as __glibcxx_assert.

2026-06-25  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-06-25  Jakub Jelinek  <jakub@redhat.com>

	* src/c++23/Makefile.am (stamp-modules-bits): Use abs_builddir instead
	of abs_srcdir.
	* src/c++23/Makefile.in: Regenerate.

2026-06-24  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2026-06-24  Alexandre Oliva  <oliva@adacore.com>

	* src/c++23/Makefile.am (libstdc++.modules.json): Rewrite
	without abspath make function.
	(stamp-modules-bits): Likewise.
	* src/c++23/Makefile.in: Rebuilt.

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

	Backported from master:
	2026-06-23  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/chrono.h (std::chrono_literals): Fix typo in
	comment.

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

	Backported from master:
	2026-06-23  Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/debug_mode.xml: Remove 404 link to stlport
	website and modernise some text about debug modes in other
	implementations.
	* doc/html/manual/debug_mode_design.html: Regenerate.

2026-06-23  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/125890
	* include/bits/memory_resource.h (allocate_at_least): Add to
	allocator_traits<pmr::polymorphic_allocator> specialization.
	* testsuite/20_util/polymorphic_allocator/at_least.cc: New test.

2026-06-23  Tomasz Kamiński  <tkaminsk@redhat.com>

	Backported from master:
	2026-06-13  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/version.def (constant_wrapper): Bump to 202606L.
	* include/bits/version.h: Regenerate.
	* include/bits/funcref_impl.h (function_ref::function_ref): Rename
	template parameter from __cwfn to __fn and use it direclty.
	* include/bits/funcwrap.h (function_ref): Rename template parameter
	to __fn.
	(std::constant_wrapper): Use auto as non-type template parameter,
	and refeference it as value.
	* include/bits/utility.h (__CwFixedValue): Remove.
	* include/std/mdspan (__mdspan::__is_constant_wrapper):
	Use auto as non-type template parameter.
	* testsuite/20_util/constant_wrapper/generic.cc: Remove arrays
	and string literal tests. Add test for address of value.
	* testsuite/20_util/constant_wrapper/other_wrappers.cc:
	Remove test_array.
	* testsuite/20_util/constant_wrapper/type_param_neg.cc: New file.

2026-06-04  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-29  Patrick Palka  <ppalka@redhat.com>

	* include/std/flat_set (_Flat_set_impl::swap): Swap _M_cont
	first.

2026-06-04  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-28  Patrick Palka  <ppalka@redhat.com>

	* include/std/flat_map (flat_map): Bring in operator= from
	_Flat_map_base.
	(flat_multimap): Likewise.
	* include/std/flat_set (flat_set): Bring in operator= from
	_Flat_set_base.
	(flat_multiset): Likewise.
	* testsuite/23_containers/flat_map/1.cc (test11): Simplify by
	using = {...}.
	(test12): New test.
	* testsuite/23_containers/flat_multimap/1.cc (test10): Simplify
	by using = {...}.
	(test11): New test.
	* testsuite/23_containers/flat_multiset/1.cc (test10): Simplify
	by using = {...}.
	(test11): New test.
	* testsuite/23_containers/flat_set/1.cc (test10): Simplify by
	using = {...}.
	(test11): New test.

2026-06-04  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-28  Patrick Palka  <ppalka@redhat.com>

	* include/bits/version.def (flat_map): Bump to 202511.
	(flat_set): Likewise.
	* include/bits/version.h: Regenerate.
	* include/std/flat_map (_Flat_map_impl): Remove
	is_nothrow_swappable_v assertions.
	(_Flat_map_impl::_Flat_map_impl): Explicitly default copy ctor.
	Define move ctor with corrected exception handling as per
	P3567R2.
	(_Flat_map_impl::operator=): Likewise.
	(_Flat_map_impl::insert_range): Define new __sorted_t overload
	as per P3567R2.
	(_Flat_map_impl::swap): Make conditionally noexcept as per
	P3567R2.
	* include/std/flat_set (_Flat_set_impl): Remove
	is_nothrow_swappable_v assertion.
	(_Flat_set_impl::_Flat_set_impl): Explicitly default copy ctor.
	Define move ctor with correct invariant preserving behavior as
	per P3567R2.
	(_Flat_set_impl::operator=): Likewise.
	(_Flat_set_impl::_M_insert_range): Factored out from
	insert_range.  Add bool parameter __is_sorted defaulted to
	false.
	(_Flat_set_impl::insert_range): Define new __sorted_t overload
	as per P3567R2.
	(_Flat_set_impl::swap): Make conditionally noexcept as per
	P3567R2.  Correct to use ranges::swap instead of ADL swap.
	* testsuite/23_containers/flat_map/1.cc (test11, test12):
	New tests.
	* testsuite/23_containers/flat_multimap/1.cc (test10, test11):
	New tests.
	* testsuite/23_containers/flat_multiset/1.cc (test10, test11):
	New tests.
	* testsuite/23_containers/flat_set/1.cc (test10, test11):
	New tests.

2026-06-04  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-28  Patrick Palka  <ppalka@redhat.com>

	* include/std/flat_map (_Flat_map_impl::_M_insert): New bool
	parameter __is_sorted defaulted to false.  Reimplement using
	views::zip and ranges::inplace_merge.
	(_Flat_map_impl::insert): In the __sorted_t overload, pass
	__is_sorted=true to _M_insert.

2026-06-04  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/debug/safe_iterator.h: Remove trailing whitespace.

2026-05-27  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-26  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/125450
	* include/std/optional (range_format): Do not define for
	freestanding.

2026-05-21  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-21  Patrick Palka  <ppalka@redhat.com>

	* testsuite/23_containers/flat_map/1.cc (test_constexpr):
	If std::string isn't constexpr don't run test10.

2026-05-21  Patrick Palka  <ppalka@redhat.com>

	Backported from master:
	2026-05-19  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/125374
	* include/std/flat_map (_Flat_map_impl::_M_try_emplace): Forward
	instead of unconditionally moving __k when inserting it.
	* testsuite/23_containers/flat_map/1.cc (test10): New test.

2026-05-21  Tomasz Kamiński  <tkaminsk@redhat.com>

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

	* include/std/mdspan (layout_left_padded::is_exhaustive)
	(layout_righ_padded::is_exhaustive): Mark as const.
	* testsuite/23_containers/mdspan/layouts/mapping.cc: Test noexcept and
	const-invocability for is_exhaustive, is_strided, and is_unique.
	* testsuite/23_containers/mdspan/layouts/padded.cc: Test is_exhaustive on
	const mapping..
	* testsuite/23_containers/mdspan/layouts/stride.cc: Likewise.
	* testsuite/23_containers/mdspan/mdspan.cc: Checks const-invocability
	for is_exhaustive, is_strided, is_unique.

2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

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

2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-18  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
	Reduce iterations for debug mode.

2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/125369
	* include/bits/chrono_io.h (__detail::_Parser::operator()):
	Check for errors when parsing digits for a %z format.
	* testsuite/std/time/parse/125369.cc: New test.

2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-13  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/std/time/clock/local/io.cc: Call test_format.

2026-05-19  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-07  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/78302
	PR libstdc++/71301
	* include/std/tuple [C++20] (tuple(tuple&&)): Add
	requires-clause.
	* testsuite/20_util/tuple/cons/78302.cc: New test.

2026-05-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-18  Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/23_containers/bitset/lwg4294.cc: Move to...
	* testsuite/20_util/bitset/cons/lwg4294.cc: ...here.

2026-05-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-16  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/125312
	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Copy header
	into cwd instead of including it via an absolute path.
	* configure: Regenerate.

2026-05-16  Jonathan Wakely  <jwakely@redhat.com>

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

	* src/c++20/tzdata.zi: Import new file from 2026a release.

2026-05-16  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2026-05-13  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/shared_ptr_atomic.h: Remove trailing whitespace.

2026-05-05  Jonathan Wakely  <jwakely@redhat.com>

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

	PR libstdc++/109965
	* doc/doxygen/mainpage.html: Link to topics.html instead of
	modules.html

2026-05-05  Jonathan Wakely  <jwakely@redhat.com>

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

	* include/bits/unique_ptr.h (unique_ptr::_Nothrow_deref): New
	helper for pre-C++20.
	(unique_ptr::operator*): Either constrain or use _Nothrow_deref.
	* testsuite/20_util/unique_ptr/lwg4324.cc: New test.

2026-05-05  Jonathan Wakely  <jwakely@redhat.com>

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

	PR libstdc++/121919
	* include/bits/ranges_algo.h (__sample_fn, __shuffle_fn): Use
	decltype(__g()) instead of remove_reference_t<_G>::result_type.
	* include/bits/uniform_int_dist.h
	(uniform_int_distribution::operator()): Use decltype(__urng())
	instead of _UniformRandomBitGenerator::result_type
	(uniform_int_distribution::__generate_impl): Likewise.
	* testsuite/25_algorithms/sample/121919.cc: New test.
	* testsuite/25_algorithms/shuffle/121919.cc: New test.

2026-04-30  Felix Morgner  <felix.morgner@gmail.com>

	Backported from master:
	2026-04-30  Felix Morgner  <felix.morgner@gmail.com>

	PR libstdc++/125112
	* include/Makefile.am: Move bits/binders.h from bits_headers to
	bits_freestanding.
	* include/Makefile.in:

2026-04-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-27  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/125024
	* include/std/type_traits (std::is_scalar): For
	__cpp_impl_reflection >= 202506L handle is_reflection types as
	scalar.
	* testsuite/20_util/is_scalar/reflection.cc: New test.

2026-04-30  Release Manager

	* GCC 16.1.0 released.

2026-04-29  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono (chrono::__detail::__get_leap_second_info):
	Update expiry date for leap seconds list.
	* src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds):
	Likewise.

2026-04-28  Jonathan Wakely  <jwakely@redhat.com>

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

	* doc/xml/manual/status_cxx2023.xml: Update status table.
	* doc/html/manual/status.html: Regenerate.

2026-04-28  Jonathan Wakely  <jwakely@redhat.com>

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

	* doc/xml/manual/using.xml (Flags): Update description of
	default value for -std option.
	* doc/html/manual/using.html: Regenerate.

2026-04-22  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.

2026-04-22  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/version.def (reflection): Bump 202506L to 202603L
	for both v and in extra_cond.
	* include/bits/version.h: Regenerate.
	* include/std/meta: Compare __glibcxx_reflection against
	202603L rather than 202506L.
	* src/c++23/std.cc.in: Likewise.

2026-04-22  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/align.h (is_sufficiently_aligned): Mandate
	that _Align is power of two.
	* testsuite/20_util/is_sufficiently_aligned/2_neg.cc: New test.

2026-04-22  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/mdspan (mdspan): Remove reference from
	_AccessorType::data_handle_type parameteter of deduction
	guide.
	* testsuite/23_containers/mdspan/mdspan.cc: New test.

2026-04-22  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/chrono_io.h: Add comment for LWG3831.
	* include/bits/print.h: Add comment for LWG4549.
	* include/std/condition_variable: Add comment for LWG3504.
	* include/std/format: Add comments for LWG4522.
	* include/std/mdspan: Add comment for LWG4314.
	* include/std/optional: Add comment for LWG2746.

2026-04-21  Nathan Myers  <ncm@cantrip.org>

	* include/bits/alloc_traits.h (allocate_at_least):
	Take allocator argument by reference, per Standard.

2026-04-21  Jonathan Wakely  <jwakely@redhat.com>

	* src/c++23/print.cc (__open_terminal): Fix comment.

2026-04-21  Marek Polacek  <polacek@redhat.com>

	PR c++/124950
	* include/std/meta (std::meta::data_member_options): Initialize
	alignment, bit_width, and annotations members.

2026-04-21  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/120527
	* include/bits/atomic_wait.h [__OpenBSD__ || __DragonFly]: Use
	unsigned int for __platform_wait_t.

2026-04-21  Jonathan Wakely  <jwakely@redhat.com>
	    Iain Sandoe  <iain@sandoe.co.uk>

	PR libstdc++/120527
	* include/bits/atomic_wait.h:
	* src/c++20/atomic.cc (__ulock_wait): Enable supported Darwin versions.
	(__ulock_wake): Likewise.
	(UL_COMPARE_AND_WAIT): New.
	(UL_COMPARE_AND_WAIT64): New.
	(ULF_WAKE_ALL): New.
	(_GLIBCXX_HAVE_PLATFORM_WAIT): Enable for suppported Darwin versions.

2026-04-21  Matthias Kretz  <m.kretz@gsi.de>

	* include/bits/simd_details.h (__value_preserving_cast): Remove.
	* include/bits/simd_mask.h (basic_mask): Replace plain 0 and 1
	literals with cw<0> and cw<1>. Replace explicit basic_vec
	construction from 0 and 1 with default init and broadcast from
	_Up(1).
	(_M_to_uint): Replace 1 with cw<1>.
	* include/bits/simd_vec.h (basic_vec): Remove consteval
	broadcast overload. Remove explicit broadcast from
	non-value-preserving types.
	* testsuite/std/simd/arithmetic.cc: Replace ill-formed integer
	literals with explicit cast to T or use cw.
	* testsuite/std/simd/mask.cc: Likewise.
	* testsuite/std/simd/simd_alg.cc: Likewise.
	* testsuite/std/simd/traits_common.cc: Adjust for resulting
	traits changes.
	* testsuite/std/simd/traits_math.cc: Likewise.

2026-04-21  Patrick Palka  <ppalka@redhat.com>

	PR c++/124910
	* include/std/optional (_Optional_payload_base::_M_destroy):
	Restrict r16-8748 workaround to Clang, and adjust comment.

2026-04-20  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/print.h: Fix spelling of macro.

2026-04-18  Patrick Palka  <ppalka@redhat.com>

	PR c++/124910
	* include/std/optional (_Optional_payload_base::_M_destroy)
	[__cpp_lib_optional >= 202106L]: During constant evaluation,
	after invoking destructor of _M_value, use construct_at to
	activate _M_empty.
	* testsuite/20_util/optional/constexpr/124910.cc: New test.

2026-04-17  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/124890
	PR libstdc++/119714
	PR libstdc++/112490
	* include/bits/indirect.h (indirect::operator==): Replace
	non-dependent std::indirect function parameter with a
	dependent one of type indirect<_Vp> where _Vp matches _Tp.
	* testsuite/std/memory/indirect/124890.cc: New test.

2026-04-17  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/print.h (_File_sink): Add comments.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/124410
	* doc/html/*: Regenerate.
	* doc/xml/manual/using.xml (_GLIBCXX_NO_INLINE_PRINT): Document
	macro.
	* include/Makefile.am: Add bits/print.h and bits/ostream_print.h
	headers.
	* include/Makefile.in: Regenerate.
	* include/std/ostream (vprint_nonunicode, vprint_unicode): Move
	definitions to new bits/ostream_print.h header.
	* include/std/print (__format::_File_sink, vprint_nonunicode)
	(vprint_nonunicode_buffered, vprint_unicode)
	(vprint_unicode_buffered): Move definitions to new bits/print.h
	header.
	* src/c++23/print.cc: Include new headers to define symbols for
	inline print functions.
	* include/bits/ostream_print.h: New file.
	* include/bits/print.h: New file.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	* 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.

2026-04-17  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/i386-linux-gnu/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.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/chrono: Improve Doxygen comments.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/124268
	* config/abi/pre/gnu.ver: Export symbols.
	* src/Makefile.am: Add libmodulesconvenience.la to libstdc++
	link.
	* src/Makefile.in: Regenerate.
	* src/c++23/Makefile.am: Create libmodulesconvenience.la
	and populate it with std.o and std.compat.o interface units,
	with empty fallback objects if compiling the interface units
	fails. Add clean-local target.
	* src/c++23/Makefile.in: Regenerate.

2026-04-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/124540
	* testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
	Skip long double tests for IBM long double format.

2026-04-16  Tomasz Kamiński  <tkaminsk@redhat.com>

	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Exclude exports
	of std::basic_fo* (matching basic_format_context).
	(GLIBCXX_3.4.35): Export __format::__do_vformat_to
	specializations for _Sink_iter and char/wchar_t.
	* include/std/format: (__format::__do_vformat_to):
	Extract overload accepting _Sink_iter and provide extern
	explicit specialization for char/wchar_t in C++20 mode.
	* src/c++20/Makefile.am: Add format-inst.cc.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++20/format-inst.cc: New file defining explicit
	instantiation.

2026-04-15  Elena Tyuleneva  <elena.tyuleneva@intel.com>

	* include/bits/random.tcc (philox_engine::_M_transtiion): Fix
	counter increment to propagate carry correctly.
	* testsuite/26_numerics/random/philox_engine/operators/counter_carry.cc:
	New test.

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

	* include/bits/random.tcc (philox_engine::_M_transition): Cast
	intermediate values to result_type for n=2 case.

2026-04-15  Matthias Kretz  <m.kretz@gsi.de>

	* include/bits/simd_vec.h (basic_vec deduction guide): Explicit
	cast to simd-size-type from range size type.

2026-04-15  Jakub Jelinek  <jakub@redhat.com>

	* include/std/meta (define_static_object): Adjust for LWG4483 changes
	- handle unions and arrays differently.
