[gcc r16-4310] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Thu Oct 9 00:22:24 GMT 2025


https://gcc.gnu.org/g:954b679175190d06c0ceaf3aaea648c874497d71

commit r16-4310-g954b679175190d06c0ceaf3aaea648c874497d71
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Thu Oct 9 00:21:21 2025 +0000

    Daily bump.

Diff:
---
 contrib/ChangeLog       |  17 ++++++
 gcc/ChangeLog           |  67 +++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/c-family/ChangeLog  |   6 ++
 gcc/c/ChangeLog         |  23 ++++++++
 gcc/cp/ChangeLog        |   7 +++
 gcc/fortran/ChangeLog   |  32 +++++++++++
 gcc/jit/ChangeLog       |  33 +++++++++++
 gcc/testsuite/ChangeLog |  87 ++++++++++++++++++++++++++++
 libcpp/ChangeLog        |  13 +++++
 libstdc++-v3/ChangeLog  | 150 ++++++++++++++++++++++++++++++++++++++++++++++++
 11 files changed, 436 insertions(+), 1 deletion(-)

diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 2938e98a104e..55737ced848a 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,20 @@
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* unicode/README: Add HangulSyllableType.txt file to the
+	list as newest utf8_gen.py from glibc now needs it.  Adjust
+	git commit hash and change unicode 16 version to 17.
+	* unicode/from_glibc/utf8_gen.py: Updated from glibc.
+	* unicode/DerivedCoreProperties.txt: Updated from Unicode 17.0.0.
+	* unicode/emoji-data.txt: Likewise.
+	* unicode/PropList.txt: Likewise.
+	* unicode/GraphemeBreakProperty.txt: Likewise.
+	* unicode/DerivedNormalizationProps.txt: Likewise.
+	* unicode/NameAliases.txt: Likewise.
+	* unicode/UnicodeData.txt: Likewise.
+	* unicode/EastAsianWidth.txt: Likewise.
+	* unicode/DerivedGeneralCategory.txt: Likewise.
+	* unicode/HangulSyllableType.txt: New file.
+
 2025-10-05  Mark Wielaard  <mark@klomp.org>
 
 	* gcc-changelog/git_update_version.py (ignored_commits): Add
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0dec12e27852..19a17a393597 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,70 @@
+2025-10-08  Antoni Boucher  <bouanto@zoho.com>
+
+	* configure: Regenerate.
+
+2025-10-08  Trevor Gross  <tmgross@umich.edu>
+
+	PR target/115054
+	* config/i386/i386.cc (function_arg_ms_64,
+	function_value_ms_64): Pass and return _Float16 in vector
+	registers on Windows.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/110223
+	PR tree-optimization/122128
+	* tree-vect-patterns.cc (vect_recog_bool_pattern): Add
+	compensation for mixed mask/data bitwise operations.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-patterns.cc (integer_type_for_mask): Only
+	reject vect_external_defs.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	* doc/tm.texi.in (JIT Language and ABI): Add menu item.
+	* doc/tm.texi: Re-generate.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/110223
+	* tree-vect-patterns.cc (vect_recog_bool_pattern): Fix
+	mistakes in the store-from-mask bool pattern.  Add
+	required mask conversions.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/105490
+	* tree-vect-patterns.cc (build_mask_conversion): Move earlier.
+	(vect_convert_mask_for_vectype): Likewise.
+	(vect_recog_bool_pattern): Remove redundant truth type
+	construction.  Add missing possibly required mask conversion.
+
+2025-10-08  Antoni Boucher  <bouanto@zoho.com>
+
+	PR jit/112466
+	* Makefile.in (tm_jit_file_list, tm_jit_include_list, TM_JIT_H,
+	JIT_TARGET_DEF, JIT_TARGET_H, JIT_TARGET_OBJS): New variables.
+	(tm_jit.h, cs-tm_jit.h, jit/jit-target-hooks-def.h,
+	s-jit-target-hooks-def-h, default-jit.o): New rules.
+	(s-tm-texi): Also check timestamp on jit-target.def.
+	(generated_files): Add TM_JIT_H and jit/jit-target-hooks-def.h.
+	(build/genhooks.o): Also depend on JIT_TARGET_DEF.
+	* config.gcc (tm_jit_file, jit_target_objs, target_has_targetjitm):
+	New variables.
+	* config/i386/t-i386 (i386-jit.o): New rule.
+	* configure: Regenerate.
+	* configure.ac (tm_jit_file_list, tm_jit_include_list,
+	jit_target_objs): Add substitutes.
+	* doc/tm.texi: Regenerate.
+	* doc/tm.texi.in (targetjitm): Document.
+	(target_has_targetjitm): Document.
+	* genhooks.cc: Include jit/jit-target.def.
+	* config/default-jit.cc: New file.
+	* config/i386/i386-jit.cc: New file.
+	* config/i386/i386-jit.h: New file.
+
 2025-10-07  Alfie Richards  <alfie.richards@arm.com>
 
 	* doc/tm.texi: Regenerate.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index b95af03f6e9b..80c58c12bccf 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20251008
