2026-06-08  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/xml/manual/abi.xml: Spell command-line option with a dash.
	Simplify language.
	* doc/html/manual/abi.html: Regenerate.

2026-06-08  Haochen Jiang  <haochen.jiang@intel.com>

	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Pass
	-flto as the options to make it shown in test report.

2026-06-05  Yuao Ma  <c8ef@outlook.com>

	* include/std/generator (generator::yield_value): Change the
	second template parameter from range_value_t<R> to void.
	* testsuite/24_iterators/range_generators/lwg4119.cc: New test.

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

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

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

	* include/bits/version.def: Define macros for hardened
	preconditions.
	* include/bits/version.h: Regenerate.
	* include/std/array: Define "want" macro for hardened
	precondition macro.
	* include/std/bitset: Likewise.
	* include/std/deque: Likewise.
	* include/std/expected: Likewise.
	* include/std/forward_list: Likewise.
	* include/std/inplace_vector: Likewise.
	* include/std/iterator: Likewise.
	* include/std/list: Likewise.
	* include/std/memory: Likewise.
	* include/std/optional: Likewise.
	* include/std/ranges: Likewise.
	* include/std/span: Likewise.
	* include/std/stacktrace: Likewise.
	* include/std/string: Likewise.
	* include/std/string_view: Likewise.
	* include/std/valarray: Likewise.
	* include/std/vector: Likewise.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc:
	Adjust dg-error line numbers.

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

	* include/bits/version.def (hardened_mdspan): Define.
	* include/bits/version.h: Regenerate.
	* include/std/mdspan (__cpp_lib_hardened_mdspan): Define.
	(mdspan::operator[]): Replace __mdspan::__index_type_cast
	with cast to __index_int_t, and inline negative value checks.

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

	* include/bits/fs_path.h (path::string, path::generic_string):
	Add deprecated attribute in C++26 via _GLIBCXX26_DEPRECATED_SUGGEST.
	(path::display_string, path::native_encoded_string)
	(path::generic_display_string, path::generic_native_encoded_string)
	[__glibcxx_format_path >= 202506L]: Define.
	* include/bits/version.def (format_path): Bump to 202506.
	* include/bits/version.h: Regenerate.
	* testsuite/util/testsuite_fs.h (__gnu_test::compare_paths):
	Ignored deprecated declarations warning.
	* testsuite/27_io/filesystem/filesystem_error/cons.cc:
	Disable -Wdeprecated-declarations warning with pragmas.
	* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
	* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
	* testsuite/27_io/filesystem/path/concat/strings.cc: Likwise.
	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
	* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/generic/generic_string.cc:
	Likewise.
	* testsuite/27_io/print/1.cc: Likewise.
	* testsuite/27_io/print/2.cc: Likewise.
	* testsuite/27_io/print/3.cc: Likewise.
	* testsuite/27_io/filesystem/path/append/source.cc:
	Add dg-warning for deprecated functions use.
	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
	* testsuite/27_io/filesystem/path/native/string-char8_t.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/generic/display_native_string.cc:
	New test.
	* testsuite/27_io/filesystem/path/native/display_native_string.cc:
	New test.

2026-06-02  Yuao Ma  <c8ef@outlook.com>

	* include/bits/stl_queue.h: Add constexpr.
	* testsuite/23_containers/priority_queue/constexpr.cc: New test.

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

	* include/bits/random.h (__rand_uint128::operator bool):
	(__rand_uint128::operator-=(const type& __r))
	(__rand_uint128::operator-(type __l, const type& __r)):
	Implement.
	(__rand_uint128::operator/=(uint64_t __r))
	(__rand_uint128::operator/(type __l, uint64_t __r)):
	Define by converting to type.
	(__rand_uint128::operator*=(const type& __r)): Remove
	precondition and handle _M_hi != 0.

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

	* include/bits/version.tpl: Fix typo.

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

	* include/std/format (__format::__write_escaped_ascii): Mark as
	_GLIBCXX_CONSTEXPR_FORMAT and at compile time, reject strings
	containing characters other than printable ASCII and standard
	escapes.
	* testsuite/std/format/debug.cc: Test basic_escapes and \0
	at compile-time.
	* testsuite/std/format/debug_nonunicode_neg.cc: New test.

2026-06-02  Ivan Lazaric  <ivan.lazaric1@gmail.com>
	    Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/version.def (constexpr_exceptions): Move before
	format.
	(constexpr_format): Define.
	* include/bits/version.h: Regenerate.
	* include/std/format (_GLIBCXX_CONSTEXPR_FORMAT): Define and
	apply to all of functions except __write_escaped_ascii and
	__formatter_fp members.
	(_GLIBCXX_CONSTEXPR_FORMAT_ERROR): Replace with
	_GLIBCXX_CONSTEXPR_FORMAT.
	(basic_format_string::basic_format_string(const _Tp&)):
	Mark as noexcept.
	(__format::__toupper_numeric): Define.
	(__formatter_int::format): Use __format::__toupper_numeric
	and replace __builtin_memcpy with ranges::copy.
	(__formatter_fp::format): Use __format::__toupper_numeric.
	(__formatter_ptr::format): Avoid reinterpret_cast for
	null-pointer value to support std::nullptr_t formatting.
	(__format::__do_vformat_to): Replace __builtin_memcpy with
	ranges::copy.
	(basic_format_parse_context::__check_dynamic_spec):
	Skip checks if __args pointer is null.
	* testsuite/std/format/arguments/args_neg.cc: Diagnostics change.
	* testsuite/std/format/constexpr.cc: New test.
	* testsuite/std/format/debug.cc: Test at compile-time in C++26
	and update iteration limit for paddding tests.
	* testsuite/std/format/tuple.cc: Likewise.
	* testsuite/std/format/functions/format.cc: Test at compile-time
	in C++26.
	* testsuite/std/format/dynamic_format.cc: Likewise.
	* testsuite/std/format/functions/format_to.cc: Likewise.
	* testsuite/std/format/functions/size.cc: Likewise.
	* testsuite/std/format/ranges/format_kind.cc: Likewise.
	* testsuite/std/format/ranges/formatter.cc: Likewise.
	* testsuite/std/format/ranges/sequence.cc: Likewise.
	* testsuite/std/format/string.cc: Likewise.
	* testsuite/std/time/format/data_not_present_neg.cc: Diagnostics
	change.

2026-06-02  Ivan Lazaric  <ivan.lazaric1@gmail.com>
	    Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/version.def (constexpr_string): Bump to 202511.
	* include/bits/version.h: Regenerate.
	* include/bits/basic_string.h (std::to_string, std::to_wstring)
	[__glibcxx_constexpr_string >= 202511L]: Mark as constexpr.
	* testsuite/21_strings/basic_string/numeric_conversions/char/to_string_constexpr.cc:
	New test.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_constexpr.cc:
	New test.
	* testsuite/21_strings/basic_string/cons/char/constexpr.cc: Update
	__cpp_lib_constexpr_string check.
	* testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: Likewise.
	* testsuite/21_strings/basic_string/version.cc: Add check for value of
	__cpp_lib_constexpr_string in C++26.

2026-06-01  Dhruv Chawla  <dhruvc@nvidia.com>

	* config/os/vxworks/os_defines.h: Fix typos.

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

	* include/bits/random.tcc
	(piecewise_constant_distribution:::param_type::param_type):
	Replace * with + in __fw argument.

2026-05-30  Dhruv Chawla  <dhruvc@nvidia.com>

	* include/bits/stl_algo.h: Reflow long line.

2026-05-30  Dhruv Chawla  <dhruvc@nvidia.com>

	* configure: Regenerate.
	* acinclude.m4: Fix typos.
	* configure.ac: Likewise.
	* doc/doxygen/doxygroups.cc: Likewise.
	* doc/doxygen/stdheader.cc (init_map): Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/chrono.h: Likewise.
	* include/bits/chrono_io.h: Likewise.
	* include/bits/cpyfunc_impl.h: Likewise.
	* include/bits/funcref_impl.h: Likewise.
	* include/bits/locale_conv.h: Likewise.
	* include/bits/mofunc_impl.h: Likewise.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/simd_details.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.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/unicode.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/bits/version.h: Likewise.
	* include/experimental/bits/simd.h: Likewise.
	* include/experimental/bits/simd_fixed_size.h: Likewise.
	* include/experimental/bits/simd_x86_conversions.h: Likewise.
	* include/ext/concurrence.h: Likewise.
	* include/ext/pb_ds/detail/container_base_dispatch.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp: Likewise.
	* include/ext/pb_ds/tree_policy.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/pstl/parallel_backend_tbb.h (__parallel_transform_reduce): Likewise.
	(class __merge_func): Likewise.
	(class __stable_sort_func): Likewise.
	(__parallel_stable_sort): Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* libsupc++/hash_bytes.cc: Likewise.
	* libsupc++/vmi_class_type_info.cc (__do_find_public_src): Likewise.
	* src/c++17/fast_float/fast_float.h (struct parse_options): Likewise.
	(rounds_to_nearest): Likewise.

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

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

