+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:
+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
+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
+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.
+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.
+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:
+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
+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