+20251009
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 465ab18c7d82..1142d0640640 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/122188
+	* c-gimplify.cc (c_gimplify_expr): Gimplify CALL_EXPR_ARG (*expr_p, 0)
+	instead of calling save_expr on it.
+
 2025-10-04  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c++/114457
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 5b6a56e3c421..241e71bf25ce 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,26 @@
+2025-10-08  Joseph Myers  <josmyers@redhat.com>
+
+	* c-typeck.cc (in_generic, save_maybe_used, restore_maybe_used):
+	New.
+	(mark_decl_used, record_maybe_used_decl, pop_maybe_used): Use
+	in_generic.
+	(struct maybe_used_decl): Move to c-tree.h.
+	* c-tree.h (struct maybe_used_decl): Move from c-typeck.cc.
+	(in_generic, save_maybe_used, restore_maybe_used): Declare.
+	* c-parser.cc (c_parser_generic_selection): Increment and
+	decrement in_generic.  Use pop_maybe_used, save_maybe_used and
+	restore_maybe_used.
+
+2025-10-08  Martin Uecker  <uecker@tugraz.at>
+
+	* c-parser.cc (c_parser_generic_selection): Change
+	error_at to pedwarn_c23.
+
+2025-10-08  Alfie Richards  <alfie.richards@arm.com>
+
+	PR target/122180
+	* c-decl.cc (pushdecl): Add TARGET_HAS_FMV_TARGET_ATTRIBUTE check.
+
 2025-10-07  Joseph Myers  <josmyers@redhat.com>
 
 	PR c/26581
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 26434756b336..5099caab06d1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2025-10-08  Jason Merrill  <jason@redhat.com>
+
+	* init.cc (build_new_1): Also clobber for non-placement new.
+	Only loop clobber in constexpr.
+	* expr.cc (wrap_with_if_consteval): New.
+	* cp-tree.h (wrap_with_if_consteval): Declare.
+
 2025-10-07  Jason Merrill  <jason@redhat.com>
 
 	* init.cc (build_new_1): Clobber a constant-bound array as a whole.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b57bfb9d513a..08bc1b3d8bf0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,35 @@