2026-05-29  Nathan Myers  <ncm@cantrip.org>

	* include/bits/new_allocator.h (allocate_at_least): Reduce
	allocation to match what is reported.
	* testsuite/20_util/allocator/allocate_at_least2.cc: Add tests.
	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
	Fix, for -m32 and new allocation results.

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

	* testsuite/util/testsuite_allocator.h
	(uneq_allocator::allocate): Use __try/__catch instead.
	(uneq_allocator::allocate_at_least): Likewise.

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-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-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-05-28  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/random.h	(piecewise_constant_distribution::param_type)
	(piecewise_linear_distribution::param_type): Befriend operator<<.
	* include/bits/random.tcc
	(operator<<(basic_ostream&, piecewise_linear_distribution))
	(operator<<(basic_ostream&, piecewise_constant_distribution)):
	Use __x._M_param._M_int and __x._M_param._M_den instead of accessors.

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

	* testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize2.cc:
	New test.
	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize2.cc:
	New test.

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

	* include/std/ranges (ref_view::size()): Only call ranges::size(*_M_r).
	(ref_view::empty): Only call ranges::empty(*_M_r).
	* testsuite/23_containers/inplace_vector/cons/from_iota_neg.cc:
	Except no errors from ref_view uses.
	* testsuite/23_containers/inplace_vector/cons/from_range_neg.cc:
	Likewise.

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

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

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

	* include/bits/ranges_base.h (ranges::__static_size): Define.
	* include/std/ranges (ref_view::size()): For ranges with static
	size return ranges::__static_size<_Range>.
	(ref_view::empty): For ranges with static size, compare size
	against zero.
	* testsuite/23_containers/inplace_vector/cons/from_iota_neg.cc:
	Expect errors from ref_view uses.
	* testsuite/23_containers/inplace_vector/cons/from_range_neg.cc:
	Expect errors from ref_view uses.

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

	* include/std/inplace_vector (inplace_vector(std::from_range, __Rg&&)):
	Add static_asserts checking range size.
	* testsuite/23_containers/inplace_vector/cons/from_iota_neg.cc:
	New test.
	* testsuite/23_containers/inplace_vector/cons/from_range_neg.cc:
	New test.

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

	* include/bits/atomic_base.h (memory_order::consume): Add
	deprecate attribute.
	(memory_order_consume): Likewise.
	(kill_dependency): Likewise.
	(atomic_flag::clear): Disable warning with pragmas.
	(__atomic_base::store, __atomic_base<T*>::store): Likewise.
	* include/c_compatibility/stdatomic.h (memory_order_consume):
	Likewise.
	* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
	Ignore deprecation warnings.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
	Likewise.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Add
	dg-warning directives.
	* testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
	Likewise.

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

	* include/bits/stl_deque.h: Add missing constraint on allocator
	type in deduction guide.
	* include/bits/stl_vector.h: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/vector: Likewise.
	* testsuite/23_containers/deque/cons/deduction_c++23.cc: Check
	that deduction fails for a type which does not qualify as an
	allocator.
	* testsuite/23_containers/vector/cons/deduction_c++23.cc:
	Likewise.

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

	PR libstdc++/125371
	* config/io/basic_file_stdio.h: Include <bits/ios_base.h>
	instead of <ios>.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/fs_path.h: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/bits/locale_facets.h: Remove unused <iosfwd> and
	<streambuf> includes.
	* include/bits/localefwd.h: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/bits/ostream.h: Replace <ios> with its constituent
	parts, except for <iosfwd>.
	* include/bits/ostream_insert.h: Include <bits/iosfwd.h> instead
	of <iosfwd>.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/std_thread.h: Likewise.
	* include/bits/stream_iterator.h: Likewise.
	* include/std/fstream: Include <bits/iosfwd_file.h>.
	* include/std/iomanip: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/std/ios: Do not include <exception> or
	<bits/char_traits.h>.
	* include/std/iosfwd: Move declarations to new headers and
	include those new headers. Tweak Doxygen comment.
	* include/std/iostream: Include <ios>.
	* include/std/istream: Replace <ios> with its constituent
	parts, except for <iosfwd>.
	* include/std/random: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/std/spanstream: Include <bits/iosfwd_span.h>.
	* include/std/sstream: Include <bits/iosfwd_string.h>.
	* include/std/streambuf: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/std/string_view: Likewise.
	* include/std/syncstream: Include <bits/iosfwd_sync.h>.
	* include/std/system_error: Include <bits/iosfwd.h> instead of
	<iosfwd>.
	* include/bits/iosfwd.h: New file.
	* include/bits/iosfwd_file.h: New file.
	* include/bits/iosfwd_span.h: New file.
	* include/bits/iosfwd_string.h: New file.
	* include/bits/iosfwd_sync.h: New file.

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

	* include/bits/ranges_base.h (ranges::__static_sized_range):
	Define.
	* include/bits/simd_details.h (simd::__static_sized_range):
	Remove.
	(simd::__static_range_size): Use ranges::__static_sized_range.
	* include/bits/simd_loadstore.h (simd::unchecked_store)
	(simd::unchecked_load): Use ranges::__static_sized_range.
	* include/bits/simd_vec.h (basic_vec::basic_vec(_Rg&&, flags<_Flags>)):
	Replace __static_sized_range<_Rg, _S_size> with
	ranges::__static_sized_range<_Rg> and traing requires size
	for size value.
	* include/std/meta (__detail::__statically_sized): Remove.
	(std::define_static_array): Use ranges::__static_sized_range.
	* testsuite/std/simd/traits_impl.cc: Remove test for
	simd::__static_sized_range.

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

	* testsuite/20_util/is_constructible/value-2.cc:
	Adjust expected value for C++26 (__cpp_trivial_union >= 202502L).
	* testsuite/20_util/is_destructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_destructible/value.cc: Likewise.

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

	* include/bits/version.def (valarray): Define.
	* include/bits/version.h: Regenerate.
	* include/std/valarray: (__cpp_lib_valarray): Define.
	(valarray::begin, valarray::end, valarray::iterator)
	(valarray::const_iterator) [__glibcxx_valarray >= 202511L]: Define.
	(std::begin(valarray<_Tp>&), std::begin(const valarray<_Tp>&))
	(std::end(valarray<_Tp>&), std::end(const valarray<_Tp>&)): Define
	only if __glibcxx_valarray < 202511L (i.e. not defined).
	* include/bits/range_access.h (std::valarray)
	(std::begin(valarray<_Tp>&), std::begin(const valarray<_Tp>&))
	(std::end(valarray<_Tp>&), std::end(const valarray<_Tp>&)): Forward
	declare only if __glibcxx_valarray < 202511L (i.e. not defined).
	* testsuite/26_numerics/valarray/range_access3.cc: New test.

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

	* include/bits/version.def (initializer_list): Define with value
	202511 for C++26.
	* include/bits/version.h: Regenerate.
	* libsupc++/initializer_list (initializer_list::data)
	(initializer_list::empty) [__glibcxx_initializer_list >= 202511L]:
	Define.
	(std::begin(initializer_list<_Tp>), std::end(initializer_list<_Tp>)):
	Define only if __glibcxx_initializer_list < 202511L (i.e. not defined).
	* include/bits/range_access.h (std::empty(initializer_list<_Tp>))
	(std::data(initializer_list<_Tp>)): Define only if
	__glibcxx_initializer_list < 202511L (i.e. not defined).
	* testsuite/18_support/initializer_list/range_access.cc: Move test for
	brace-init list to range_access_neg.c. Included <iterator> in C++26 or
	later mode.
	* testsuite/18_support/initializer_list/data_empty_mem.cc: New test.
	* testsuite/18_support/initializer_list/range_access14.cc: New test.
	* testsuite/18_support/initializer_list/range_access14_neg.cc: New test.
	* testsuite/18_support/initializer_list/range_access17.cc: New test.
	* testsuite/18_support/initializer_list/range_access17_neg.cc: New test.
	* testsuite/18_support/initializer_list/range_access_neg.cc: New test.

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

	* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
	Ensure there is no unused capacity before inserting new element.
	* testsuite/23_containers/vector/modifiers/insert/self_insert.cc:
	Likewise.

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

	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Check
	for C++20 std::memory_order enum. Use feature test macro for
	char8_t.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
	Add check for atomic_char8_t.
	* testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
	Removed.
	* testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
	Removed.
	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
	Removed.

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

	* doc/xml/manual/evolution.xml: Document deprecations.
	* doc/html/manual/api.html: Regenerate.
	* include/bits/max_size_type.h (numeric_limits::has_denorm):
	Mark as deprecated.
	(numeric_limits::has_denorm_loss): Likewise.
	* include/std/limits (float_denorm_style): Mark as deprecated.
	(numeric_limits::has_denorm, numeric_limits::has_denorm_loss):
	Mark as deprecated.
	* testsuite/18_support/numeric_limits/char16_32_t.cc: Add
	dg-warning for expected deprecation warnings.
	* testsuite/18_support/numeric_limits/char8_t.cc: Likewise.
	* testsuite/18_support/numeric_limits/denorm_min.cc: Likewise.
	* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
	* testsuite/18_support/numeric_limits/requirements/constexpr_data.cc:
	Likewise.
	* testsuite/18_support/numeric_limits/specialization_default_values.cc:
	Likewise.
	* testsuite/std/ranges/iota/max_size_type.cc: Likewise.

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

	* doc/xml/manual/evolution.xml: Document constructor changes.
	* doc/html/*: Regenerate.
	* include/std/future (uses_allocator): Remove specializations
	for std::promise and std::packaged_task.
	(promise(allocator_arg_t, const Alloc&, promise&&)): Remove
	constructor proposed for LWG 2095 but not in P3503R3.
	(packaged_task(allocator_arg_t, const Alloc&)): Likewise.
	(packaged_task(allocator_arg_t, const Alloc&, packaged_task&&)):
	Likewise.
	(packaged_task(allocator_arg_t, const Alloc&, F&&)): Restore
	constructor for C++20 and later.
	* testsuite/30_threads/packaged_task/uses_allocator.cc: Adjust
	expected result for static_assert.
	* testsuite/30_threads/promise/uses_allocator.cc: Likewise.

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

	* include/std/inplace_vector (inplace_vector::assign_range)
	(inplace_vector::append_range): Cast ranges::distance(__rg)
	to size_t.
	* testsuite/23_containers/inplace_vector/cons/from_range.cc: New
	test for ranges with integer-class size_type.
	* testsuite/23_containers/inplace_vector/modifiers/assign.cc:
	Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
	Likewise.

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

	* src/c++20/Makefile.am [USE_STATIC_TZDATA]: Remove targets for
	tzdata.zi.h, tzdb.lo and tzdb.o.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++20/tzdb.cc (tzdata_chars): Use #embed.
	(tzdata_stream::ispanbuf): Remove adjustment for extra newline
	inserted by the Makefile recipe for tzdata.zi.h.

2026-05-20  Nathan Myers  <ncm@cantrip.org>

	* config/abi/pre/gnu.ver: Remove recent symbol swept up in
	GLIBCXX_3.4.21.
	* include/bits/basic_string.tcc (reserve): Guard __limit decl
	under #if __cpp_exceptions to quiet warning.

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

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

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-19  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/118030
	* config/abi/pre/gnu.ver: Expose string::_S_allocate_at_least,
	_M_create_plus symbols.
	* include/bits/alloc_traits.h:
	(allocate_at_least): Delegate in allocator_traits<allocator<_Tp>>
	specialization to allocator<_Tp>::allocate_at_least, unconditionally;
	annotate [[__gnu__::always_inline__]].
	(allocate_at_least): Declare "= delete;" in allocator<void>.
	* include/bits/allocator.h (allocate_at_least): Delegate to base
	allocate_at_least where defined, calling with explicit base-class
	qualification, picking up __new_allocator member.
	* include/bits/basic_string.h:
	(_Alloc_result): Define new type.
	(_S_allocate_at_least): Define, using it.
	(_S_allocate): Minimize for legacy ABI use only.
	(_M_create_plus): Declare.
	(_M_create_and_place): Define, abstracting common operations.
	(assign): Use _S_allocate_at_least.
	* include/bits/basic_string.tcc:
	(_M_create_plus): Define.
	(_M_replace, reserve): Use _S_allocate_at_least.
	(_M_construct, others (3x)): Use _M_create_and_place.
	(_M_construct, input iterators): Use _M_create_plus.
	(_M_create, _M_assign, reserve, _M_mutate): Same.
	* include/bits/memory_resource.h (allocate_at_least): Define,
	document.
	* include/bits/new_allocator.h (allocate_at_least): Define.
	(_S_check_allocation_limit) Define.
	(allocate): Use _S_check_allocation_limit.
	(_S_max_size): Change from _M_max_size.
	(deallocate): Refine "if constexpr" logic.
	* include/bits/stl_vector.h:
	(_S_max_size): Move to _Vector_base.
	(_Alloc_result): Define type.
	(_M_allocate_at_least): Define, using allocate_at_least where supported.
	(_M_allocate): Delegate to _M_allocate_at_least.
	(max_size, _S_check_init_len): Use _S_max_size as moved.
	(_M_create_storage, append_range, _M_allocate_and_copy,
	_M_replace_storage): Define, abstracting common operations.
	(_M_replace_with): Define, likewise.
	(_M_range_initialize_n): Use _M_allocate_at_least.
	(_M_check_len): Improve logic.
	* include/bits/vector.tcc:
	(reserve, _M_fill_append, _M_range_insert): Use _M_allocate_at_least
	and _M_replace_storage.
	(operator=, _M_assign_aux): Use _M_replace_with.
	(_M_realloc_insert, _M_realloc_append, _M_default_append, insert_range):
	Use _M_allocate_at_least.
	(_M_fill_insert): Use _M_replace_storage, normalize whitespace.
	* testsuite/util/testsuite_allocator.h:
	(allocate_at_least (3x)): Define.
	(allocate): Use allocate_at_least.
	* testsuite/20_util/allocator/allocate_at_least.cc: Add tests.
	* testsuite/21_strings/basic_string/capacity/char/18654.cc:
	Loosen capacity check.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Same.
	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
	* testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Same.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Same.
	* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Same
	* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
	Adapt to looser reserve behavior.

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

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

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

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

2026-05-18  Avi Kivity  <avi@scylladb.com>

	PR libstdc++/121789
	* include/bits/stl_uninitialized.h (uninitialized_copy):
	Unwrap move iterators
	* testsuite/20_util/specialized_algorithms/uninitialized_move/121789.cc:
	New test.
	* testsuite/util/testsuite_greedy_ops.h (greedy_ops): Comment
	out operator-(T, T).

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

	* include/std/valarray [__cplusplus >= 201103L]: Include
	<bits/ranges_access.h>.
	* testsuite/26_numerics/valarray/range_access2.cc: Remove
	<iterator> include, and add test for std::size.

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-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-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-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  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/107815
	* testsuite/20_util/to_chars/float128_c++23.cc (test): Remove
	Solaris workaround.

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

	* include/std/optional [__cpp_lib_optional_range_support]:
	Replace <bits/stl_iterator.h> include with <bits/range_access.h>.
	* include/std/stacktrace: Likewise.

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

	* testsuite/std/format/debug_nonunicode.cc: Pass ISO-8859-1 as
	exec-charset and make sure that it is supported.
	* testsuite/std/format/fill_nonunicode.cc: Likewise.

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

	* include/std/type_traits (__type_identity, __type_identity_t)
	[__cpp_lib_type_identity]: Define as alias to type_identity
	and its nested type respectively.

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

	PR libstdc++/113761
	* include/bits/random.h
	(piecewise_constant_distribution::param_type::_M_initialize)
	(piecewise_linear_distribution::param_type::_M_initialize): Remove.
	(piecewise_constant_distribution::param_type::_M_configure)
	(piecewise_linear_distribution::param_type::_M_configure): Define.
	(piecewise_constant_distribution::param_type::_M_initialize2)
	(piecewise_linear_distribution::param_type::_M_initialize2): Declare.
	* include/bits/random.tcc (__detail::__load_first2): Define.
	(piecewise_constant_distribution::param_type::_M_initialize)
	(piecewise_linear_distribution::param_type::_M_initialize):
	Rename to...
	(piecewise_constant_distribution::param_type::_M_configure)
	(piecewise_linear_distribution::param_type::_M_configure):
	Renamed implementation of _M_initialize, that removes checks for
	default values.
	(piecewise_constant_distribution::param_type::_M_initialize2)
	(piecewise_linear_distribution::param_type::_M_initialize2): Define.
	(piecewise_constant_distribution::param_type::param_type)
	(piecewise_linear_distribution::param_type::param_type):
	Exit early for less that two intervals. Use _M_initialize2 to handle
	two intervals case. Reserve _M_int for iterators case.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
	Test input and forward iterators, in addition to random_access ones.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
	Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/fallback.cc:
	New test.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/fallback.cc:
	New test.

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

	* testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon_eng_neg.cc:
	Removed preprocessor checks, add dg-require-effective-target.

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

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

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

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

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

	* testsuite/std/time/clock/utc/leap_second_info-2.cc: Fix sign
	compare warning. Tweak comment.

2026-05-13  Alexandre Oliva  <oliva@adacore.com>

	* configure: Rebuild.

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

	PR libstdc++/114400
	* include/std/string_view (operator<=>): Use type_identity_t
	instead of __type_identity_t.

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

	PR libstdc++/119739
	* testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon_eng_neg.cc:
	New test.

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-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-05-12  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 varous 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.
	(fixed_expiry, num_leap_seconds): New globals.
	(__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.

2026-05-12  Alexandre Oliva  <oliva@adacore.com>

	* acinclude.m4 (GLIBXX_ENABLE_LIBSTDCXX_TIME) [vxworks*]:
	Enable monotonic and realtime clocks.
	* configure: Rebuilt.

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

	* include/std/format (__formatter_str::_M_format_range):
	Reorder constexpr checks, to reduce number of instantiations.

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-07  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/105580
	* include/bits/streambuf_iterator.h (istreambuf_iterator::_M_sbuf):
	Remove mutable and adjust whitespace.
	(istreambuf_iterator::_M_c): Adjust whitespace.
	(istreambuf_iterator::operator++()): Clear _M_sbuf if next character
	is EoF.
	(istreambuf_iterator::operator++(int)): Use _M_sbuf->sgetc() to
	load current character, and define in terms of ++*this.
	(istreambuf_iterator::_M_get()): Do not clear _M_sbuf in case of EoF.
	* include/std/streambuf (streambuf::gptr, streambuf::egptr)
	(streambuf::gbump): Remove surrounding pragma disabling -Wnull-dereference.
	* testsuite/24_iterators/istreambuf_iterator/2.cc: Test for using
	multiple iterators to same rdbuf.

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

	* include/bits/out_ptr.h (out_ptr_t::_Impl::~_Impl): Adjust
	access to shared_ptr internals.
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Remove
	_Impl class and replace _M_impl with the data members it
	contained.
	(_Sp_counted_ptr_inplace): Likewise.

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

	* include/bits/shared_ptr_base.h (_Sp_ebo_helper): Simplify by
	using [[__no_unique_address__]] instead of EBO. Use the
	attribute unconditionally for the unstable ABI.
	(_Sp_counted_deleter::_Impl): Adjust uses of _Sp_ebo_helper.
	(_Sp_counted_ptr_inplace::_Impl): Likewise.
	* include/std/tuple (_Head_base): Remove implementation for
	compilers that don't support [[__no_unique_address__]]. Use the
	attribute unconditionally for the unstable ABI.

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

	* include/std/format (range_formatter::format): Format all
	contiguous ranges as span<__format::__maybe_const<_Tp, _CharT>>.

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

	* include/bits/shared_ptr.h (_UnboundedArray, _BoundedArray)
	(_NotUnboundedArray): Remove fallback definition for C++20
	compilers that don't define __cpp_concepts.
	* include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace):
	Remove fallback declaration of _Sp_overwrite_tag partial
	specialization.

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

	PR libstdc++/119126
	* include/bits/funcwrap.h : (__polyfunc::__invoker_of):
	Updated to use _Invoker::_Signature and mark as constexpr.
	(__polyfunc::_base_of): Mark as constexpr.
	(__std:::__is_function_ref_v, __polyfunc::_Ref_base)
	(__polyfunc::__is_funcref_assignable): Define.
	* include/bits/funcref_impl.h (std::function_ref): Add base class
	of type__polyfunc::_Ref_base. Befriend __invoker_of, __base_of,
	__is_invoker_convertible, __is_invoker_convertible.
	(function_ref::_Base): Define.
	(function_ref::_M_init, function_ref::_M_ptrs): Move to base class.
	(function_ref::function_ref(_Fn&&), function_ref::operator=): Handle
	specializations of function_ref with compatible signatures.
	(function_ref::function_ref): Init base class before _M_invoke
	consistently, and remove setting of _M_nullptr.
	* include/bits/cpyfunc_impl.h (copyable_function): Udpdated friend
	declarations.
	(copyable_function::_Signature): Remove.
	* include/bits/mofunc_impl.h (move_only_function): Udpdated friend
	declarations.
	(move_only_function::_Signature): Remove.
	* include/bits/version.def (function_ref): Bump to 202604.
	* include/bits/version.h: Regnerate.
	* testsuite/20_util/function_ref/cons.cc: Updated checked FTM value.
	* testsuite/20_util/function_ref/conv.cc: Updated test to illustrate
	that double indirection is avoided.
	* testsuite/20_util/function_ref/dangling.cc: Test for initializing
	from function_ref with compatible signature.
	* testsuite/20_util/function_ref/dangling_neg.cc: Test for
	initializing from function_ref with incompatible signature.

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

	* src/c++20/atomic.cc (__waitable_state::_S_align): Remove.
	(__waitable_state::_M_waiters, __waitable_state::_M_ver): Use
	std::hardware_destructive_interference_size for alignment.

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

	PR libstdc++/97001
	* include/bits/range_access.h: Improve Doxygen comments.

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

	PR libstdc++/124657
	* include/experimental/bits/simd_x86.h (__is_x86_pd): Fix macro
	names and refactor to reduce instantiations.

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>

	* 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  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/mdspan: Replace eight spaces with tabs.
	(__mdspan::__is_constant_wrapper): Remove.
	(__mdspan::__acceptable_slice_type, __mdspan::__static_slice_extent)
	(__mdspan::__is_unit_stride_slice, __mdspan::__canonical_range_slice)
	(__mdspan::__check_inrange_index, __mdspan::__check_valid_index)
	(__mdspan::__check_valid_slice): Use std::__is_constant_wrapper_v.

2026-05-02  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/30_threads/semaphore/try_acquire_until.cc
	(test01): Reorder calls.

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

	* doc/doxygen/user.cfg.in (PREDEFINED): Add BEGIN/END macros for
	the <experimental/simd> namespace.
	* include/experimental/bits/simd.h: Move BEGIN macro before
	Doxygen @{ group.

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

	* include/bits/locale_conv.h: Prevent namespace __detail from
	being documented as part of the Locales topic.

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

	* include/bits/stl_iterator.h: Prevent Doxygen from documenting
	namespace __detail as part of the Iterators topic.
	* include/bits/stl_iterator_base_funcs.h: Likewise. Also mark
	internal helpers as undocumented.
	(distance, advance): Improve Doxygen comments.
	* include/bits/stl_iterator_base_types.h (iterator): Use
	markdown in Doxygen comment. Add @deprecated.
	(iterator_traits): Improve wording of Doxygen comment.

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>

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

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

	* testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
	Updated tests.

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

	* testsuite/29_atomics/headers/stdatomic.h/macros.cc:
	Copy of ../atomic/macros.cc with header include changed.

2026-04-29  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/124657
	* include/experimental/bits/simd_x86.h
	(__is_x86_ps<_Tp>): New.  Replace is_same_v<_Tp, float> with it.
	(__is_x86_pd<_Tp>): New.  Replace is_same_v<_Tp, double> with it.

2026-04-29  Alexandre Oliva  <oliva@adacore.com>

	PR libstdc++/124657
	* include/experimental/bits/simd.h (__intrinsic_type::type):
	Map long double to double.

2026-04-29  Alexandre Oliva  <oliva@adacore.com>

	* include/std/limits (__glibcxx_integral_traps): Set to
	false.  Update comments.
	(numeric_limits<bool>::traps): Drop comments.
	* config/cpu/arm/cpu_defines.h: Remove.
	* config/cpu/powerpc/cpu_defines.h: Likewise.
	* configure.host (cpu_defines_dir): Adjust.

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>

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

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

	* include/bits/ptr_traits.h (__ptr_traits_ptr_to::pointer_to):
	Define as constexpr since C++20.
	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
	New test for custom pointer-like type.

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

	* testsuite/18_support/comparisons/type_order/1.cc: Add tests
	for more type.

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-24  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/chrono.h: Add static_assert requiring cv-unqualified
	non-reference type.
	* testsuite/20_util/duration/io.cc: Remove const-qualifier in
	stream manipluators tests.
	* testsuite/20_util/duration/requirements/typedefs_neg4.cc:
	New test.

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

	* include/std/ranges (__detail::__has_tuple_element): Check
	if std::get<_Nm>(__t) returns referenceable type also for C++23
	and later.
	* testsuite/std/ranges/adaptors/elements.cc: Add test covering
	vector of ranges::subrange with move-only iterator.

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

	* include/std/ranges (_Iota::operator()(_Tp&&)): Replace
	auto return type and CTAD with iota_view<decay_t<_Tp>>.
	* testsuite/std/ranges/iota/iota_view.cc: Tests if
	views::iota(iota_view) is rejected.

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

	* include/std/ranges (_AdjacentTransform::operator())
	(_Adjacent::operator()): Require forward_range for N == 0.
	* testsuite/std/ranges/adaptors/adjacent/1.cc: Test if input_ranges
	are rejected.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise.

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

	* include/std/ranges: Add comment for LWG4083.

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

	* include/bits/stl_iterator.h (basic_const_iterator::iterator_type):
	Define.
	* testsuite/24_iterators/const_iterator/1.cc: Tests for
	iterator_type.

2026-04-24  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.
	* src/c++20/tzdata.zi: Import new file from 2026a release.

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

	* include/bits/indirect.h (indirect::operator==): Adjust
	noexcept specification.
	* testsuite/std/memory/indirect/relops.cc: New test for noexcept
	specification.

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

	* include/bits/simd_details.h (simd::__constexpr_wrapper_like):
	Move to...
	* include/std/concepts (std::__constexpr_wrapper_like): Moved
	from bits/simd_details.h.
	* include/std/span (std::__integral_constant_like): Define in
	terms of __constexpr_wrapper_like.
	* testsuite/std/simd/traits_impl.cc: Added using declaration
	for std::__constexpr_wrapper_like.

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.

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

	* include/bits/version.def (stdbit_h, stdckdint_h): Define.
	* include/bits/version.h: Regenerate.
	* include/c_compatibility/stdbit.h (__cpp_lib_stdbit_h): Define
	and use it in guards.
	* include/c_compatibility/stdckdint.h (__cpp_lib_stdckdint_h):
	Define and use it in guards.

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

	* testsuite/std/format/fill.cc: New test.
	* testsuite/std/format/fill_nonunicode.cc: New test.

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

	* testsuite/20_util/constant_wrapper/generic.cc: Replace
	std::std::invalid_argument with NegativeArgument and
	removed <stdexcept> include.

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

	* include/bits/version.def (constant_wrapped): Updated to 202603L.
	* include/bits/version.h: Regenerate.
	* include/bits/utility.h (_CwOperators::operator())
	(_CwOperators:operator[]): Delete, they are now provided by...
	(constant_wrapper::operator(), constant_wrapper::operator[]):
	Define.
	* testsuite/20_util/constant_wrapper/generic.cc: Add additional
	test cases for invoke and subscript.
	* testsuite/20_util/constant_wrapper/version.cc: Update tested
	value.

2026-04-14  Matthias Wippich  <mfwippich@gmail.com>
	    Ivan Lazaric  <ivan.lazaric1@gmail.com>

	* include/bits/utility.h (std::tuple_size, std::tuple_element):
	Add partial specializations for integer_sequence.
	(std::get(integer_sequence<_Tp, _Idx...>)): Define.
	* include/bits/version.def (integer_sequence): Bump to 202511L.
	* include/bits/version.h: Regenerate.
	* testsuite/20_util/integer_sequence/tuple_access.cc: New test.
	* testsuite/20_util/integer_sequence/tuple_access_neg.cc: New test.
	* testsuite/experimental/feat-cxx14.cc: Updated check for
	__cpp_lib_integer_sequence value.

2026-04-13  François Dumont  <frs.dumont@gmail.com>

	* include/bits/hashtable.h: Replace usages of std::__addressof with
	std::addressof.
	* include/bits/hashtable_policy.h: Likewise.

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

	* include/bits/version.def (replaceable_contract_violation_handler)
	[(__cplusplus > 202302L) && (__cpp_contracts >= 202502L)]:
	Define to 202603 for ELF targets, and 0 otherwise.
	* include/bits/version.h: Regenerate.
	* include/std/contracts: Define
	__cpp_lib_replaceable_contract_violation_handler.

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

	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Remove _ZNKSs11_[MS]_*
	and _ZNKSbIwSt11char_traitsIwESaIwEE11_[MS]_* patterns.

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

	* include/bits/version.def (function_ref): Bump to 202603L.
	* include/bits/version.h: Regenerate.
	* testsuite/20_util/function_ref/assign.cc: Remove repeated
	check for feature test macro.
	* testsuite/20_util/function_ref/cons.cc: Updated checked
	value.

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

	* include/std/ranges (lazy_split_view::begin): Add
	const _Pattern constraint on const overload as per LWG 3599.
	(lazy_split_view::end): Likewise.
	* testsuite/std/ranges/adaptors/lazy_split.cc (test14): New
	test.

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

	* include/bits/version.def (ranges_to_input): Rename to...
	(ranges_as_input): Rename from ranges_as_input.
	* include/bits/version.h: Regenerate.
	* include/std/ranges (ranges::to_input_view, views::to_input)
	(__detail::__can_to_input, views::_ToInput): Rename to...
	(ranges::as_input_view, views::as_input, __detail::__can_as_input)
	(views::_AsInput): Rename from above...
	* src/c++23/std.cc.in: Rename views::to_input and to_input_view
	export.
	* testsuite/25_algorithms/contains/1.cc: Replace views::to_input
	with views::as_input.
	* testsuite/std/ranges/adaptors/to_input/1.cc: Move to...
	* testsuite/std/ranges/adaptors/as_input/1.cc: ...here, and replace
	views::to_input with views::as_input.

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

	* include/bits/version.def (span_initializer_list): Remove.
	* include/bits/version.h: Regenerate.
	* include/std/span (span::span(initializer_list<value_type>)):
	Remove.
	* testsuite/23_containers/span/init_list_cons.cc: Removed.
	* testsuite/23_containers/span/init_list_cons_neg.cc: Removed.
	* testsuite/23_containers/inplace_vector/copy.cc: Replace span
	with initializer_list in eq helper.
	* testsuite/23_containers/inplace_vector/erasure.cc: Likewise.
	* testsuite/23_containers/inplace_vector/move.cc: Likewise.

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

	* include/bits/ranges_uninitialized.h
	(__uninitialized_fill_fn::operator())
	(__uninitialized_fill_fn_n::operator()): Add default argument
	for _Tp parameter.
	* include/bits/stl_uninitialized.h (std::unitialized_fill)
	(std::unitialized_fill_n): Likewise.
	* include/pstl/glue_memory_defs.h (std::unitialized_fill)
	(std::unitialized_fill_n): Likewise.
	* include/bits/version.def (algorithm_default_value_type):
	Bump to 202603.
	* include/bits/version.h: Regenerate.
	* testsuite/25_algorithms/default_template_value.cc:
	Test for new algorithms.

2026-04-08  Matthias Kretz  <m.kretz@gsi.de>
	    Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/funcref_impl.h (function_ref::function_ref):
	Change nontype_t parameter to constant_wrapper, and adjust
	accordingly. Add static_assert detecting ambigous semantics.
	(function_ref::operator=): Detect constant_wrapper rather than
	nontype_t.
	* include/bits/funcwrap.h (function_ref): Change nontype_t
	parameter to constant_wrapper in deduction guides.
	* include/bits/utility.h (std::nontype_t, std::nontype)
	(std::__is_nontype_v): Remove.
	(std::__is_constant_wrapper_v): Define.
	* src/c++23/std.cc.in (std::nontype_t, std::nontype):
	Remove exports.
	* testsuite/20_util/function_ref/cw_cons_neg.cc: New tests
	for ambiguity check.
	* testsuite/20_util/function_ref/assign.cc: Replace nontype_t
	with constant_wrapper and nontype with std::cw.
	* testsuite/20_util/function_ref/call.cc: Likewise.
	* testsuite/20_util/function_ref/cons.cc: Likewise.
	* testsuite/20_util/function_ref/cons_neg.cc: Likewise.
	* testsuite/20_util/function_ref/dangling.cc: Likewise.
	* testsuite/20_util/function_ref/deduction.cc: Likewise.
	* testsuite/20_util/function_ref/mutation.cc: Likewise.

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

	* include/bits/utility.h (std::_CwFixedValue, std::_ConstExprParam)
	(std::_CwOperators, std::constant_wrapper): Moved from...
	* include/std/type_traits (std::_CwFixedValue, std::_ConstExprParam)
	(std::_CwOperators, std::constant_wrapper): Moved to bits/utility.h.
	Disable __cpp_lib_constant_wrapper defintion.
	* include/std/utility: Define __cpp_lib_constant_wrapper.
	* testsuite/20_util/constant_wrapper/adl.cc: Updated header includes.
	* testsuite/20_util/constant_wrapper/ex.cc: Likewise.
	* testsuite/20_util/constant_wrapper/generic.cc: Likewise.
	* testsuite/20_util/constant_wrapper/instantiate.cc: Likewise.
	* testsuite/20_util/constant_wrapper/op_comma_neg.cc: Likewise.
	* testsuite/20_util/constant_wrapper/other_wrappers.cc: Likewise.
	* testsuite/20_util/constant_wrapper/version.cc: Likewise.

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

	* include/std/type_traits (std::is_consteval_only,
	std::is_consteval_only_v): Remove.
	* include/std/meta (std::meta::is_consteval_only_type): Remove.
	* src/c++23/std.cc.in: Don't export std::is_consteval_only,
	std::is_consteval_only_v and std::meta::is_consteval_only_type.
	* testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc:
	Remove.
	* testsuite/20_util/is_consteval_only/requirements/typedefs.cc:
	Remove.
	* testsuite/20_util/is_consteval_only/value.cc: Remove.
	* testsuite/20_util/variable_templates_for_traits.cc: Remove
	is_consteval_only_v tests.

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

	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Make string exports
	less greedy.
	(GLIBCXX_3.4.35): Export basic_string default constructor and
	starts_with and ends_with members.
	* include/bits/basic_string.h: Update __cpluplus checks for C++20.
	* include/bits/cow_string.h: Likewise.
	* include/bits/basic_string.tcc: Declare explicit instantiations
	for C++20 as well as earlier dialects.
	* src/c++20/Makefile.am: Add cow-string-inst.cc and
	string-inst.cc source files.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++20/string-inst.cc: New file defining explicit
	instantiations for basic_string default constructor and starts_with,
	ends_with methods added in C++20
	* src/c++20/cow-string-inst.cc: Version of above for cow-stings.

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

	PR libstdc++/124722
	* testsuite/std/simd/traits_impl.cc (test): Make test() a
	function template and instantiate it.

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

	PR libstdc++/124722
	* include/bits/version.def: Check for __SSE2__ rather than x86.
	* include/bits/version.h: Regenerate.
	* testsuite/std/simd/arithmetic.cc: Build with -msse2.
	* testsuite/std/simd/arithmetic_expensive.cc: Likewise.
	* testsuite/std/simd/creation.cc: Likewise.
	* testsuite/std/simd/creation_expensive.cc: Likewise.
	* testsuite/std/simd/loads.cc: Likewise.
	* testsuite/std/simd/loads_expensive.cc: Likewise.
	* testsuite/std/simd/mask.cc: Likewise.
	* testsuite/std/simd/mask2.cc: Likewise.
	* testsuite/std/simd/mask2_expensive.cc: Likewise.
	* testsuite/std/simd/mask_expensive.cc: Likewise.
	* testsuite/std/simd/reductions.cc: Likewise.
	* testsuite/std/simd/reductions_expensive.cc: Likewise.
	* testsuite/std/simd/shift_left.cc: Likewise.
	* testsuite/std/simd/shift_left_expensive.cc: Likewise.
	* testsuite/std/simd/shift_right.cc: Likewise.
	* testsuite/std/simd/shift_right_expensive.cc: Likewise.
	* testsuite/std/simd/simd_alg.cc: Likewise.
	* testsuite/std/simd/simd_alg_expensive.cc: Likewise.
	* testsuite/std/simd/sse_intrin.cc: Likewise.
	* testsuite/std/simd/stores.cc: Likewise.
	* testsuite/std/simd/stores_expensive.cc: Likewise.
	* testsuite/std/simd/traits_common.cc: Likewise.
	* testsuite/std/simd/traits_math.cc: Likewise.

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

	PR libstdc++/124722
	* testsuite/std/simd/traits_impl.cc: Add __STDCPP_FLOAT16_T__
	and __STDCPP_BFLOAT16_T__ guards.

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

	* testsuite/20_util/optional/ref/access.cc: Provide
	definition for foo().

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

	* include/bits/version.def (is_structural): New.
	* include/bits/version.h: Regenerate.
	* include/std/type_traits (__glibcxx_want_is_structural): Define.
	(std::is_structural): New type trait.
	(std::is_structural_v): New type trait variable template.
	* include/std/meta (std::meta::is_structural_type): New declaration.
	* src/c++23/std.cc.in: Export std::is_structural, std::is_structural_v
	and std::meta::is_structural_type.
	* testsuite/20_util/is_structural/requirements/explicit_instantiation.cc: New test.
	* testsuite/20_util/is_structural/requirements/typedefs.cc: New test.
	* testsuite/20_util/is_structural/value.cc: New test.
	* testsuite/20_util/variable_templates_for_traits.cc: Test
	is_structural_v.

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

	* libsupc++/exception_ptr.h (std::make_exception_ptr): Use
	__builtin_current_exception() instead of current_exception() if
	the builtin exists.
	* libsupc++/nested_exception.h: Revert 2026-01-07 and 2025-07-10
	changes.
	* testsuite/18_support/exception_ptr/exception_ptr_cast.cc (test01):
	Use __builtin_current_exception instead of std::current_exception
	if __has_builtin(__builtin_current_exception).  Otherwise don't
	try to constant evaluate test01.

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

	* include/std/ranges (zip_view::size): Uglify 'sizes'
	parameter.

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

	* include/bits/version.def (inplace_vector): Bump to 202603.
	* include/bits/version.h: Regenerate.
	* include/std/inplace_vector (inplace_vector::try_emplace_back)
	(inplace_vector::try_push_back): Change return type to optional<_Tp&>
	and adjust implementation accordingly.
	(inplace_vector::try_append_range): Remove.
	* include/debug/inplace_vector (inplace_vector::try_emplace_back)
	(inplace_vector::try_push_back, inplace_vector::try_append_range):
	Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/single_insert.cc:
	Updated check for the optional<T&> return. Added test for type
	convertible to optional<T&>
	* testsuite/23_containers/inplace_vector/debug/invalidation/try_emplace_back.cc:
	Use has_value() to check if engaged optional is returned.
	* testsuite/23_containers/inplace_vector/debug/invalidation/try_push_back.cc:
	Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
	Remove try_append_range tests.
	* testsuite/23_containers/inplace_vector/debug/invalidation/try_append_range.cc:
	Removed.
	* testsuite/23_containers/inplace_vector/version.cc: Updated expected
	feature test macro value.

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

	* include/std/version: Add Doxygen documentation comment.

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

	* include/bits/regex_constants.h (format_default): Simplify
	description of $n in Doxygen comment.

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

	* include/bits/stl_pair.h (pair): Adjust Doxygen comment.

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

	* include/bits/chrono.h (floor, ceil, round): Fix Doxygen
	comments to use correct parameter name and describe return value
	more accurately.

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

	* include/bits/unordered_map.h (unordered_map::erase(K&&)):
	Change parameter name to __x.
	* include/bits/unordered_set.h (unordered_set::erase(K&&))
	(unordered_multiset::erase(K&&)): Likewise.

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

	* include/bits/ostream.h (operator<<): Do not include deleted
	overloads in @{ group.
	* include/bits/stl_queue.h (priority_queue): Add @{ group around
	constructors.
	* include/bits/unordered_map.h: Remove stray @{. Move #endif to
	encompass @} that is within the #if group.

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

	* include/bits/move.h (swap): Remove @return from Doxygen
	comment.
	* include/bits/stl_algo.h (inplace_merge, shuffle)
	(random_shuffle, partial_sort, nth_element, sort)
	(stable_sort): Likewise.
	* include/bits/stl_algobase.h (iter_swap, fill): Likewise.
	* include/bits/stl_deque.h (_Deque_base::_M_initialize_map)
	(deque::_M_range_initialize, deque::_M_fill_initialize):
	Likewise.
	* include/bits/stl_iterator_base_funcs.h (advance): Likewise.
	* include/bits/stl_numeric.h (iota): Likewise.
	* include/bits/stl_tempbuf.h (return_temporary_buffer):
	Likewise.
	* include/bits/stl_uninitialized.h (uninitialized_fill):
	Likewise.

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

	* include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp:
	Add missing #endif.

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

	* doc/doxygen/doxygroups.cc: Define variable_templates group.
	* include/bits/binders.h: Fix @file name.
	* include/bits/formatfwd.h: Add missing @cond
	* include/bits/forward_list.h: Add closing backtick in comment.
	* include/bits/out_ptr.h (out_ptr, inout_ptr): Fix names in
	@param comments.
	* include/bits/regex_constants.h: Escape backtick in comment.
	* include/bits/stl_map.h: Add missing @{.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_pair.h: Move declaration of complex into #if
	group where it's used. Fix nesting of @cond and @endcond in #if
	groups.
	* include/std/functional: Move @cond inside #if group.
	* include/std/type_traits: Likewise.
	* libsupc++/exception: Fix typo'd backtick.

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

	* doc/doxygen/user.cfg.in (INPUT): Add <debugging> header.
	(EXCLUDE_SYMBOLS): Exclude include guards and other internal
	macros from generated documentation.
	(PREDEFINED): Update __cplusplus to C++26 value. Remove
	unnecessary spaces in macro expansions. Add missing
	_GLIBCXX_ABI_TAG_CXX11 macro.

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

	* doc/doxygen/user.cfg.in: Update Doxygen config.

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

	* include/bits/stl_map.h (map::try_emplace): Move #endif and use
	Doxygen's @{ to document all three overloads.
	(map::insert_or_assign): Use relevant feature test macro.

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

	* include/bits/version.def (submdspan): Update to 202603,
	and list all papers in comment.
	* include/bits/version.h: Regenerate.
	* include/std/mdspan: Replaced std::strided_stride to
	std::extent_slice, __is_strided_slice to __is_extent_slice,
	_SliceKind::__unit_strided_slice to __unit_stride_slice.
	* src/c++23/std.cc.in (std::extent_slice): Replaced
	std::strided_slice to std::extent_slice.
	* testsuite/23_containers/mdspan/submdspan/canonical_slices.cc:
	Replaced all occurences of strided_slice to extent_slice.
	* testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc:
	Likewise.
	* testsuite/23_containers/mdspan/submdspan/strided_slice.cc: Move to...
	* testsuite/23_containers/mdspan/submdspan/extent_slice.cc: ...here
	and handle rename.
	* testsuite/23_containers/mdspan/submdspan/strided_slice_neg.cc: Move to...
	* testsuite/23_containers/mdspan/submdspan/extent_slice_neg.cc: ...here
	and handle rename.
	* testsuite/23_containers/mdspan/submdspan/selections/testcases.h:
	Replaced all occurences of strided_slice to extent_slice.
	* testsuite/23_containers/mdspan/submdspan/subextents.cc: Likewise.
	* testsuite/23_containers/mdspan/submdspan/subextents_neg.cc:
	Likewise.
	* testsuite/23_containers/mdspan/submdspan/submdspan_mapping.cc:
	Likewise.
	* testsuite/23_containers/mdspan/submdspan/submdspan_neg.cc: Likewise.

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

	* include/std/mdspan (__mdspan::__static_slice_extent)
	(__mdspan::__dynamic_slice_extent): Return unmodified extent
	value for strided_slice.
	(__mdspan::__substrides_generic, __mdspan::__substrides_standardized):
	Multipliy stride, if more than one element is requested.
	(__mdspan::__canonical_range_slice): Define.
	(__mdspan::__slice_cast): Use __canonical_range_slice for range_slice
	and two elements tuples.
	(__mdspan::__check_inrange_index): Define.
	(__mdspan::__check_valid_slice): Validate if slice.offset +
	(slice.extent - 1) * slice.stride fits into extent of given
	dimension. Check stride if slice.extent > 1.
	* testsuite/23_containers/mdspan/submdspan/canonical_slices.cc:
	Add test for range_slice.
	* testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc:
	Add tests validating new conditions.
	* testsuite/23_containers/mdspan/submdspan/selections/testcases.h:
	Adjusted for change of meaing of strided_slice::extent.
	* testsuite/23_containers/mdspan/submdspan/subextents.cc:
	Adjusted for change of meaing of strided_slice::extent. And expanded
	range_slice tests.
	* testsuite/23_containers/mdspan/submdspan/subextents_neg.cc:
	Adjusted for change of meaing of strided_slice::extent.
	* testsuite/23_containers/mdspan/submdspan/submdspan_neg.cc:
	Adjust test for stride value.

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

	* src/c++23/std.cc.in (range_slice): Export.
	* include/std/mdspan (range_slice, __mdspan::__is_range_slice):
	Define.
	(__mdspan::__slice_cast): Handle strided_slice.
	* testsuite/23_containers/mdspan/submdspan/subextents.cc:
	Sanity tests for range_slice.

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

	* Makefile.am (new-abi-baseline): New target.
	* Makefile.in: Regenerate.

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

	* include/std/format (dynamic_format): Check new value for
	feature test macro.

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

	* src/c++23/std.cc.in (std::saturatint_cast): Fixed typo...
	(std::saturating_cast): ...by exporting this.

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

	* src/c++23/std.cc.in (std::runtime_format, std::add_sat)
	(std::sub_sat, std::mul_sat, std::div_sat, std::saturate_cast):
	Replace exports with...
	(std::dynamic_format, std::saturating_add, std::saturating_sub)
	(std::saturating_mul, std::saturating_div, std::saturating_cast):
	...exports of new names.

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

	* include/std/meta (std::meta::__detail::__statically_sized): New
	concept.
	(std::meta::define_static_array): Change return type to auto.  If
	__statically_sized<_Rg>, return span with ranges::size(__r) as
	second argument.

2026-04-01  François Dumont  <frs.dumont@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/cow_string.h
	(basic_string::replace(iterator, iterator, _InputIte, _InputIte)): Move
	__glibcxx_requires_valid_range to...
	(basic_string::_M_replace_dispatch(iterator, iterator, _InputIte,
	_InputIte, __fase_type)): ...here.
	* testsuite/21_strings/basic_string/debug/append_neg.cc: New test case.
	* testsuite/21_strings/basic_string/debug/assign_neg.cc: New test case.
	* testsuite/21_strings/basic_string/debug/construct_neg.cc: New test case.
	* testsuite/21_strings/basic_string/debug/insert_neg.cc: New test case.
	* testsuite/21_strings/basic_string/debug/replace_neg.cc: New test case.

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

	* include/std/ranges (iota_view::_Sentinel): Remove _M_equal and
	_M_distance_from.  Inline logic into friend operators.
	(basic_istream_view::_Iterator): Remove _M_at_end.  Inline logic
	into operator==.
	(transform_view::_Sentinel): Remove __distance_from and __equal.
	Inline logic into friend operators.
	(join_view::_Sentinel): Remove __equal.  Inline logic into operator==.
	(lazy_split_view::_OuterIter): Remove __at_end.  Inline logic into
	operator==.
	(split_view::_Sentinel): Remove _M_equal.  Inline logic into operator==.
	(elements_view::_Sentinel): Remove _M_equal and _M_distance_from.
	Inline logic into friend operators.

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

	* include/bits/version.def (ranges_filter): Define for C++20.
	* include/bits/version.h: Regenerate.
	* include/std/ranges: Provide __cpp_lib_ranges_filter.
	(filter_view::_Iterator): Add _Const template parameter.
	(filter_view::_Iterator::_S_iter_concept): Return
	input_iterator_tag if _Const.
	(filter_view::_Iterator::_Parent): New.
	(filter_view::_Iterator::_Base): New.
	(filter_view::_Iterator::_Vp_iter): Replace with ...
	(filter_view::_Iterator::_Base_iter): ... this.
	(filter_view::_Iterator::_M_current): Adjust to consider _Const.
	(filter_view::_Iterator::_M_parent): Likewise.
	(filter_view::_Iterator::value_type): Likewise.
	(filter_view::_Iterator::difference_type): Likewise.
	(filter_view::_Iterator::_Iterator): Likewise.  Add
	const-converting overload.
	(filter_view::_Iterator::base): Adjust to consider _Const.
	(filter_view::_Iterator::operator*): Likewise.
	(filter_view::_Iterator::operator->): Likewise.
	(filter_view::_Iterator::operator++): Likewise.
	(filter_view::_Iterator::operator--): Likewise.
	(filter_view::_Iterator::iter_move): Likewise.
	(filter_view::_Iterator::iter_swap): Likewise.
	(filter_view::_Sentinel): Add _Const template parameter.
	(filter_view::_Sentinel::_Parent): New.
	(filter_view::_Sentinel::_Base): New.
	(filter_view::_Sentinel::_M_end): Adjust to consider _Const.
	(filter_view::_Sentinel::_Sentinel): Likewise.  Add
	const-converting overload.
	(filter_view::_Sentinel::base): Adjust to consider _Const.
	(filter_view::_Sentinel::operator==): Likewise.  Inline the
	helper member function __equal.
	(filter_view::begin): Adjust return type of non-const overload.
	New const overload.
	(filter_view::end): Likewise.
	* testsuite/std/ranges/adaptors/filter.cc: Verify value of
	__cpp_lib_ranges_filter.
	(test08): New test.

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

	* include/bits/chrono_io.h (__formatter_chrono::_S_empty_fs)
	(__formatter_chrono::_M_C_y_Y, __formatter_chrono::_M_D_x)
	(__formatter_chrono::_M_F, __formatter_chrono::_M_subsecs)
	(__formatter_chrono_info::_M_format_to): Use
	_Dynamic_format_string instead of _Runtime_format_string.
	* include/bits/version.def (format): Bump value.
	* include/bits/version.h: Regenerate.
	* include/std/format (_Runtime_format_string): Rename to
	_Dynamic_format_string.
	(runtime_format): Rename to dynamic_format.
	* include/std/print (println): Adjust comment to refer to
	dynamic_format instead of runtime_format.
	* testsuite/std/format/runtime_format.cc: Move to...
	* testsuite/std/format/dynamic_format.cc: ...here.

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

	* include/bits/sat_arith.h (add_sat, sub_sat, mul_sat, div_sat)
	(saturate_cast): Rename to saturating_xxx as per P4052R0.
	* include/bits/version.def (saturation_arithmetic): Bump value.
	* include/bits/version.h: Regenerate.
	* testsuite/26_numerics/saturation/add.cc: Use new name.
	* testsuite/26_numerics/saturation/cast.cc: Likewise.
	* testsuite/26_numerics/saturation/div.cc: Likewise.
	* testsuite/26_numerics/saturation/extended.cc: Likewise.
	* testsuite/26_numerics/saturation/mul.cc: Likewise.
	* testsuite/26_numerics/saturation/sub.cc: Likewise.
	* testsuite/26_numerics/saturation/version.cc: Check for updated
	value.

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

	* include/std/meta (std::meta::data_member_options): Add annotations
	member.

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

	* include/std/meta (std::meta::current_function,
	std::meta::current_class, std::meta::current_namespace): New
	declarations.
	* src/c++23/std.cc.in: Export those 3.

2026-03-30  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/atomic_base.h (__atomic_ref_base::_Address_return_t):
	Define.
	(__atomic_ref_base::address): Change return type to _Address_return_t.
	* include/bits/version.def (atomic_ref): Bump to 202603.
	* include/bits/version.h: Regenerate.
	* testsuite/29_atomics/atomic_ref/address.cc: Update check for
	return type.

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

	* include/std/meta (has_ellipsis_parameter): Rename to ...
	(is_vararg_function): ... this.  New declaration.
	* src/c++23/std.cc.in: Remove std::meta::has_ellipsis_parameter
	export, add std::meta::is_vararg_function export.

2026-03-28  Alexandre Oliva  <oliva@adacore.com>

	* include/experimental/bits/simd.h (__intrinsic_type): Accept
	64-bit long doubles on x86 SSE.

2026-03-27  Nathan Myers  <ncm@cantrip.org>

	* include/bits/stl_tree.h: Delete comment.

2026-03-25  Alexandre Oliva  <oliva@adacore.com>

	* testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc
	(test_wait_until): Extend the timeout for a stop request.

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

	* include/Makefile.am: Add simd headers.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def (simd): New.
	* include/bits/version.h: Regenerate.
	* include/bits/simd_alg.h: New file.
	* include/bits/simd_details.h: New file.
	* include/bits/simd_flags.h: New file.
	* include/bits/simd_iterator.h: New file.
	* include/bits/simd_loadstore.h: New file.
	* include/bits/simd_mask.h: New file.
	* include/bits/simd_mask_reductions.h: New file.
	* include/bits/simd_reductions.h: New file.
	* include/bits/simd_vec.h: New file.
	* include/bits/simd_x86.h: New file.
	* include/bits/vec_ops.h: New file.
	* include/std/simd: New file.
	* testsuite/std/simd/arithmetic.cc: New test.
	* testsuite/std/simd/arithmetic_expensive.cc: New test.
	* testsuite/std/simd/create_tests.h: New file.
	* testsuite/std/simd/creation.cc: New test.
	* testsuite/std/simd/creation_expensive.cc: New test.
	* testsuite/std/simd/loads.cc: New test.
	* testsuite/std/simd/loads_expensive.cc: New test.
	* testsuite/std/simd/mask2.cc: New test.
	* testsuite/std/simd/mask2_expensive.cc: New test.
	* testsuite/std/simd/mask.cc: New test.
	* testsuite/std/simd/mask_expensive.cc: New test.
	* testsuite/std/simd/reductions.cc: New test.
	* testsuite/std/simd/reductions_expensive.cc: New test.
	* testsuite/std/simd/shift_left.cc: New test.
	* testsuite/std/simd/shift_left_expensive.cc: New test.
	* testsuite/std/simd/shift_right.cc: New test.
	* testsuite/std/simd/shift_right_expensive.cc: New test.
	* testsuite/std/simd/simd_alg.cc: New test.
	* testsuite/std/simd/simd_alg_expensive.cc: New test.
	* testsuite/std/simd/sse_intrin.cc: New test.
	* testsuite/std/simd/stores.cc: New test.
	* testsuite/std/simd/stores_expensive.cc: New test.
	* testsuite/std/simd/test_setup.h: New file.
	* testsuite/std/simd/traits_common.cc: New test.
	* testsuite/std/simd/traits_impl.cc: New test.
	* testsuite/std/simd/traits_math.cc: New test.

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

	PR libstdc++/122567
	* src/c++20/tzdb.cc (tzdb::current_zone): Loop over all trailing
	components of /etc/localtime path. Use readlink instead of
	std::filesystem::read_symlink.

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

	* src/c++20/tzdb.cc [_AIX]: Change #ifndef to #ifdef.

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

	PR libstdc++/124568
	* testsuite/24_iterators/istreambuf_iterator/105580.cc: Add
	no_pch option.

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

	* src/c++17/fs_path.cc (path::operator+=): Use pointer
	comparison to detect aliasing instead of a loop.

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

	* include/std/generator (_Stateless_alloc): Swap order of
	constraints.

2026-03-19  François Dumont  <frs.dumont@gmail.com>

	* src/c++11/debug.cc (_Safe_sequence_base::_M_detach_single): Do not
	check if input iterator is equal to _M_iterators if already equals to
	_M_const_iterators.
	(_Safe_unordered_container_base::_M_detach_local_single): Do not check
	if input local iterator is equal to _M_local_iterators if already equals
	to _M_const_local_iterators.

2026-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/121790
	* src/c++23/std.cc.in: Add enable_nonlocking_formatter_optimization.

2026-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/118030
	* src/c++23/std.cc.in: Add allocation_result.

2026-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR c++/120775
	* src/c++23/std.cc.in: Add is_reflection{,_v} and
	is_consteval_only{,_v}.

2026-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/119794
	* src/c++23/std.cc.in: Add philox_engine and philox4x{32,64}.

2026-03-19  Jakub Jelinek  <jakub@redhat.com>

	* src/c++23/std.cc.in: Export views::indices.

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

	PR libstdc++/124513
	* src/c++20/tzdb.cc (operator>>(istream&, at_time::Indicator&)):
	Do not peek at the next character if eofbit is already set.
	(istream& operator>>(istream&, at_time&)): Skip whitespace
	before the first character. Handle EOF when parsing "-" as time.
	Do not peek for ":" or "." if eofbit already set.
	* testsuite/std/time/time_zone/116110.cc (test_apia): Remove
	offset of 24h now that the UNTIL time is parsed correctly.
	* testsuite/std/time/time_zone/124513.cc: New test.

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

	PR libstdc++/116110
	* src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Adjust
	inf.m_until according to indicator suffix on AT time in UNTIL.
	* testsuite/std/time/time_zone/116110.cc (test_kiritimati):
	Remove FIXME now that the UNTIL time is adjusted for STDOFF.
	(test_apia): Adjust FIXME now that UNTIL time is adusted for
	STDOFF.
	* testsuite/std/time/time_zone/get_info_sys.cc: Adjust expected
	results to account for corrected logic.
	* testsuite/std/time/zoned_time/1.cc: Likewise.

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

	PR libstdc++/116110
	* src/c++20/tzdb.cc (time_zone::_M_get_sys_info): Update
	info.offset and info.save to values from the active rule.
	* testsuite/std/time/time_zone/116110.cc: New test.

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

	* testsuite/17_intro/names.cc (ext, max_iter, ret, subs, Rg, Rs):
	Define macros.
	[__cplusplus < 201103] (mutex): Define macro.

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

	* include/experimental/bits/fs_path.h (path::stem)
	(path::extension, path::has_stem, path::has_extension): Uglify
	ext variable name.

2026-03-18  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/regex_compiler.h (_Compiler::_M_pop): Uglify ret
	variable name.

2026-03-18  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/mdspan (__mdspan::__index_type_cast): Handle
	forwarding referene and use forward for class types.
	* testsuite/23_containers/mdspan/int_like.h (ConstLValueInt)
	(CustomIndexKind::ConstLValue): Define.
	(CustomIndexType): Handle CustomIndexKind::ConstLValue.
	* testsuite/23_containers/mdspan/at.cc: Test with ConstLValueInt.
	* testsuite/23_containers/mdspan/extents/custom_integer.cc: Likewise.
	* testsuite/23_containers/mdspan/mdspan.cc: Likewise.

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

	* include/bits/chrono_io.h (__formatter_duration::_S_subseconds):
	Uglify subs variable name.
	* include/bits/fs_path.h (path::stem, path::extension)
	(path::has_stem, path::has_extension): Uglify ext parameter
	name.
	* include/ext/concurrence.h (__cond::wait, __cond::wait_recursive):
	Uglify mutex parameter names.
	* include/pstl/glue_algorithm_defs.h (generate_n): Uglify count
	parameter name.
	* include/std/ranges (zip_transform_view): Uglify Rs template
	parameter name.
	(__cartesian_is_sized_sentinel): Uglify FirstSent template
	parameter name.
	* include/tr1/riemann_zeta.tcc: Uglify max_size variable name.

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

	PR libstdc++/124463
	* include/bits/deque.tcc (__uninitialized_copy_a): Define
	overloads for input and output iterators being std::deque
	iterators, and for only the output iterator being a std::deque
	iterator.
	(__uninitialized_move_a): Overload for input and output
	iterators being std::deque iterators.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_a)
	(__uninitialized_move_a): Declare overloads for std::deque
	iterators.

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

	Revert:
	2026-03-16  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.
	Add clean-local target.
	* src/c++23/Makefile.in: Regenerate.

2026-03-17  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/23_containers/mdspan/extents/ctor_ints.cc: Updated
	is_explicit, and added more test cases.

2026-03-16  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.
	Add clean-local target.
	* src/c++23/Makefile.in: Regenerate.

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

	* include/bits/ranges_base.h (distance(It&&, Sent)): Only decay
	arrays to pointers when the type is actually an array, as per
	LWG 4242.
	* testsuite/24_iterators/range_operations/distance.cc: Add test
	for LWG 4242.

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

	* testsuite/29_atomics/atomic/compare_exchange_padding.cc:
	Rewrite to be robust against spurious failures of weak compare
	exchange, and to check padding bits more directly.

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

	* include/bits/allocator.h (allocator::allocate): Use specific
	feature test macro for constexpr allocate and deallocate. Make
	consteval path a discarded statement if sizeof(T) is ill-formed.
	* include/bits/new_allocator.h (__new_allocator::allocate): Use
	requires-expression for static_cast. Make function body a
	discarded stament if sizeof(T) is ill-formed. Use if-constexpr
	for alignment checks.

2026-03-15  François Dumont  <frs.dumont@gmail.com>

	PR libstdc++/124444
	* include/debug/safe_sequence.h (_Safe_sequence::_M_invalidate_if_impl): New.
	(_Safe_sequence::_M_invalidate_if): Call later if not __is_constant_evaluated.
	* include/debug/safe_sequence.tcc: Rename _M_invalidate_if into
	_M_invalidate_if_impl and remove C++20 constexpr.

2026-03-14  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/text_encoding: Fix @since in Doxygen comment.

2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/124290
	* testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc:
	Use dg-timeout-factor 4.
	* testsuite/23_containers/mdspan/submdspan/selections/left.cc:
	* testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc:
	* testsuite/23_containers/mdspan/submdspan/selections/right.cc:
	Likewise.
	* testsuite/23_containers/mdspan/submdspan/selections/stride.cc:
	Likewise.

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

	* include/std/format (__format::_Ptr_sink::_M_finish): Rename
	__max variable to __m.
	* testsuite/17_intro/names.cc (__max): Define function-like
	macro.

2026-03-12  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/124443
	* include/std/meta (std::define_static_object): Use CTAD for span.

2026-03-11  Jakub Jelinek  <jakub@redhat.com>

	* include/std/meta (std::meta::exception::what()): Use
	__builtin_constexpr_diag instead of __asm__("") if supported.
	(std::meta::access_context::via(info)): Don't call is_class_type
	if __cls is not a type.  Use __builtin_constexpr_diag instead of
	__asm__("") if supported for -fno-exceptions.

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

	* include/std/chrono (hh_mm_ss): Add comment about LWG 4274.

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

	* include/bits/ranges_algo.h (__replace_fn, __replace_if_fn):
	Change default template argument for type of new value, as per
	LWG 4444.
	* testsuite/25_algorithms/replace/lwg4444.cc: New test.
	* testsuite/25_algorithms/replace_if/lwg4444.cc: New test.

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

	* include/std/span (as_bytes, as_writable_bytes): Add
	constraints to disallow volatile elements, as per LWG 4243.
	* testsuite/23_containers/span/lwg4243.cc: New test.

2026-03-10  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/118030
	* include/bits/alloc_traits.h (allocate_at_least (2x)): Define.
	* include/bits/allocator.h (allocate_at_least): Define.
	* include/std/memory (__glibcxx_want_allocate_at_least): Define.
	* include/bits/memoryfwd.h (allocation_result): Define, #include
	<bits/version.h> first so that will work.
	* include/bits/version.def (allocate_at_least): Add.
	* include/bits/version.h: Regenerate.
	* testsuite/20_util/allocator/allocate_at_least.cc: New test.
	* testsuite/20_util/allocator/allocate_at_least_neg.cc: New test.

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

	* include/bits/basic_string.h: Check __glibcxx_to_string instead
	of __cplusplus.

2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/format (__format::_Ptr_sink, __format::__format_padded)
	(std::enable_nonlocking_formatter_optimization<pair<_Fp, _Sp>>):
	Replaced 8 spaces with tabs.

2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/format (__format::_Ptr_sink): Reworked
	from _Iter_sink specialization below.
	(__format::_Iter_sink<_CharT, contiguous_iterator _OutIter>):
	Renamed and reworked to _Ptr_sink.
	(__format::__contiguous_char_iter, __format::__do_vformat_to_n):
	Define.
	(__format::__do_vformat_to): Use _Ptr_sink when appropriate,
	and delegate to _Sink_iter specialization.
	(std::format_to_n): Delegate to __do_vformat_to_n.
	(__format::_Counting_sink): Use _Ptr_sink as base class.

2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/format (__formatter_int::format): Handle transcoding
	to _CharT before calling _M_format_int.
	(__formatter_int::_M_format_int): Accept basic_string_view<_CharT>
	and remove transcoding.
	(__formatter_ptr::__formatter_ptr): Configure _M_spec member.
	(__formatter_ptr::parse): Negate _M_alt for __spec and not _M_spec.
	(__formatter_ptr::format): Delegate to __formatter_int.

2026-03-10  François Dumont  <frs.dumont@gmail.com>

	* include/debug/string
	[__cplusplus >= 201103L](basic_string(_Ite, _Ite, const _Alloc&)): Add
	std::_RequireInputIter<_Ite> template parameter.

2026-03-09  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/meta (exception::what, access_context::via): Use
	__asm__ instead of asm keyword.

2026-03-09  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/120527
	* include/bits/atomic_wait.h [__FreeBSD__] (__platform_wait_t):
	Define typedef.
	[__FreeBSD__] (__platform_wait_uses_type): Define variable
	template.
	* src/c++20/atomic.cc (__platform_load): New function.
	[__FreeBSD__] (_GLIBCXX_HAVE_PLATFORM_WAIT, __platform_wait)
	(__platform_notify, __platform_wait_until): Define.
	(__detail::__spin_impl): Use __platform_load.

2026-03-07  François Dumont  <frs.dumont@gmail.com>

	* include/debug/functions.h [__cplusplus >= 201103L]
	(__foreign_iterator_aux): Remove.
	(__foreign_iterator): Adapt to use __foreign_iterator_aux2.
	* include/debug/helper_functions.h [__cplusplus >= 201103L]:
	Remove include bits/cpp_type_traits.h.
	(_Distance_traits<_Integral, std::__true_type>): Remove.
	(__valid_range_aux(_Integral, _Integral, std::__true_type)):
	Remove.
	(__valid_range_aux(_Iterator, _Iterator, std::__false_type)): Remove.
	(__valid_range_aux(_Integral, _Integral, _Distance_traits<_Integral>::__type&,
	std::__true_type)): Remove.
	(__valid_range_aux(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&,
	std::__false_type)): Remove.
	(__valid_range(_Iterator, _Iterator)): Adapt.
	(__valid_range(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&)): Adapt.

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

	* include/std/bitset (operator[]() const): Customize bounds
	check for C++11 case.
	* testsuite/20_util/bitset/access/subscript_const_neg.cc:
	Suppress UNRESOLVED complaint.

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

	* include/bits/fs_path.h (std::formatter<filesystem::path, _CharT>):
	Format _Utf_view directly via __formatter_str::_M_format_range.

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

	PR libstdc++/122300
	* src/c++17/fs_path.cc (path::_List::_Impl): Remove
	static_asserts.
	(path::_List::_Impl::required_alignment)
	(path::_List::_Impl::use_aligned_new): New static data members.
	(path::_List::_Impl::create_unchecked): Check use_aligned_new
	and use aligned new if needed.
	(path::_List::_Impl::alloc_size): New static member function.
	(path::_List::_Impl_deleter::operator): Check use_aligned_new
	and use aligned delete if needed.

2026-03-05  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/118341
	* include/std/bitset (operator[] (2x)): Add assertion.
	* testsuite/20_util/bitset/access/118341_neg1.cc: New test.
	* testsuite/20_util/bitset/access/118341_neg2.cc: Same.
	* testsuite/20_util/bitset/access/118341_smoke.cc: Same.
	* testsuite/20_util/bitset/access/subscript.cc: Same.
	* testsuite/20_util/bitset/access/subscript_const_neg.cc: Same.

2026-03-05  François Dumont  <frs.dumont@gmail.com>

	* include/debug/safe_unordered_container.h
	(_Safe_unordered_container::_UContInvalidatePred): Move outside class, at
	namespace scope. Declare friend.
	(_Safe_unordered_container::_UMContInvalidatePred): Likewise.
	(_Safe_unordered_container::_UContMergeGuard): Likewise.
	(_Safe_unordered_container::_M_invalidate_all): Make protected.
	(_Safe_unordered_container::_M_invalidate_all_if): Likewise.

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

	PR libstdc++/124124
	* testsuite/29_atomics/atomic/cons/zero_padding.cc: Limit size of
	test types to four bytes.

2026-03-05  Tomasz Kamiński  <tkaminsk@redhat.com>
	    Ivan Lazaric  <ivan.lazaric1@gmail.com>

	* include/std/format (_Arg_value::_M_get): Rename to...
	(_Arg_value::_M_access): Modified to accept optional
	second parameter that is assigned to value.
	(_Arg_value::_M_get): Handle rename.
	(_Arg_value::_M_set): Use construct_at for basic_string_view,
	handle, and two-argument _S_access for other types.

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

	* include/std/format (__Arg_value::handle): Define, extracted
	with modification from basic_format_arg::handle.
	(_Arg_value::_Handle_base): Remove.
	(_Arg_value::_M_handle): Change type to handle.
	(_Arg_value::_M_get, _Arg_value::_M_set): Check for handle
	type directly, and return result unmodified.
	(basic_format_arg::__formattable): Remove.
	(basic_format_arg::handle): Replace with alias to
	_Arg_value::handle.

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

	PR libstdc++/124363
	* include/std/string_view: Adjust comment on #endif to match #if
	condition.

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

	PR libstdc++/117402
	* include/debug/map.h (try_emplace (2x), insert_or_assign (2x)):
	Define heterogeneous overloads, simplify existing overloads.
	* include/debug/unordered_map: Same.
	* include/debug/set.h (insert (2x)):
	Define heterogeneous overloads.
	* include/debug/unordered_set: Same.

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

	PR libstdc++/117402
	* include/bits/stl_map.h (operator[], at (2x), try_emplace (2x),
	insert_or_assign (2x)): Add overloads.
	* include/bits/unordered_map.h (operator[], at (2x),
	try_emplace (2x), insert_or_assign (2x), bucket (2x)): Add overloads.
	* include/bits/stl_set.h (insert (2x)): Add overloads.
	* include/bits/unordered_set.h (insert (2x), bucket (2x)): Add overloads.
	* include/bits/hashtable.h (_M_bucket_tr, _M_insert_tr): Define.
	* include/bits/hashtable_policy.h (_M_at_tr (2x)): Define.
	* include/bits/stl_tree.h (_M_emplace_here, _M_get_insert_unique_pos_tr,
	_M_get_insert_hint_unique_pos_tr): Define new heterogeneous insertion
	code path for set and map.
	* include/bits/version.def (associative_heterogeneous_insertion):
	Define.
	* include/bits/version.h: Regenerate.
	* include/std/map (__glibcxx_want_associative_heterogeneous_insertion):
	Define macro.
	* include/std/set: Same.
	* include/std/unordered_map: Same.
	* include/std/unordered_set: Same.
	* testsuite/23_containers/map/modifiers/hetero/insert.cc: New tests.
	* testsuite/23_containers/set/modifiers/hetero/insert.cc: Same.
	* testsuite/23_containers/unordered_map/modifiers/hetero/insert.cc:
	Same.
	* testsuite/23_containers/unordered_multimap/modifiers/hetero/insert.cc:
	Same.
	* testsuite/23_containers/unordered_multiset/modifiers/hetero/insert.cc:
	Same.
	* testsuite/23_containers/unordered_set/modifiers/hetero/insert.cc:
	Same.

2026-03-03  Adam Wood  <adam.wood@mines.sdsmt.edu>

	PR libstdc++/122217
	* testsuite/27_io/filesystem/operations/copy_symlink/1.cc: New
	test.
	* testsuite/27_io/filesystem/operations/copy_symlink/2.cc: New
	test.
	* testsuite/27_io/filesystem/operations/copy_symlink/3.cc: New
	test.
	* testsuite/27_io/filesystem/operations/copy_symlink/4.cc: New
	test.

2026-03-03  Arthur O'Dwyer  <arthur.j.odwyer@gmail.com>

	PR libstdc++/119197
	* include/std/expected (expected, expected<void, E>): Add
	[[nodiscard]] to class.
	* testsuite/20_util/expected/119197.cc: New test.

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

	* include/std/atomic (atomic<T*>::wait, atomic<T*>::notify_one)
	(atomic<T*>::notify_all): Fix indentation.

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

	* include/bits/regex_compiler.h: Adjust comments so that
	standard references are specific to C++11.

2026-03-02  François Dumont  <frs.dumont@gmail.com>

	* include/debug/safe_unordered_container.h
	(_Safe_unordered_container::_M_invalidate_locals): Remove.
	(_Safe_unordered_container::_M_invalidate_all): Lock mutex while calling
	_M_invalidate_if and _M_invalidate_locals.
	(_Safe_unordered_container::_M_invalidate_all_if): New.
	(_Safe_unordered_container::_M_invalidate): New.
	(_Safe_unordered_container::_M_invalidate_if): Make private, add __scoped_lock
	argument.
	(_Safe_unordered_container::_M_invalidate_local_if): Likewise.
	* include/debug/safe_unordered_container.tcc
	(_Safe_unordered_container::_M_invalidate_if): Adapt and remove lock.
	(_Safe_unordered_container::_M_invalidate_local_if): Likewise.
	* include/debug/unordered_map
	(unordered_map::erase(const_iterator, const_iterator)): Lock before loop on
	iterators. Remove _M_check_rehashed call.
	(unordered_map::_M_self): New.
	(unordered_map::_M_invalidate): Remove.
	(unordered_map::_M_erase): Adapt and remove _M_check_rehashed call.
	(unordered_multimap::_M_erase(_Base_iterator, _Base_iterator)): New.
	(unordered_multimap::erase(_Kt&&)): Use latter.
	(unordered_multimap::erase(const key_type&)): Likewise.
	(unordered_multimap::erase(const_iterator, const_iterator)):
	Lock before loop on iterators. Remove _M_check_rehashed.
	(unordered_multimap::_M_self): New.
	(unordered_multimap::_M_invalidate): Remove.
	(unordered_multimap::_M_erase): Adapt. Remove _M_check_rehashed call.
	* include/debug/unordered_set
	(unordered_set::erase(const_iterator, const_iterator)): Add lock before loop
	for iterator invalidation. Remove _M_check_rehashed call.
	(unordered_set::_M_self): New.
	(unordered_set::_M_invalidate): Remove.
	(unordered_set::_M_erase): Adapt and remove _M_check_rehashed call.
	(unordered_multiset::_M_erase(_Base_iterator, _Base_iterator)): New.
	(unordered_multiset::erase(_Kt&&)): Use latter.
	(unordered_multiset::erase(const key_type&)): Likewise.
	(unordered_multiset::erase(const_iterator, const_iterator)):
	Lock before loop on iterators. Remove _M_check_rehashed.
	(unordered_multiset::_M_self): New.
	(unordered_multiset::_M_invalidate): Remove.
	(unordered_multiset::_M_erase): Adapt. Remove _M_check_rehashed call.

2026-03-02  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/105580
	* testsuite/24_iterators/istreambuf_iterator/105580.cc:
	Add dg-bogus check for warning.

2026-03-02  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/105580
	* include/std/streambuf (streambuf::gptr, streambuf::egptr)
	(streambuf::gbump): Surround with pragma disabling -Wnull-dereference.
	* testsuite/24_iterators/istreambuf_iterator/105580.cc: Remove check for
	warning being emitted.

2026-02-28  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/105580
	* testsuite/24_iterators/istreambuf_iterator/105580.cc: New test.

2026-02-26  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* testsuite/29_atomics/atomic_ref/requirements_neg.cc: Add
	using std::size_t.

2026-02-26  Yuao Ma  <c8ef@outlook.com>

	* include/bits/atomic_base.h (__atomic_base<_PTp*>::fetch_min,
	__atomic_base<_PTp*>::fetch_max,
	__atomic_ref<_Pt, false, false, true>::fetch_min,
	__atomic_ref<_Pt, false, false, true>::fetch_max): Define new
	functions.
	* include/std/atomic (atomic<_Tp*>::fetch_min,
	atomic<_Tp*>::fetch_max): Likewise.
	(atomic_fetch_min_explicit, atomic_fetch_max_explicit,
	atomic_fetch_min, atomic_fetch_max): Change parameter from
	__atomic_base<_ITp>* to atomic<_Tp>*.
	* testsuite/29_atomics/atomic/pointer_fetch_minmax.cc: New test.
	* testsuite/29_atomics/atomic_ref/pointer_fetch_minmax.cc: New
	test.

2026-02-25  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/117404
	* include/debug/map.h (extract, erase): Define overloads.
	* include/debug/multimap.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/set.h: Same.
	* include/debug/unordered_map: Same (2x).
	* include/debug/unordered_set: Same (2x), rename some locals.

2026-02-24  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/23_containers/mdspan/at.cc: Updated guard.

2026-02-24  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/23_containers/mdspan/at.cc: Updated test.

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

	* include/std/mdspan (__mdspan::__is_multi_index): Removed,
	replaced with local lambda in mdspan::operator[].
	(__mdspan::operator[]): Implement in terms of single overload
	accepting index_type. Use __mdspan::__index_type_cast for type
	conversion.

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

	* include/std/mdspan (mdspan::at, mdspan::__index_int_t):
	Define.
	* testsuite/23_containers/mdspan/at.cc: New test.

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

	* testsuite/lib/libstdc++.exp (v3-minimum-std): Remove second
	and third args in favour of using globals.

2026-02-19  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/std/type_traits (_CWOperators::operator++)
	(_CWOperators::operator--, _CWOperators::operator+=)
	(_CWOperators::operator-=, _CWOperators::operator*=)
	(_CWOperators::operator/=, _CWOperators::operator%=)
	(_CWOperators::operator&=, _CWOperators::operator|=)
	(_CWOperators::operator^=, _CWOperators::operator<<=)
	(_CWOperators::operator>>=, constant_wrapper::operator=):
	Adjust definitions to apply operator on value.
	* testsuite/20_util/constant_wrapper/generic.cc:
	Remove test_pseudo_mutator.
	* testsuite/20_util/constant_wrapper/instantiate.cc:
	Test that operators are not provided if wrapped type
	do not support them, or provide mutable operators.

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

	* testsuite/lib/libstdc++.exp (v3_default_std, v3_max_std): New
	global variables.
	(v3-minimum-std): Use globals instead of arguments.
	(v3_modules_std): Define in terms of $v3_max_std.
	(v3-dg-runtest): Use globals instead of local variables. Adjust
	call to v3-min-std.

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

	* testsuite/lib/libstdc++.exp (v3-minimum-std): Remove special
	case for c++2a and TODO comment.
	* testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
	Replace c++2a effective target with c++20.
	* testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Likewise.
	* testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
	* testsuite/20_util/result_of/sfinae_friendly_1.cc: Likewise.
	* testsuite/20_util/tuple/78939.cc: Likewise.
	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
	* testsuite/experimental/type_traits/value.cc: Likewise.
	* testsuite/ext/malloc_allocator/variadic_construct.cc:
	Likewise.
	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/chrono.cc: Likewise.
	* testsuite/libstdc++-prettyprinters/cxx20.cc: Likewise.
	* testsuite/std/ranges/iota/size.cc: Likewise.
	* testsuite/tr1/3_function_objects/result_of.cc: Likewise.

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

	PR libstdc++/121402
	* include/std/ranges (repeat_view::_M_value): Add
	[[no_unique_address]].
	* testsuite/std/ranges/adaptors/sizeof.cc
	[__cpp_lib_ranges_repeat]: New test.

2026-02-17  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/124124
	* testsuite/29_atomics/atomic/cons/zero_padding.cc: Updated
	Ctor class and move test_floating to...
	* testsuite/29_atomics/atomic_float/zero_padding.cc: Extracted
	test_floating.

2026-02-17  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/124124
	* testsuite/29_atomics/atomic/cons/zero_padding.cc: Adjust
	dg-require.

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

	* src/c++23/std.cc.in (std::submdspan_canonicalize_slices,
	std::submdspan_extents): Remove exports.
	(std::canonical_slices, std::subextents): New exports.

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

	PR libstdc++/119745
	* include/bits/basic_string.h (basic_string::_M_construct)
	[__cplusplus >= 202302L]: Declare.
	(basic_string::basic_string(basic_string&&, size_type, const _Alloc&))
	(basic_string(basic_string&&, size_type, size_type, const _Alloc&))
	(basic_string::substr(size_type, size_type) &&)
	(basic_string::substr(size_type) &&) [__cplusplus >= 202302L]: Define.
	* include/bits/basic_string.tcc (basic_string::_M_construct)
	[__cplusplus >= 202302L]: Define.
	* testsuite/21_strings/basic_string/operations/substr/rvalue.cc: New test.

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

	* include/std/mdspan (std::submdspan_extents): Rename to...
	(std::subextents): Renamed from submdspan_extents.
	(std::submdspan_canonicalize_slices): Rename to...
	(std::canonical_slices): Renamed from submdspan_canonicalize_slices.
	* testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices.cc:
	Move to...
	* testsuite/23_containers/mdspan/submdspan/canonical_slices.cc: ...here.
	Updated calls to submdspan_canonicalize_slices.
	* testsuite/23_containers/mdspan/submdspan/submdspan_canonicalize_slices_neg.cc:
	Move to...
	* testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc: ...here.
	Updated calls to submdspan_canonicalize_slices.
	* testsuite/23_containers/mdspan/submdspan/submdspan_extents.cc: Move to...
	* testsuite/23_containers/mdspan/submdspan/subextents.cc: ...here.
	Qualified and renamed calls to submdspan_extents.
	* testsuite/23_containers/mdspan/submdspan/submdspan_extents_neg.cc: Move to...
	* testsuite/23_containers/mdspan/submdspan/subextents_neg.cc: ...here.
	Qualified and renamed calls to submdspan_extents.

2026-02-16  Ivan Lazaric  <ivan.lazaric1@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/fs_path.h: Include bits/formatfwd.h.
	(std::formatter<filesystem::path, _CharT>): Define.
	* include/bits/version.def (format_path): Define.
	* include/bits/version.h: Regenerate.
	* include/std/filesystem: Expose __cpp_lib_format_path.
	* testsuite/std/format/fs_path.cc: New test.

2026-02-13  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc
	(__gnu_test::uneq_allocator(int)): Declare as explicit.
	* testsuite/std/memory/indirect/ctor.cc: Construct uneq_allocator
	from int explicitly.
	* testsuite/std/memory/polymorphic/ctor.cc: Likewise.
	* testsuite/std/memory/polymorphic/ctor_poly.cc: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.

2026-02-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/121771
	* include/std/tuple (tuple::tuple(const Elements&...)): Use
	type_identity_t to prevent constructor being used for CTAD.
	(tuple::tuple(allocator_arg_t, const A&, const Elements&...)):
	Likewise.
	* testsuite/20_util/tuple/cons/121771.cc: New test.

2026-02-12  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex_executor.tcc (_Executor::_M_rep_once_more):
	Make unnused _Match_mode parameter unnamed.
	(_Executor::_M_handle_repeat): Likewise.
	(_Executor::_M_handle_subexpr_begin): Likewise.
	(_Executor::_M_handle_subexpr_end): Likewise.
	(_Executor::_M_handle_line_begin_assertion): Likewise.
	(_Executor::_M_handle_line_end_assertion): Likewise.
	(_Executor::_M_handle_match): Likewise.
	(_Executor::_M_handle_backref): Likewise.
	(_Executor::_M_handle_alternative): Likewise.

2026-02-12  Xi Ruoyao  <xry111@xry111.site>
	    Jonathan Wakely  <jwakely@redhat.com>

	* testsuite/17_intro/badnames.cc (__unused): Do not define.
	* testsuite/17_intro/names.cc [glibc == 2.43] (__unused): Undef.

2026-02-12  Jonathan Wakely  <jwakely@redhat.com>

	* include/std/type_traits (is_function): Declare before first
	use.

2026-02-12  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/114865
	* include/std/atomic (atomic<_Tp>::atomic(_Tp)) [C++11]:
	Enable __builtin_clear_padding logic.
	* testsuite/29_atomics/atomic/compare_exchange_padding.cc: Enable
	this test in earlier modes, including C++11.
	* testsuite/29_atomics/atomic/cons/zero_padding.cc [C++11]:
	Enable tests verifying cleared padding bits for a non-static-init
	std::atomic object.

2026-02-11  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/funcref_impl.h (function_ref::function_ref(_Fn&&)):
	Use _S_static and _S_nttp invokers.
	* include/bits/funcwrap.h (_Base_invoker::_S_static):
	Define.
	* include/bits/stl_function.h (std::__is_std_op_template)
	(std::__is_std_op_wrapper) [__cplusplus > 201703L]:
	Moved from std/ranges.
	* include/std/ranges (__detail::__is_std_op_template)
	(__detail::__is_std_op_wrapper): Moved to bits/stl_function.h.
	* testsuite/20_util/function_ref/dangling.cc: New test.
	* testsuite/20_util/function_ref/dangling_neg.cc: New test.

2026-02-11  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/123875
	* testsuite/29_atomics/atomic/cons/static_zero_padding.cc: Move to...
	* testsuite/29_atomics/atomic/cons/zero_padding.cc: ...here and
	added heap tests. Also fixed trailing whitespaces.

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

	PR libstdc++/123908
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.35): Add exports for
	std::__get_once_callable and std::__get_once_call.

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

	* include/bits/regex.tcc (__detail::__lookup_collatename): New
	function.
	(regex_traits::lookup_collatename): Use new function. Elide
	redundant narrowing via ctype facet for regex_traits<char>.
	(regex_traits::lookup_classname): Replace lookup table with
	handwritten prefix match.

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

	PR libstdc++/124015
	* include/bits/regex.tcc (regex_traits::lookup_classname): Fix
	handling of icase parameter.

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

	PR libstdc++/124015
	* testsuite/28_regex/traits/char/lookup_classname.cc: Check for
	correct result for unrecognized classname. Check that lookup is
	case insensitive. Check that all required classnames are
	recognized. Check that icase flag only affects "lower" and
	"upper".
	* testsuite/28_regex/traits/wchar_t/lookup_classname.cc:
	Likewise.

2026-02-10  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/123875
	* include/bits/atomic_base.h (__atomic_impl::__clear_padding):
	Use if constexpr unconditionally.
	(__atomic_float<_Fp>::__atomic_float(_Fp)): Skip __clear_padding
	call for constant evaluation.
	* include/std/atomic (atomic<_Tp>::atomic(_Tp)): Likewise.
	* testsuite/29_atomics/atomic/cons/static_zero_padding.cc: New test.

2026-02-10  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/123991
	* include/bits/basic_string.h (compare(size_type, size_type, T)):
	Remove noexcept-specifier.
	(compare(size_type, size_type, T, size_type, size_type)):
	Likewise.
	* include/bits/cow_string.h (compare(size_type, size_type, T)):
	Remove noexcept-specifier.
	(compare(size_type, size_type, T, size_type, size_type)):
	Likewise.
	* testsuite/21_strings/basic_string/operations/compare/char/123991.cc:
	New test.
	* testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc:
	New test.

2026-02-10  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex.h (_Executor): Remove __dfs_mode template
	parameter and _V2 inline namespace.
	* include/bits/regex.tcc (__regex_algo_impl): Adjust after
	__dfs_mode template parameter removal.
	* include/bits/regex_executor.h (_Executor): Remove __dfs_mode
	parameter and _V2 inline namespace.
	* include/bits/regex_executor.tcc (_Executor): Likewise.

2026-02-10  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex.tcc (__regex_algo_impl): Pass __use_dfs
	parameter to _Executor's constructor.
	* include/bits/regex_executor.h (_Executor::_Search_mode): New.
	(_Executor::_Executor): Add __use_dfs parameter and initialize
	_M_search_mode.  Adjust after inlining _State_info members into
	_Executor.
	(_Executor::~_Executor): Free _M_visted_states.
	(_Executor::_M_main): Adjust after renaming _M_main_dispatch
	overloads to _M_main_dfs and _M_main_bfs.
	(_Executor::_State_info): Remove.
	(_Executor::_M_visited): Inlined from _State_info.
	(_Executor::_M_get_sol_pos): Likewise.
	(_Executor::_M_states): Remove.
	(_Executor::_M_start): Inlined from _State_info.
	(_Executor::_M_sol_pos): Likewise.
	(_Executor::_M_match_queue): Likewise.
	(_Executor::_M_search_mode): New.
	* include/bits/regex_executor.tcc (_Executor::_M_main_dispatch):
	Renamed to...
	(_Executor::_M_main_dfs, _Executor::_M_main_bfs): ... these.
	(_Executor::_M_*): Adjust after _M_states removal.
	(_Executor::_M_lookhead): Also adjust _Executor constructor
	call.

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

	PR libstdc++/124024
	* include/bits/out_ptr.h (out_ptr): Fix doxygen comment to refer
	to the right function.
	(inout_ptr): Improve markup in doxygen comment.

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

	* include/bits/hashtable.h (std::__heterogeneous_hash_key)
	[__glibcxx_associative_heterogeneous_erasure]: Changed guard.
	* include/bits/stl_tree.h (std::__heterogeneous_tree_key)
	[__glibcxx_associative_heterogeneous_erasure]: Likewise.
	* include/bits/stl_function.h: Add comment with C++ version
	for __glibcxx_associative_heterogeneous_erasure guard.

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

	* include/bits/stl_function.h (concept __heterogeneous_key):
	Guard with __glibcxx_associative_heterogeneous_erasure

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

	PR libstdc++/120567
	* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Include "__sync_" in
	grep command to check for extern calls to libatomic.
	* configure: Regenerate.

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

	* testsuite/Makefile.am (new-abi-baseline): Overwrite existing
	file instead of creating baseline_symbols.txt.new.
	* testsuite/Makefile.in: Regenerate.

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

	* include/bits/stl_function.h (__heterogeneous_key): Use
	C++17-defined remove_cvref<>::type instead.

2026-02-05  Caolán McNamara  <caolanm@gmail.com>

	* include/bits/regex.tcc (regex_traits::lookup_collatename):
	Make __collatenames array const.

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

	* include/std/contracts (contract_violation::location): Use
	source_location default constructor and then set _M_impl.
	* include/std/source_location (source_location(const void*)):
	Remove constructor.
	* testsuite/18_support/contracts/includes.cc: Move to...
	* testsuite/18_support/contracts/srcloc.cc: ...here. Test for
	ambiguity caused by new constructor.

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

	* python/libstdcxx/v6/printers.py (SharedPointerPrinter): Only
	use gdb.Type.is_scalar if supported.
	* testsuite/libstdc++-prettyprinters/compat.cc: Test printer for
	old implementation of std::atomic<std::shared_ptr<T>>.

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

	* testsuite/28_regex/algorithms/regex_match/multiline.cc: Add
	string to static_assert.
	* testsuite/28_regex/sub_match/lwg3204.cc: Likewise.

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

	PR libstdc++/117404
	* include/bits/version.def (associative_heterogeneous_erasure):
	Define.
	* include/bits/version.h: Regenerate.
	* include/std/map: Request new feature from version.h.
	* include/std/set: Same.
	* include/std/unordered_map: Same.
	* include/std/unordered_set: Same.
	* include/bits/stl_map.h (extract, erase): Define overloads.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/unordered_map.h: Same, 2x.
	* include/bits/unordered_set.h: Same, 2x.
	* include/bits/stl_function.h (concepts __not_container_iterator,
	__heterogeneous_key): Define.
	* include/bits/hashtable.h (_M_find_before_node, _M_locate, extract):
	Delegate to more-general _tr version.
	(_M_find_before_node_tr, _M_locate_tr, _M_extract_tr, _M_erase_tr):
	Add new members to support a heterogeneous key argument.
	(_M_erase_some): Add new helper function.
	(concept __heterogeneous_hash_key): Define.
	* include/bits/stl_tree.h (_M_lower_bound_tr, _M_upper_bound_tr,
	_M_erase_tr, _M_extract_tr): Add new members to support a
	heterogeneous key argument.
	(concept __heterogeneous_tree_key): Define.
	* testsuite/23_containers/map/modifiers/hetero/erase.cc: New test.
	* testsuite/23_containers/multimap/modifiers/hetero/erase.cc: Same.
	* testsuite/23_containers/multiset/modifiers/hetero/erase.cc: Same.
	* testsuite/23_containers/set/modifiers/hetero/erase.cc: Same.
	* testsuite/23_containers/unordered_map/modifiers/hetero/erase.cc: Same.
	* testsuite/23_containers/unordered_multimap/modifiers/hetero/erase.cc:
	Same.
	* testsuite/23_containers/unordered_multiset/modifiers/hetero/erase.cc:
	Same.
	* testsuite/23_containers/unordered_set/modifiers/hetero/erase.cc: Same.

2026-02-03  Marek Polacek  <polacek@redhat.com>

	* include/bits/new_allocator.h (__new_allocator::allocate,
	__new_allocator::deallocate): Add missing constexpr.

2026-02-03  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/123921
	* include/bits/version.def (define_static): New with the
	same values as reflection.
	* include/bits/version.h: Regenerate.
	* include/std/meta: Define also __glibcxx_want_define_static before
	including bits/version.h.

2026-02-02  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex_executor.tcc (_ExecutorFrameBase):
	Zero-initialize _M_byte0.
	(_ExecutorFrameBase::_M_end): Rename to ...
	(_ExecutorFrameBase::_M_subexpr_end): ... this.
	(_Executor::_M_handle_subexpr_begin): Remove now redundant
	clearing of _M_subexpr_end.
	(_Executor::_M_handle_subexpr_end): Adjust after renaming.
	(_Executor::_M_dfs) <case _S_fopcode_restore_cur_results>:
	Likewise.

2026-01-31  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex_executor.tcc (_ExecutorFrameBase): Add
	#pragma GCC diagnostic to suppress -Wpedantic warning about
	anonymous structs.

2026-01-30  Patrick Palka  <ppalka@redhat.com>

	* include/bits/regex_executor.tcc (__detail::_Executor::_M_node)
	[__OPTIMIZE__]: Add [[gnu::always_inline]] attribute.  Declare
	inline.

2026-01-30  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/86164
	* include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode):
	Remove _S_fopcode_restore_current.
	(__detail::_Executor::_M_handle_repeat): Pass _M_current when
	pushing a fallback_next or fallback_rep_once_more frame.
	(__detail::_Executor::_M_handle_match): Don't push a
	restore_current frame.
	(__detail::_Executor::_M_handle_backref): Likewise and simplify
	accordingly.
	(__detail::_Executor::_M_handle_alternative): Pass _M_current when
	pushing a fallback_next or posix_alternative frame.
	(__detail::_Executor::_M_dfs) <case _S_fopcode_fallback_next>:
	Restore _M_current.
	<case _S_fopcode_fallback_rep_once_more>: Likewise.
	<case _S_fopcode_posix_alternative>: Likewise.
	<case _S_fopcode_restore_current>: Remove.

2026-01-30  Patrick Palka  <ppalka@redhat.com>

	PR libstdc++/86164
	* include/bits/regex.h (__detail::_Executor): Use inline
	namespace _V2.
	* include/bits/regex_executor.h (__detail::_ExecutorFrame):
	Declare.
	(__detail::_Executor): Use inline namespace _V2.
	(__detail::_Executor::_M_node): Declare.
	(__detail::_Executor::_M_frames): New data member.
	* include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode):
	New.
	(__detail::_ExecutorFrameBase): New.
	(__detail::_ExecutorFrame): New.
	(__detail::_Executor): Use inline namespace _V2.
	(__detail::_Executor::_M_rep_once_more): Replace recursive
	_M_dfs calls with an _S_opcode_next frame push, and any work
	after such calls with an appropriate frame push.
	(__detail::_M_handle_repeat): Likewise.
	(__detail::_M_handle_subexpr_begin): Likewise.
	(__detail::_M_handle_subexpr_end): Likewise.
	(__detail::_M_handle_line_begin_assertion): Likewise.
	(__detail::_M_handle_line_end_assertion): Likewise.
	(__detail::_M_handle_word_boundary): Likewise.
	(__detail::_M_handle_subexpr_lookahead): Likewise.
	(__detail::_M_handle_match): Likewise.
	(__detail::_M_handle_backref): Likewise.
	(__detail::_M_handle_accept): Likewise.
	(__detail::_M_handle_alternative): Likewise.
	(__detail::_M_node): Factored out from _M_dfs.
	(__detail::_M_dfs): Push an initial frame to _M_frames that
	visits the starting node and pass this stack each subroutine.
	Pop the latest _ExecutorFrame from _M_frames and handle
	appropriately according to its _ExecutorFrameOpcode.  Loop until
	_M_frames is empty.

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

	* include/std/expected (__expected::__trivially_replaceable)
	(__expected::__usable_for_assign)
	(__expected::__usable_for_trivial_assign)
	(__expected::__can_reassign_type): New concepts.
	(expected::operator=): Adjust constraints
	on existing overloads and add defaulted overload.
	(expected<cv void, E>::operator=): Likewise.
	* testsuite/20_util/expected/requirements.cc: Check for trivial
	and nothrow properties of assignments.

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

	* include/std/source_location: Check __glibcxx_contracts instead
	of __cpp_lib_contracts.
	* testsuite/18_support/contracts/includes.cc: New test.

2026-01-29  vspefs  <vspefs@protonmail.com>

	* src/c++23/std.cc.in (invoke_default_violation_handler): Change
	to invoke_default_contract_violation_handler.

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

	* include/std/contracts: Replace non-ASCII characters.

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

	* src/experimental/Makefile.am: Change AM_CXXFLAGS to use C++20
	by default.

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

	* src/experimental/contract26.cc: Use #error if built without
	contracts support enabled.
	* include/std/source_location: Remove stray whitespace.

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

	PR tree-optimization/122197
	* include/bits/shared_ptr_base.h (~_Sp_counted_deleter): Use
	diagnostic pragam to disable -Wfree-nonheap-object false
	positive.
	(~_Sp_counted_ptr_inplace): Likewise for -Warray-bounds false
	positive.

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

	* config/locale/gnu/ctype_members.cc (use_table): New function.
	(ctype<wchar_t>::do_narrow): Use use_table.

2026-01-28  Soumya AR  <soumyaa@nvidia.com>

	* include/bits/atomic_base.h:
	Add fetch_min and fetch_max memberfunctions.
	* include/bits/version.def:
	Add __cpp_lib_atomic_min_max feature test macro.
	* include/bits/version.h (defined): Regenerate.
	* include/std/atomic: Extend for fetch_min/max non-member functions.
	* src/c++23/std.cc.in: Export atomic_fetch_min, atomic_fetch_max,
	atomic_fetch_min_explicit, atomic_fetch_max_explicit.
	* testsuite/29_atomics/atomic_integral/nonmembers_fetch_minmax.cc:
	New test.
	* testsuite/29_atomics/atomic_ref/integral_fetch_minmax.cc: New test.

2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>
	    Ville Voutilainen  <ville.voutilainen@gmail.com>

	* include/Makefile.am: Add contract include.
	* include/Makefile.in: Regenerate.
	* include/bits/version.def: Add ftm for contracts.
	* include/bits/version.h: Regenerate.
	* include/precompiled/stdc++.h: Add contracts header.
	* include/std/source_location: Befriend the contract_violation
	class so that we can initialise a source_location from an
	existing __impl *.
	* src/c++23/std.cc.in: Add contracts support.
	* src/experimental/Makefile.am: Add new contract violation
	implementation, remove the old one.
	* src/experimental/Makefile.in: Regenerate.
	* include/experimental/contract: Removed.
	* src/experimental/contract.cc: Removed.
	* include/std/contracts: New file.
	* src/experimental/contract26.cc: New file.
	* testsuite/18_support/contracts/invoke_default_cvh.cc: New test.
	* testsuite/18_support/contracts/invoke_default_cvh2.cc: New test.

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

	PR libstdc++/123758
	* include/bits/funcwrap.h (_Cpy_base(_Cpy_base const&)):
	Explicitly call _Mo_base() in initializer list.

2026-01-22  Frank Scheiner  <frank.scheiner@web.de>

	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt:
	Regenerate.

2026-01-20  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/version.def (reflection): Add cxx11abi = yes;.
	* include/bits/version.h: Regenerate.

2026-01-19  Tomasz Kamiński  <tkaminsk@redhat.com>

	PR libstdc++/114153
	* include/bits/ranges_cmp.h (__detail::__less_builtin_ptr_cmp):
	Add __not_overloaded_spaceship spaceship check.
	* include/bits/stl_function.h (greater<void>::operator())
	(less<void>::operator(), greater_equal<void>::operator())
	(less_equal<void>::operator()): Implement using if constexpr.
	(greater<void>::__S_cmp, less<void>::__S_cmp)
	(greater_equal<void>::__ptr_comp, less_equal<void>::S_cmp):
	Remove.
	(greater<void>::__ptr_cmp, less<void>::__ptr_cmp)
	(greater_equal<void>::__ptr_comp, less_equal<void>::ptr_cmp): Change
	tostatic constexpr variable. Define in terms of requires expressions
	and __not_overloaded_spaceship check.
	* include/std/concepts: (__detail::__not_overloaded_spaceship):
	Define.
	* libsupc++/compare: (__detail::__3way_builtin_ptr_cmp): Use
	__not_overloaded_spaceship concept.
	* testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc: New test.

2026-01-19  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/erase_if.h (__detail::__erase_if): Pass mutable
	iterators to __cont.erase.

2026-01-19  François Dumont  <frs.dumont@gmail.com>

	* include/bits/erase_if.h (__detail::__erase_if): New.
	* include/debug/deque (std::erase_if<>(__debug::deque<>&, _Pred)): Use latter.
	* include/debug/inplace_vector (std::erase_if<>(__debug::inplace_vector<>&, _Pred)):
	Likewise.
	* include/debug/vector (std::erase_if<>(__debug::vector<>&, _Pred)): Likewise.
	* include/std/deque: Include erase_if.h.
	(std::erase_if<>(std::vector<>&, _Pred)): Adapt to use __detail::__erase_if.
	* include/std/inplace_vector (std::erase_if<>(std::inplace_vector<>&, _Pred)):
	Likewise.
	* include/std/string (std::erase_if<>(std::basic_string<>&, _Pred)): Likewise.
	* include/std/vector (std::erase_if<>(std::vector<>&, _Pred)): Likewise.
	* include/debug/forward_list
	(std::erase_if<>(__debug::forward_list<>&, _Pred)): New.
	(std::erase<>(__debug::forward_list<>&, const _Up&)): New.
	* include/debug/list
	(std::erase_if<>(__debug::list<>&, _Pred)): New.
	(std::erase<>(__debug::list<>&, const _Up&)): New.
	* include/debug/map (std::erase_if<>(__debug::map<>&, _Pred)): New.
	(std::erase_if<>(__debug::multimap<>&, _Pred)): New.
	* include/debug/set (std::erase_if<>(__debug::set<>&, _Pred)): New.
	(std::erase_if<>(__debug::multiset<>&, _Pred)): New.
	* include/debug/string
	(std::erase_if<>(__gnu_debug::basic_string<>&, _Pred)): New.
	(std::erase<>(__gnu_debug::basic_string<>&, const _Up&)): New.
	* include/debug/unordered_map
	(std::erase_if<>(__debug::unordered_map<>&, _Pred)): New.
	(std::erase_if<>(__debug::unordered_multimap<>&, _Pred)): New.
	* include/debug/unordered_set
	(std::erase_if<>(__debug::unordered_set<>&, _Pred)): New.
	(std::erase_if<>(__debug::unordered_multiset<>&, _Pred)): New.
	* include/std/forward_list (std::erase_if<>(std::forward_list<>&, _Pred)):
	Adapt to work exclusively for normal implementation.
	(std::erase<>(std::forward_list<>&, const _Up&)): Likewise.
	* include/std/list (std::erase_if<>(std::list<>&, _Pred)): Likewise.
	(std::erase<>(std::list<>&, const _Up&)): Likewise.
	* include/std/map (std::erase_if<>(std::map<>&, _Pred)): Likewise.
	(std::erase_if<>(std::multimap<>&, _Pred)): Likewise.
	Guard functions using __cpp_lib_erase_if.
	* include/std/set (std::erase_if<>(std::set<>&, _Pred)): Likewise.
	(std::erase_if<>(std::multiset<>&, _Pred)): Likewise.
	Guard functions using __cpp_lib_erase_if.
	* include/std/unordered_map
	(std::erase_if<>(std::unordered_map<>&, _Pred)): Likewise.
	(std::erase_if<>(std::unordered_multimap<>&, _Pred)): Likewise.
	Guard functions using __cpp_lib_erase_if.
	* include/std/unordered_set
	(std::erase_if<>(std::unordered_set<>&, _Pred)): Likewise.
	(std::erase_if<>(std::unordered_multiset<>&, _Pred)): Likewise.
	Guard functions using __cpp_lib_erase_if.
	* testsuite/21_strings/basic_string/debug/erase.cc: New test case.
	* testsuite/23_containers/forward_list/debug/erase.cc: New test case.
	* testsuite/23_containers/forward_list/debug/invalidation/erase.cc: New test case.
	* testsuite/23_containers/list/debug/erase.cc: New test case.
	* testsuite/23_containers/list/debug/invalidation/erase.cc: New test case.
	* testsuite/23_containers/map/debug/erase_if.cc: New test case.
	* testsuite/23_containers/map/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/multimap/debug/erase_if.cc: New test case.
	* testsuite/23_containers/multimap/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/multiset/debug/erase_if.cc: New test case.
	* testsuite/23_containers/multiset/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/set/debug/erase_if.cc: New test case.
	* testsuite/23_containers/set/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_map/debug/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_multimap/debug/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_multiset/debug/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_set/debug/erase_if.cc: New test case.
	* testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc: New test case.

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

	* include/std/type_traits (std::is_reflection, std::is_fundamental,
	std::is_reflection_v, std::is_consteval_only): Compare
	__cpp_impl_reflection >= 202506L instead of 202500L.
	* testsuite/20_util/variable_templates_for_traits.cc: Likewise.

2026-01-15  Marek Polacek  <polacek@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR c++/120775
	PR c++/123081
	PR c++/122634
	* include/Makefile.am (std_headers): Add ${std_srcdir}/meta.
	* include/Makefile.in: Regenerate.
	* include/bits/iterator_concepts.h (std::ranges::__access::__begin): Add
	constexpr.
	* include/bits/version.def (reflection): New.
	* include/bits/version.h: Regenerate.
	* include/precompiled/stdc++.h: Include <meta> for C++26.
	* include/std/meta: New file.
	* include/std/type_traits (std::is_reflection): New trait.
	(std::is_fundamental): Include is_reflection for C++26 -freflection.
	(std::is_reflection_v): New variable template.
	(std::is_consteval_only): New trait.
	(std::is_consteval_only_v): New variable template.
	* src/c++23/std.cc.in: Add <meta> exports.
	* testsuite/20_util/variable_templates_for_traits.cc: Add -freflection as
	dg-additional-options for C++26.  Add std::is_reflection_v test in that case.
	* testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc: New test.
	* testsuite/20_util/is_consteval_only/requirements/typedefs.cc: New test.
	* testsuite/20_util/is_consteval_only/value.cc: New test.
	* testsuite/20_util/is_reflection/requirements/explicit_instantiation.cc: New test.
	* testsuite/20_util/is_reflection/requirements/typedefs.cc: New test.
	* testsuite/20_util/is_reflection/value.cc: New test.

2026-01-14  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/util/testsuite_iterators.h: Modify comment.

2026-01-13  Tomasz Kamiński  <tkaminsk@redhat.com>

	* include/bits/stl_heap.h (std::__is_heap_until, std::__push_heap)
	(std::__adjust_heap): Replace subscript with dereference of
	advanced iterator.
	* testsuite/util/testsuite_iterators.h (__gnu_test::subscript_proxy)
	(__gnu_test::proxy_random_access_iterator_wrapper): Define.
	* testsuite/25_algorithms/sort_heap/check_proxy_brackets.cc: New test.

2026-01-12  Jakub Jelinek  <jakub@redhat.com>

	* config/abi/pre/gnu.ver (CXXABI_1.3.14): Don't export _ZTI*DF16_ on
	s390x.
	(CXXABI_1.3.17): Export _ZTI*DF16_ on s390x.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Remove
	_ZTI{,P,K}DF16_.

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

	* src/c++20/atomic.cc (__detail::__spin_impl): Do not use
	reserved names for variables.

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

	* include/bits/atomic_wait.h (__wait_args): Improve comments.
	* src/c++20/atomic.cc (__wait_args::_M_setup_proxy_wait):
	Improve comment.

2026-01-12  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
	Updated test.

2026-01-10  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Add
	names {,P,K}DF16.

2026-01-10  Wang Jinghao  <zheng.xianyuwang@gmail.com>

	* src/c++11/system_error.cc (system_error_category) [_WIN32]:
	Use FormatMessageA function instead of FormatMessage macro.
	* testsuite/19_diagnostics/error_category/system_category.cc:
	Fix typo in __MINGW32__ macro name.  Adjust behavior on the
	mingw32 target.

2026-01-10  Yuao Ma  <c8ef@outlook.com>

	* include/bits/version.def: Add FTM.
	* include/bits/version.h: Regenerate.
	* include/std/flat_map: Add constexpr.
	* testsuite/23_containers/flat_map/1.cc: Add constexpr test.
	* testsuite/23_containers/flat_multimap/1.cc: Add constexpr test.

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

	* src/c++20/atomic.cc (use_proxy_wait): Remove unused second
	parameter.
	(__wait_args::_M_setup_proxy_wait): Remove second argument.
	(__notify_impl): Likewise.

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

	* include/bits/atomic_timed_wait.h (__atomic_wait_address_until):
	Use _M_on_wake instead of _M_setup_wait after waking.
	(__atomic_wait_address_for): Likewise.
	* include/bits/atomic_wait.h (__atomic_wait_address): Likewise.
	(__wait_args::_M_setup_wait): Remove third parameter and move
	code to update _M_old to ...
	(__wait_args::_M_on_wake): New member function to update _M_old
	after waking, only calling _M_setup_proxy_wait if needed.
	(__wait_args::_M_store): New member function to update _M_old
	from a value, for non-proxy waits.
	* src/c++20/atomic.cc (__wait_args::_M_setup_proxy_wait): If
	_M_obj is not addr, only load a new value and return true.

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

	PR libstdc++/122878
	* include/bits/semaphore_base.h (_M_try_acquire): Replace
	_M_try_acquire_for call with explicit loop and call to
	__atomic_wait_address_for.
	(_M_try_acquire_for): Replace loop with call to
	_M_try_acquire_until.

2026-01-09  Keith Packard  <keithp@keithp.com>

	* acinclude.m4 (GLIBCXX_CONFIGURE): Add --with-picolibc.
	* configure: Regenerate.
	* configure.ac: Add handling for with_picolibc=yes.
	* config/os/picolibc/ctype_base.h: New file.
	* config/os/picolibc/ctype_configure_char.cc: New file.
	* config/os/picolibc/ctype_inline.h: New file.
	* config/os/picolibc/os_defines.h: New file.

2026-01-08  Tomasz Kamiński  <tkaminsk@redhat.com>

	* testsuite/20_util/variant/constinit.cc: Use scan-tree-dump
	for matching of constructor.
	* testsuite/20_util/variant/constinit_compat.cc: Likewise.
	* testsuite/lib/libstdc++.exp: Load scantree.exp and scandump.exp.

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

	PR libstdc++/123100
	* include/std/sstream (basic_stringbuf::str()&&): Handle the
	case where _M_string is not being used for the buffer.
	* testsuite/27_io/basic_stringbuf/str/char/123100.cc: New test.

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

	* include/bits/atomic_wait.h (__wait_args::_M_setup_wait):
	Remove unreachable return statement.

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

	PR libstdc++/123406
	* acinclude.m4 (GLIBCXX_CHECK_STDIO_LOCKING): Override detection
	of flockfile for non-cygwin newlib targets.
	* configure: Regenerate.

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

	PR libstdc++/123378
	* include/std/barrier (~__tree_barrier_base): Define.

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

	PR libstdc++/123183
	PR libstdc++/123326
	* libsupc++/exception (std::bad_exception::~bad_exception(),
	std::bad_exception::what()): Add inline keyword and
	[[__gnu__::__gnu_inline__]] attribute to the C++26 constexpr
	exceptions definitions.
	* libsupc++/exception.h (std::exception::~exception(),
	std::exception::what()): Likewise.
	* libsupc++/exception_ptr.h (std::exception_ptr::exception_ptr(void*)):
	Likewise.
	* libsupc++/nested_exception.h
	(std::nested_exception::~nested_exception()): Likewise.
	* libsupc++/typeinfo (std::bad_cast::~bad_cast(),
	std::bad_cast::what(), std::bad_typeid::~bad_typeid(),
	std::bad_typeid::what()): Likewise.
	* include/bits/new_except.h (std::bad_alloc::~bad_alloc(),
	std::bad_alloc::what(),
	std::bad_array_new_length::~bad_array_new_length(),
	std::bad_array_new_length::what()): Likewise.
	* include/bits/stdexcept_except.h
	(std::logic_error::logic_error(const string&),
	std::logic_error::logic_error(const char*),
	std::logic_error::~logic_error(), std::logic_error::what(),
	std::domain_error::domain_error(const string&),
	std::domain_error::domain_error(const char*),
	std::invalid_argument::invalid_argument(const string&),
	std::invalid_argument::invalid_argument(const char*),
	std::length_error::length_error(const string&),
	std::length_error::length_error(const char*),
	std::out_of_range::out_of_range(const string&),
	std::out_of_range::out_of_range(const char*),
	std::runtime_error::runtime_error(const string&),
	std::runtime_error::runtime_error(const char*),
	std::runtime_error::~runtime_error(), std::runtime_error::what(),
	std::overflow_error::overflow_error(const string&),
	std::overflow_error::overflow_error(const char*),
	std::overflow_error::~overflow_error(),
	std::underflow_error::underflow_error(const string&),
	std::underflow_error::underflow_error(const char*),
	std::underflow_error::~underflow_error()): Likewise.
	(std::domain_error::~domain_error(),
	std::invalid_argument::~invalid_argument(),
	std::length_error::~length_error(),
	std::out_of_range::~out_of_range()): Likewise.  Also change
	_GLIBCXX_NOTHROW to noexcept on those definitions.


Copyright (C) 2026 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.
