[gcc r16-5682] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Fri Nov 28 00:22:18 GMT 2025


https://gcc.gnu.org/g:c64308e297a13d0f0e19ec871b5e81348b4da484

commit r16-5682-gc64308e297a13d0f0e19ec871b5e81348b4da484
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Fri Nov 28 00:21:32 2025 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 126 ++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       | 150 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/analyzer/ChangeLog  |   6 ++
 gcc/c/ChangeLog         |   6 ++
 gcc/rust/ChangeLog      |  15 +++++
 gcc/testsuite/ChangeLog |  44 ++++++++++++++
 libgcc/ChangeLog        |   6 ++
 libstdc++-v3/ChangeLog  |  77 +++++++++++++++++++++++++
 9 files changed, 431 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2333706380ae..af44c22d36ba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,129 @@
+2025-11-27  Matthieu Longo  <matthieu.longo@arm.com>
+
+	* config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): Define
+	__ARM_BUILDATTR64_FV when BA support is detected in GAS.
+
+2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	* config/aarch64/aarch64.md (ctz<mode>2): Use compact syntax.
+
+2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	* config/aarch64/aarch64.md (ffs<mode>2): Use gen_ctz.
+	(ctz<mode>2): Model ctz as a single target instruction.
+
+2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	* config/aarch64/atomics.md (*dmb): Expand release fence into dmb ishld
+	and dmb ishst.
+
+2025-11-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	* tree-ssa-reassoc.cc (rewrite_expr_tree): Swap
+	oe1 and oe2 if commutative code and not in
+	canonical order.
+
+2025-11-27  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr-mcus.def (AVR_MCUS): Add avr16la14, avr16la20,
+	avr16la28, avr16la32, avr32la14, avr32la20, avr32la28, avr32la32.
+	* doc/avr-mmcu.texi: Rebuild.
+
+2025-11-27  Robin Dapp  <rdapp@ventanamicro.com>
+
+	PR tree-optimization/122855
+	PR tree-optimization/122850
+	* tree-ssa-forwprop.cc (simplify_vector_constructor): Nop
+	convert input if necessary.
+
+2025-11-27  Andrew Stubbs  <ams@baylibre.com>
+
+	* config/gcn/gcn.cc (gcn_init_cumulative_args): Emit a warning if the
+	-mxnack setting looks wrong.
+	* config/gcn/mkoffload.cc: Include tree.h and omp-general.h.
+	(process_asm): Add omp_requires parameter.
+	Emit HSA_XNACK code into mkoffload_setup, as required.
+	(main): Modify HSACO_ATTR_OFF to preserve user-set -mxnack.
+	Pass omp_requires to process_asm.
+
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/122714
+	* gimple-lower-bitint.cc (bitint_large_huge::limb_access): Adjust
+	MEM_REFs offset for bitint_big_endian if ltype doesn't have the
+	same byte size as m_limb_type.
+
+2025-11-27  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Fix
+	recording of the mask type again.  Adjust placing of
+	mask arguments for non-masked calls.
+
+2025-11-27  Dhruv Chawla  <dhruvc@nvidia.com>
+
+	PR tree-optimization/122733
+	* match.pd ((y << x) {<,<=,>,>=} x): Remove.
+	((y << x) {==,!=} x): Call constant_boolean_node instead of
+	build_one_cst/build_zero_cst and combine into one pattern.
+
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* fold-const.h (expr_not_equal_to): Add gimple * argument defaulted
+	to NULL.
+	* fold-const.cc (expr_not_equal_to): Likewise, pass it through to
+	range_of_expr.
+	* generic-match-head.cc (gimple_match_ctx): New static inline.
+	* match.pd (X % -Y -> X % Y): Capture NEGATE and pass
+	gimple_match_ctx (@2) as new 3rd argument to expr_not_equal_to.
+	((A * C) +- (B * C) -> (A+-B) * C): Pass gimple_match_ctx (@3)
+	as new 3rd argument to expr_not_equal_to.
+	(a rrotate (bitsize-b) -> a lrotate b): Likewise.
+
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/119683
+	* gimple-match.h (gimple_match_ctx): Move to ...
+	* gimple-match-head.cc (gimple_match_ctx): ... here.  Make static.
+	(gimple_match_range_of_expr): New static inline.
+	* match.pd ((mult (plus:s (mult:s @0 @1) @2) @3)): Use
+	gimple_match_range_of_expr.
+	((plus (mult:s (plus:s @0 @1) @2) @3)): Likewise.
+	((t * u) / u -> t): Likewise.
+	((t * u) / v -> t * (u / v)): Likewise.
+	((X + M*N) / N -> X / N + M): Likewise.
+	((X - M*N) / N -> X / N - M): Likewise.
+	((X + C) / N -> X / N + C / N): Likewise.
+	(((T)(A)) + CST -> (T)(A + CST)): Likewise
+	(x_5 == cstN ? cst4 : cst3): Likewise.  Do r.set_varying
+	even when gimple_match_range_of_expr failed.
+
+2025-11-27  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/arm/arm-builtins.cc (arm_init_mve_builtins): Remove
+	volatile qualifier.
+
+2025-11-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/122885
+	* tree-vect-loop.cc (vect_find_reusable_accumulator): Reject
+	mask vectors which do not use integer vector modes.
+	(vect_create_partial_epilog): Assert the same.
+
+2025-11-27  liuhongt  <hongtao.liu@intel.com>
+
+	* config/i386/i386-options.cc (set_ix86_tune_features): Set
+	gather/scatter tune if OPTION_SET_P.
+	* config/i386/i386.opt: Refactor mgather/mscatter.
+
+2025-11-27  Lulu Cheng  <chenglulu@loongson.cn>
+
+	* doc/extend.texi: Remove the incorrect prompt message.
+
+2025-11-27  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* doc/invoke.texi (Option Summary) <C++ Langauge Options>:
+	Add --compile-std-module.
+
 2025-11-26  Jeff Law  <jlaw@ventanamicro.com>
 
 	Revert:
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index d8e427a9c3e1..1ae1ab83d643 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20251127
+20251128
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 8cbdbfe17701..4837ac186ee1 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,153 @@
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch6.adb (Expand_Actuals): Do not create activation chain and
+	master for build-in-place calls here but...
+	(Make_Build_In_Place_Call_In_Allocator): Use Unqual_Conv.
+	(Make_Build_In_Place_Call_In_Anonymous_Context): ...here instead.
+	Call Make_Build_In_Place_Call_In_Object_Declaration directly.
+	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context): ...and here
+	instead.  Add missing rewriting of the call.
+
+2025-11-27  Ronan Desplanques  <desplanques@adacore.com>
+
+	* doc/gnat_ugn/about_this_guide.rst: Minor fixes
+	* gnat_ugn.texi: Regenerate.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/122574
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnatwp):
+	Replace reference to -gnatN with -gnatn and adjust accordingly.
+	* inline.adb: Remove clauses for Exp_Tss.
+	(Has_Initialized_Type): Delete.
+	(Add_Inlined_Subprogram): Test that the Is_Inlined flag is still set
+	on the subprogram.
+	* usage.adb (Usage): Adjust description of -gnatwp.
+	* gnat_ugn.texi: Regenerate.
+
+2025-11-27  Denis Mazzucato  <mazzucato@adacore.com>
+
+	* sem_ch5.adb: Skip check for assignment that doesn't come from source.
+
+2025-11-27  Ronan Desplanques  <desplanques@adacore.com>
+
+	* exp_aggr.adb (Gen_Loop): Only preanalyze expressions we know won't
+	evaluated.
+
+2025-11-27  Tom Tromey  <tromey@adacore.com>
+
+	* repinfo.adb (Visit): New procedure.
+	(List_GCC_Expression): Rewrite.
+	* repinfo.ads (Visit): New generic procedure.
+
+2025-11-27  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+	* sem_ch13.adb (Analyze_Code_Statement): Do not emit error
+	message when only checking relaxed semantics.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch7.adb (Build_Finalizer_Call): Delete.
+	(Build_Finalizer): Always insert the finalizer at the end of the
+	statement list in the non-package case.
+	(Expand_Cleanup_Actions): Attach the finalizer manually, if any.
+	* exp_smem.adb (Add_Shared_Var_Lock_Procs): Insert all the actions
+	directly in the transient scope.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statement): Merge the
+	eslif condition with the if condition for cleanup actions.
+	* sem_ch6.adb (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Get
+	rid of if statement whose condition is always true.
+	* sinfo.ads (Finally_Statements): Document their purpose.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gen_il-gen-gen_nodes.adb (N_Extended_Return_Statement): Add
+	Activation_Chain_Entity semantic field.
+	* exp_ch3.adb (Build_Master): Use Build_Master_{Entity,Renaming} in
+	all cases.
+	(Expand_N_Object_Declaration): Small tweak.
+	* exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator): Use
+	Build_Master_{Entity,Renaming} to build the master.
+	* exp_ch7.adb (Expand_N_Package_Declaration): Do not guard the call
+	to Build_Task_Activation_Call for the sake of consistency.
+	* exp_ch9.ads (Build_Class_Wide_Master): Delete.
+	(Find_Master_Scope): Likewise.
+	(Build_Protected_Subprogram_Call_Cleanup): Move to...
+	(First_Protected_Operation): Move to...
+	(Mark_Construct_As_Task_Master): New procedure.
+	* exp_ch9.adb (Build_Protected_Subprogram_Call_Cleanup): ...here.
+	(First_Protected_Operation): ...here.
+	(Build_Activation_Chain_Entity): Streamline handling of extended
+	return statements.
+	(Build_Class_Wide_Master): Delete.
+	(Build_Master_Entity): Streamline handling of extended return
+	statements and call Mark_Construct_As_Task_Master on the context.
+	(Build_Task_Activation_Call): Assert that the owner is not an
+	extended return statement.
+	(Find_Master_Scope): Delete.
+	(Mark_Construct_As_Task_Master): New procedure.
+	* sem_ch3.adb (Access_Definition): Use Build_Master_{Entity,Renaming}
+	in all cases to build a master.
+	* sem_ch6.adb (Check_Anonymous_Return): Rename to...
+	(Check_Anonymous_Access_Return_With_Tasks): ...this.  At the end,
+	call Mark_Construct_As_Task_Master on the parent node.
+	(Analyze_Subprogram_Body_Helper): Adjust to above renaming.
+	(Create_Extra_Formals): Do not set Has_Master_Entity here.
+	* sinfo.ads (Activation_Chain_Entity): Adjust description.
+
+2025-11-27  Bob Duff  <duff@adacore.com>
+
+	* sem_ch13.adb (Aspect_Annotate): Avoid disturbing the tree of the
+	aspect.
+	* vast.adb: Enable Check_Parent_Present.
+	* exp_ch6.adb (Validate_Subprogram_Calls): Minor reformatting.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression): When not optimizing for a
+	specific context, call Make_Build_In_Place_Call_In_Anonymous_Context
+	on expressions of alternatives when they are calls to BIP functions.
+	(Expand_N_If_Expression): Likewise for the Then & Else expressions.
+
+2025-11-27  Bob Duff  <duff@adacore.com>
+
+	* frontend.adb: Move call to VAST from here...
+	* gnat1drv.adb: ...to here.
+	* vast.ads (VAST_If_Enabled): Rename main entry point of VAST from
+	VAST to VAST_If_Enabled.
+	* vast.adb: Miscellaneous improvements. Mostly debugging
+	improvements. Also enable Check_Error_Nodes. Also add checks:
+	Check_FE_Only, Check_Scope_Present, Check_Scope_Correct.
+	* debug.ads: Minor comment tweaks. The comment, "In the checks off
+	version of debug, the call to Set_Debug_Flag is always a null
+	operation." appears to be false, so is removed.
+	* debug.adb: Minor: Remove some code duplication.
+	* sinfo-utils.adb (nnd): Add comment warning about C vs. Ada
+	confusion.
+
+2025-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch6.ads (Needs_BIP_Task_Actuals): Adjust description.
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Move activation
+	chain for every build-in-place function with task formal parameters
+	when the type of the return object might have tasks.
+
+2025-11-27  Ronan Desplanques  <desplanques@adacore.com>
+
+	* libgnat/s-dwalin.ads (Display_Mode_Type): New enumerated type.
+	(Symbolic_Traceback): Use new type in profile.
+	* libgnat/s-dwalin.adb (Symbolic_Traceback): Use new type in profile
+	and adapt body.
+	* libgnat/s-trasym__dwarf.adb (Multi_Module_Symbolic_Traceback): Fix
+	wrong call in body of one overload. Use new type in profile. Adapt
+	body.
+	(Symbolic_Traceback, Symbolic_Traceback_No_Lock,
+	Module_Symbolic_Traceback): Use new type in profile and adapt body.
+	(Calling_Entity): Adapt body.
+
 2025-11-24  Eric Botcazou  <ebotcazou@adacore.com>
 
 	PR ada/81106
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 70fe4dd2b826..9e18914aad9f 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,9 @@
+2025-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* constraint-manager.cc (equiv_class::operator==): Add const
+	qualifier.
+	* constraint-manager.h (equiv_class::operator==): Likewise.
+
 2025-11-25  David Malcolm  <dmalcolm@redhat.com>
 
 	* sm-malloc.cc (deref_before_check::emit): Add logging of the
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index bda28d1c64a8..974dd6d768fc 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/121506
+	* c-typeck.cc (c_type_tag): If TYPE_NAME is TYPE_DECL
+	with non-NULL DECL_NAME, return that.
+
 2025-11-26  Alejandro Colomar  <alx@kernel.org>
 
 	* c-parser.cc (c_parser_maxof_or_minof_expression): New func.
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index c581e08ffbb6..5ba3ddadd180 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,18 @@
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* lex/rust-lex.cc (rust_input_source_test): Cast char8_t string
+	literals to (const char *) to make it compilable with C++20.  Use
+	char16_t or char32_t character literals instead of ordinary
+	character literals or wide character literals in expected
+	initializers.
+
+2025-11-27  Arthur Cohen  <arthur.cohen@embecosm.com>
+
+	* typecheck/rust-tyty-subst.h: Remove now useless inclusion.
+	* typecheck/rust-tyty.h (class TypeBoundPredicate): New, moved from rust-tyty-bounds.h
+	(class TypeBoundsMappings): Likewise.
+	* typecheck/rust-tyty-bounds.h: Removed.
+
 2025-11-25  Lúcio Boari Fleury  <lucboari@gmail.com>
 
 	* parse/rust-parse-impl.h: Add early exit condition to parsing loop.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f28baf01803d..b3dbc89c32df 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,47 @@
