mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Daily bump.
This commit is contained in:
126
gcc/ChangeLog
126
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:
|
||||
|
||||
@@ -1 +1 @@
|
||||
20251127
|
||||
20251128
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user