+2025-10-08  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/49111
+	* decl.cc (verify_bind_c_sym): Modify condition for generation of
+	accessibility warning, and adjust warning message.
+
+2025-10-08  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/93175
+	PR fortran/102240
+	PR fortran/102686
+	* array.cc (match_array_element_spec): For pdt templates, call
+	gfc_correct_parm_expr to elimante extraneous symbols from the
+	bound expressions.
+	* decl.cc (correct_parm_expr, gfc_correct_parm_expr): New fcns
+	that remove symbols that are not PDT parameters from the type
+	specification expressions.
+	(insert_parameter_exprs): Process function symbols as if they
+	are variables in the substitution with parameter expressions.
+	(gfc_get_pdt_instance): Make sure that the parameter list of
+	PDT components is updated as the instance is built. Move the
+	construction of pdt_strings down a bit in the function and
+	remove the tie up with pdt_arrays.
+	* gfortran.h: Add prototype for gfc_correct_parm_expr.
+	* resolve.cc (resolve_component): Skip testing for constant
+	specification expressions in pdt_template component string
+	lengths and pdt_strings.
+	* trans-array.cc (structure_alloc_comps): Remove testing for
+	deferred parameters and instead make sure that components of
+	PDT type have parameters substituted with the parameter exprs
+	of the enclosing PDT.
+
 2025-10-07  Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/102901
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog
index 7e31500bae0b..1577ea06aac5 100644
--- a/gcc/jit/ChangeLog
+++ b/gcc/jit/ChangeLog
@@ -1,3 +1,36 @@
+2025-10-08  Antoni Boucher  <bouanto@zoho.com>
+
+	PR jit/112466
+	* Make-lang.in (JIT_OBJS): New variable.
+	* jit-playback.cc (replay): Include jit-target.h and initialize
+	target.
+	* jit-playback.h (class populate_target_info): New class.
+	* jit-recording.cc (recording::context::populate_target_info): New
+	method.
+	* jit-recording.h (recording::context::populate_target_info): New
+	method.
+	(recording::context::m_populated_target_info): New field.
+	* libgccjit.cc: Include jit-target.h.
+	(struct gcc_jit_target_info): New struct.
+	(gcc_jit_context_get_target_info, gcc_jit_target_info_release,
+	gcc_jit_target_info_cpu_supports, gcc_jit_target_info_arch,
+	gcc_jit_target_info_supports_target_dependent_type): New functions.
+	* libgccjit.h (gcc_jit_context_get_target_info,
+	gcc_jit_target_info_release, gcc_jit_target_info_cpu_supports,
+	gcc_jit_target_info_arch,
+	gcc_jit_target_info_supports_target_dependent_type):
+	New functions.
+	* libgccjit.map (LIBGCCJIT_ABI_35): New ABI tag.
+	* docs/topics/compilation.rst: Add documentation for the
+	functions gcc_jit_context_get_target_info, gcc_jit_target_info_release,
+	gcc_jit_target_info_cpu_supports, gcc_jit_target_info_arch,
+	gcc_jit_target_info_supports_target_dependent_type.
+	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_35): New ABI tag.
+	* jit-target-def.h: New file.
+	* jit-target.cc: New file.
+	* jit-target.def: New file.
+	* jit-target.h: New file.
+
 2025-10-07  Jonathan Wakely  <jwakely@redhat.com>
 
 	* docs/_build/texinfo/libgccjit.texi: Fix spelling.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ff10abf7b227..3b6a2744e0b4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,90 @@