+2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/121506
+	* gcc.dg/pr121506.c: New test.
+
+2025-11-27  Matthieu Longo  <matthieu.longo@arm.com>
+
+	* gcc.target/aarch64/build-attributes/build-attribute-define-nok.c: New test.
+	* gcc.target/aarch64/build-attributes/build-attribute-define-ok.c: New test.
+
+2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	* gcc.target/aarch64/ffs.c: Improve test.
+
+2025-11-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	* c-c++-common/Wstringop-overflow.c: Xfail, PR 122881.
+
+2025-11-27  Robin Dapp  <rdapp@ventanamicro.com>
+
+	PR tree-optimization/122855
+	PR tree-optimization/122850
+	* gcc.dg/vect/pr122850.c: New test.
+	* gcc.dg/vect/pr122855.c: New test.
+
+2025-11-27  Pan Li  <pan2.li@intel.com>
+
+	* gcc.target/riscv/rvv/autovec/pr121959-run-1.c: Update
+	the reference for run test.
+
+2025-11-27  Dhruv Chawla  <dhruvc@nvidia.com>
+
+	PR tree-optimization/122733
+	* gcc.dg/match-shift-cmp-1.c: Update test to only check
+	equality.
+	* gcc.dg/match-shift-cmp-2.c: Likewise.
+	* gcc.dg/match-shift-cmp-3.c: Likewise.
+	* gcc.dg/match-shift-cmp-4.c: Removed.
+
+2025-11-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/122885
+	* gcc.dg/torture/pr122873.c: New testcase.
+
 2025-11-26  Jeff Law  <jlaw@ventanamicro.com>
 
 	Revert:
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 3ba5043fb049..a9f4a1f51d96 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2025-11-27  Lulu Cheng  <chenglulu@loongson.cn>
+
+	* config/loongarch/cpuinfo.c (HWCAP_LOONGARCH_LSX): Define
+	it if it is not defined.
+	(HWCAP_LOONGARCH_LASX): Likewise.
+
 2025-11-21  LIU Hao  <lh_mouse@126.com>
 
 	PR target/122275
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 833ba0a6d1ba..cb6bd547b25a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,80 @@
+2025-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/performance/23_containers/sort_search/list.cc: Cast
+	results to void to suppress -Wunused-result warnings from
+	nodiscard functions.
+	* testsuite/performance/25_algorithms/equal_deque_iterators.cc:
+	Likewise.
+	* testsuite/performance/25_algorithms/search_n.cc: Likewise.
+
+2025-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* testsuite/Makefile.am: Fix typo in comment.
+	* testsuite/Makefile.in: Regenerate.
+
+2025-11-27  Tomasz Kamiński  <tkaminsk@redhat.com>
+
+	* include/std/ranges (__func_handle::__select): Named function
+	extracted from local lambda.
+	(__detail::__func_handle_t): Define using __func_handle::__select.
+	(__func_handle::_Inplace): Raname _M_ptr to _M_fn.
+
+2025-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/abi/pre/gnu.ver: Adjust exports.
+	* include/bits/atomic_timed_wait.h (_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT):
+	Do not define this macro.
+	(__atomic_wait_address_until_v, __atomic_wait_address_for_v):
+	Adjust assertions to check that __platform_wait_uses_type is
+	true.
+	* include/bits/atomic_wait.h (__waitable): New concept.
+	(__platform_wait_uses_type): Different separately for platforms
+	with and without platform wait.
+	(_GLIBCXX_HAVE_PLATFORM_WAIT): Do not define this macro.
+	(__wait_value_type): New typedef.
+	(__wait_result_type): Change _M_val to __wait_value_type.
+	(__wait_flags): Remove __proxy_wait enumerator. Reduce range
+	reserved for ABI version by the commented-out value.
+	(__wait_args_base::_M_old): Change type to __wait_args_base.
+	(__wait_args_base::_M_obj, __wait_args_base::_M_obj_size): New
+	data members.
+	(__wait_args::__wait_args): Set _M_obj and _M_obj_size on
+	construction.
+	(__wait_args::_M_setup_wait): Change void* parameter to deduced
+	type. Adjust bit_cast to work for types of different sizes.
+	(__wait_args::_M_load_proxy_wait_val): Remove function, replace
+	with ...
+	(__wait_args::_M_setup_proxy_wait): New function.
+	(__wait_args::_S_flags_for): Do not set __proxy_wait flag.
+	(__atomic_wait_address_v): Adjust assertion to check that
+	__platform_wait_uses_type is true.
+	* src/c++20/atomic.cc (_GLIBCXX_HAVE_PLATFORM_WAIT): Define here
+	instead of in header. Check _GLIBCXX_HAVE_PLATFORM_WAIT instead
+	of _GLIBCXX_HAVE_PLATFORM_TIMED_WAIT.
+	(__platform_wait, __platform_notify, __platform_wait_until): Add
+	unused parameter for _M_obj_size.
+	(__spin_impl): Adjust for 64-bit __wait_args_base::_M_old.
+	(use_proxy_wait): New function.
+	(__wait_args::_M_load_proxy_wait_val): Replace with ...
+	(__wait_args::_M_setup_proxy_wait): New function. Call
+	use_proxy_wait to decide at runtime whether to wait on the
+	pointer directly instead of using a proxy. If a proxy is needed,
+	set _M_obj and _M_obj_size to refer to its _M_ver member. Adjust
+	for change to type of _M_old.
+	(__wait_impl): Wait on _M_obj unconditionally. Pass _M_obj_size
+	to __platform_wait.
+	(__notify_impl): Call use_proxy_wait to decide whether to notify
+	on the address parameter or a proxy
+	(__spin_until_impl): Adjust for change to type of _M_val.
+	(__wait_until_impl): Wait on _M_obj unconditionally. Pass
+	_M_obj_size to __platform_wait_until.
+
+2025-11-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/semaphore_base.h (__platform_semaphore::_S_max):
+	Limit to PTRDIFF_MAX to avoid negative values.
+	* testsuite/30_threads/semaphore/least_max_value.cc: New test.
+
 2025-11-26  Tomasz Kamiński  <tkaminsk@redhat.com>
 
 	PR libstdc++/122864


More information about the Libstdc++-cvs mailing list