+2025-10-08  Joseph Myers  <josmyers@redhat.com>
+
+	* gcc.dg/c11-generic-4.c, gcc.dg/c23-generic-5.c,
+	gcc.dg/c2y-generic-5.c: New tests.
+
+2025-10-08  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/49111
+	* gfortran.dg/binding_label_tests_9.f03: Adjust test.
+	* gfortran.dg/module_private_2.f90: Likewise.
+	* gfortran.dg/public_private_module_2.f90: Likewise.
+	* gfortran.dg/binding_label_tests_35.f90: New test.
+
+2025-10-08  Martin Uecker  <uecker@tugraz.at>
+
+	* gcc.dg/c11-generic-2.c: Adapt error message.
+	* gcc.dg/c2y-generic-3.c: Adapt test.
+	* gcc.dg/c2y-generic-4.c: New test.
+
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* c-c++-common/cpp/named-universal-char-escape-1.c: Add test for
+	\N{CJK UNIFIED IDEOGRAPH-3340E}.
+
+2025-10-08  Jason Merrill  <jason@redhat.com>
+
+	* g++.dg/analyzer/new-2.C: Adjust diags.
+	* g++.dg/analyzer/noexcept-new.C: Adjust diags.
+	* g++.dg/warn/Warray-bounds-23.C: Add warnings.
+	* g++.dg/warn/Warray-bounds-24.C: Add warnings.
+	* g++.dg/cpp26/constexpr-new4a.C: New test.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/110223
+	PR tree-optimization/122128
+	* gcc.dg/vect/vect-bool-2.c: New testcase.
+	* gcc.dg/vect/vect-bool-cmp-3.c: Likewise.
+	* gcc.dg/vect/vect-bool-cmp-4.c: Likewise.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR testsuite/120100
+	* g++.dg/vect/pr64410.cc: Adjust.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR target/120091
+	* gcc.target/i386/pr119919.c: Only check for vectorization
+	when !ia32.
+
+2025-10-08  Alfie Richards  <alfie.richards@arm.com>
+
+	PR target/122180
+	* gcc.target/i386/pr122180.c: New test.
+
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/122188
+	* c-c++-common/pr122188.c: New test.
+
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/121206
+	* gcc.dg/pr121987.c (main): Use unsigned long long type for e instead
+	of unsigned long and use ULL suffix on the initializer.
+
+2025-10-08  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/93175
+	PR fortran/102240
+	PR fortran/102686
+	* gfortran.dg/pdt_55.f03: New test.
+
+2025-10-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/105490
+	* gcc.dg/vect/vect-cond-14.c: New testcase.
+
+2025-10-08  Antoni Boucher  <bouanto@zoho.com>
+
+	PR jit/112466
+	* jit.dg/all-non-failing-tests.h: Mention
+	test-target-info.c.
+	* jit.dg/test-target-info.c: New test.
+	* jit.dg/test-error-target-info.c: New test.
+
 2025-10-07  Joseph Myers  <josmyers@redhat.com>
 
 	PR c/26581
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 4a05748a368d..43d3f39dd086 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,16 @@
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* makeucnid.cc (write_copyright): Adjust copyright year.
+	* makeuname2c.cc (generated_ranges): Adjust end points for a couple
+	of ranges based on UnicodeData.txt Last changes and add a whole new
+	CJK UNIFIED IDEOGRAPH- entry.  None of these changes are in the 4-8
+	table, but clearly it has just been forgotten.
+	(write_copyright): Adjust copyright year.
+	(write_dict): Fix up condition when to print semicolon.
+	* generated_cpp_wcwidth.h: Regenerate.
+	* ucnid.h: Regenerate.
+	* uname2c.h: Regenerate.
+
 2025-09-23  David Malcolm  <dmalcolm@redhat.com>
 
 	PR diagnostics/121986
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e8f244b9364e..5eeb4cffdc22 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,153 @@
+2025-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/xml/manual/status_cxx2017.xml: Replace broken link to PSTL
+	upstream.
+	* doc/xml/manual/status_cxx2020.xml: Likewise.
+	* doc/html/manual/status.html: Regenerate.
+
+2025-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/cpu/i486/atomicity.h: Removed.
+
+2025-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/122172
+	* config/cpu/cris/atomicity.h: Removed.
+
+2025-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/indirect.h (indirect::operator=(indirect&&)):
+	Move assign allocator when POCMA is true.
+	(polymorphic::operator=(polymorphic&&)): Likewise.
+	* testsuite/std/memory/indirect/copy.cc: Remove constexpr from
+	functions that use tracker_allocator. Add test_constexpr().
+	* testsuite/std/memory/indirect/copy_alloc.cc: Remove constexpr
+	from all functions and remove static_assert.
+	* testsuite/std/memory/indirect/ctor.cc: Do not use
+	scoped_allocator_adaptor during constant evaluation.
+	* testsuite/std/memory/indirect/move.cc: Remove constexpr from
+	functions that use tracker_allocator. Add test_constexpr().
+	* testsuite/std/memory/indirect/move_alloc.cc: Remove constexpr
+	from all functions and remove static_assert.
+	* testsuite/std/memory/indirect/relops.cc: Invoke lambda in
+	static_assert.
+	* testsuite/std/memory/polymorphic/copy.cc: Remove constexpr
+	from functions that use tracker_allocator. Add test_constexpr().
+	* testsuite/std/memory/polymorphic/copy_alloc.cc: Remove
+	constexpr from all functions and remove static_assert.
+	* testsuite/std/memory/polymorphic/ctor.cc: Do not use
+	scoped_allocator_adaptor during constant evaluation.
+	* testsuite/std/memory/polymorphic/ctor_poly.cc: Likewise.
+	* testsuite/std/memory/polymorphic/move.cc: Remove constexpr
+	from functions that use tracker_allocator. Add test_constexpr().
+	* testsuite/std/memory/polymorphic/move_alloc.cc: Remove
+	constexpr from all functions and remove static_assert.
+	* testsuite/util/testsuite_allocator.h (tracker_allocator):
+	Remove redundant 'inline' from friend.
+	(uneq_allocator): Make all functions constexpr.
+	(uneq_allocator::base, uneq_allocator::swap_base): Remove.
+	(uneq_allocator::~uneq_allocator): Remove.
+	(uneq_allocator::allocate, uneq_allocator::deallocate): Do not
+	use map of allocations during constant evaluation.
+	(propagating_allocator): Make all functions constexpr.
+	(propagating_allocator::base): Remove.
+	(propagating_allocator::swap_base): Simplify.
+	(ExplicitConsAlloc, CustomPointerAlloc, NullablePointer): Add
+	constexpr to all functions.
+
+2025-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* include/bits/unicode-data.h: Regenerate.
+	* testsuite/ext/unicode/properties.cc: Test __is_extended_pictographic
+	on U+1F004 rather than U+1F000.
+
+2025-10-08  Tomasz Kamiński  <tkaminsk@redhat.com>
+
+	* include/bits/chrono_io.h (_ChronoData::_M_fill_day): Replace
+	'%' by '/'.
+
+2025-10-08  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/std/time/format/format.cc: Include <vector>.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	PR libstdc++/110352
+	* include/std/mdspan (submdspan_mapping_result): New class.
+	* src/c++23/std.cc.in (submdspan_mapping_result): Add.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	PR libstdc++/110352
+	* include/std/mdspan (full_extent_t): New class.
+	* src/c++23/std.cc.in (full_extent_t): Add.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	PR libstdc++/110352
+	* include/bits/version.def (submdspan): New internal macro.
+	* include/bits/version.h: Regenerate.
+	* include/std/mdspan (strided_slice): New class.
+	* src/c++23/std.cc.in (strided_slice): Add.
+	* testsuite/23_containers/mdspan/submdspan/strided_slice.cc: New test.
+	* testsuite/23_containers/mdspan/submdspan/strided_slice_neg.cc: New test.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	* include/std/mdspan (__mdspan::__index_type_cast): Optimize by
+	skipping a __glibcxx_assert if it's know at compile-time.
+	(std::layout_left_padded, std::layout_righ_padded): Reorder
+	is_always_strided and is_unique member functions.
+	* testsuite/23_containers/mdspan/int_like.h: Rename _M_i to
+	value.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	PR libstdc++/110352
+	* include/std/mdspan (_RightPaddedIndices): Traits for right
+	padded layouts.
+	(layout_right::mapping::mapping) New overload for right padded
+	layouts.
+	(layout_right_padded): Add implementation.
+	* src/c++23/std.cc.in (layout_right_padded): Add.
+	* testsuite/23_containers/mdspan/layouts/ctors.cc: Update
+	test for right padded layouts.
+	* testsuite/23_containers/mdspan/layouts/empty.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/mapping.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded_neg.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded_traits.h: Ditto.
+
+2025-10-08  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	PR libstdc++/110352
+	* include/bits/version.def (padded_layouts): Add new internal
+	feature testing macro.
+	* include/bits/version.h: Regenerate.
+	* include/std/mdspan (__fwd_prod): New overload.
+	(layout_left_padded): Add declaration and implementation.
+	(layout_right_padded): Add declaration only.
+	(layout_left::mapping::mapping): New overload for left
+	padded mappings.
+	(__index_type_cast): New function that performs a checked cast
+	to index_type.
+	(__is_left_padded_mapping): New concept.
+	(__is_right_padded_mapping): Ditto.
+	(__standardized_mapping): Recognize left and right padded
+	mappings.
+	(_LeftPaddedIndices): Traits for left padded details.
+	(_PaddedStorage): New class for implementing padded layouts.
+	* src/c++23/std.cc.in (layout_left_padded): Add.
+	* testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc:
+	Refactor and add tests for layout_left_padded.
+	* testsuite/23_containers/mdspan/layouts/ctors.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/empty.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/mapping.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded_neg.cc: Ditto.
+	* testsuite/23_containers/mdspan/layouts/padded_traits.h: New
+	traits.
+
 2025-10-07  Jonathan Wakely  <jwakely@redhat.com>
 
 	* configure.host: Fix spelling in comment.


More information about the Libstdc++-cvs mailing list