+2026-01-09 Ben Boeckel <ben.boeckel@kitware.com>
+
+ * config-ml.in: Replace gcc-bugs@ with bug reporting link.
+ * symlink-tree: Replace gcc-bugs@ with bug reporting link.
+
+2026-01-08 Aleksandar Rakic <aleksandar.rakic@htecgroup.com>
+
+ * config-ml.in: Use with_multi_buildlist to build multidirs.
+ Skip configuration for subdir returned by
+ --print-multi-directory.
+ * configure: Regenerate.
+ * configure.ac: Source target-specific configuration fragment
+ for GCC. Pass through with_multi_buildlist to host and target.
+
+2026-01-08 Karl Meakin <karl.meakin@arm.com>
+
+ * MAINTAINERS: Add myself to write after approval.
+
+2026-01-08 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * .forgejo/workflows/build-containers.yaml: New file.
+
2026-01-06 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* MAINTAINERS: Add myself as global reviewer.
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * update-copyright.py (GCCFilter): Don't filter out
+ gen-evolution.awk and gen-cxxapi-file.py.
+
+2026-01-08 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * ci-containers/README: New file.
+ * ci-containers/autoregen/Containerfile: New file.
+ * ci-containers/autoregen/autoregen.py: New file.
+ * ci-containers/build-image.sh: New file.
+
2026-01-02 Jakub Jelinek <jakub@redhat.com>
* update-copyright.py (LibPhobosFilter): Ignore also
+2026-01-09 Ben Boeckel <ben.boeckel@kitware.com>
+
+ * README: Replace gcc-bugs@ with bug reporting link.
+
2026-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* inclhack.def (AAB_solaris_sys_varargs_h): Remove.
+2026-01-09 Robin Dapp <rdapp@oss.qualcomm.com>
+
+ PR tree-optimization/123414
+ * tree-ssa-forwprop.cc (simplify_vector_constructor):
+ Use ssizetype as mask type.
+
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/loongarch/genopts/gen-evolution.awk: Update
+ copyright year.
+ (copyright_header): Separate parts of Copyright word
+ with " " so that it doesn't get matched by update-copyright.py.
+ (gen_full_header, gen_full_source, gen_full_def): Include
+ 2026 year in the ranges.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * channels.h (gcc::topics::analyzer_events::subscriber): New
+ forward decl.
+ (compiler_channels::analyzer_events_channel): New field.
+ * doc/plugins.texi (PLUGIN_ANALYZER_INIT): Delete.
+ * plugin.cc (register_callback): Delete PLUGIN_ANALYZER_INIT.
+ (invoke_plugin_callbacks_full): Likewise.
+ * plugin.def (PLUGIN_ANALYZER_INIT): Delete this event.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS): Add tree-diagnostic-cfg.o.
+ (OBJS-libcommon): Add custom-sarif-properties/cfg.o,
+ diagnostics/digraphs-to-dot.o, and
+ diagnostics/digraphs-to-dot-from-cfg.o.
+ * cfghooks.cc: Define INCLUDE_VECTOR. Add includes of
+ "diagnostics/sarif-sink.h" and "custom-sarif-properties/cfg.h".
+ (dump_bb_as_sarif_properties): New.
+ * cfghooks.h (diagnostics::sarif_builder): New forward decl.
+ (json::object): New forward decl.
+ (cfg_hooks::dump_bb_as_sarif_properties): New callback field.
+ (dump_bb_as_sarif_properties): New decl.
+ * cfgrtl.cc (rtl_cfg_hooks): Populate the new callback
+ field with rtl_dump_bb_as_sarif_properties.
+ (cfg_layout_rtl_cfg_hooks): Likewise.
+ * custom-sarif-properties/cfg.cc: New file.
+ * custom-sarif-properties/cfg.h: New file.
+ * diagnostics/digraphs-to-dot-from-cfg.cc: New file, partly
+ adapted from gcc/graph.cc.
+ * diagnostics/digraphs-to-dot.cc: New file.
+ * diagnostics/digraphs-to-dot.h: New file, based on material in...
+ * diagnostics/digraphs.cc: Include
+ "diagnostics/digraphs-to-dot.h".
+ (class conversion_to_dot): Rework and move to above.
+ (make_dot_graph_from_diagnostic_graph): Likewise.
+ (make_dot_node_from_digraph_node): Likewise.
+ (make_dot_edge_from_digraph_edge): Likewise.
+ (conversion_to_dot::get_dot_id_for_node): Likewise.
+ (conversion_to_dot::has_edges_p): Likewise.
+ (digraph::make_dot_graph): Use to_dot::converter::make and invoke
+ the result to make the dot graph.
+ * diagnostics/digraphs.h (digraph:get_all_nodes): New accessor.
+ * diagnostics/html-sink.cc
+ (html_builder::m_per_logical_loc_graphs): New field.
+ (html_builder::add_graph_for_logical_loc): New.
+ (html_sink::report_digraph_for_logical_location): New.
+ * diagnostics/sarif-sink.cc (sarif_array_of_unique::get_element):
+ New.
+ (sarif_builder::report_digraph_for_logical_location): New.
+ (sarif_sink::report_digraph_for_logical_location): New.
+ * diagnostics/sink.h: Include "diagnostics/logical-locations.h".
+ (sink::report_digraph_for_logical_location): New vfunc.
+ * diagnostics/text-sink.h
+ (text_sink::report_digraph_for_logical_location): New.
+ * doc/invoke.texi (fdiagnostics-add-output): Clarify wording.
+ Distinguish between scheme-specific vs GCC-specific keys, and add
+ "cfgs" as the first example of the latter.
+ * gimple-pretty-print.cc: Include "cfghooks.h", "json.h", and
+ "custom-sarif-properties/cfg.h".
+ (gimple_dump_bb_as_sarif_properties): New.
+ * gimple-pretty-print.h (diagnostics::sarif_builder): New forward
+ decl.
+ (json::object): Likewise.
+ (gimple_dump_bb_as_sarif_properties): New.
+ * graphviz.cc (get_compass_pt_from_string): New
+ * graphviz.h (get_compass_pt_from_string): New decl.
+ * libsarifreplay.cc (sarif_replayer::handle_graph_object): Fix
+ overlong line.
+ * opts-common.cc: Define INCLUDE_VECTOR.
+ * opts-diagnostic.cc: Define INCLUDE_LIST. Include
+ "diagnostics/sarif-sink.h", "tree-diagnostic-sink-extensions.h",
+ "opts-diagnostic.h", and "pub-sub.h".
+ (class gcc_extra_keys): New class.
+ (opt_spec_context::opt_spec_context): Add "client_keys" param and
+ pass to dc_spec_context.
+ (handle_gcc_specific_keys): New.
+ (try_to_make_sink): New.
+ (gcc_extension_factory::singleton): New.
+ (handle_OPT_fdiagnostics_add_output_): Rework to use
+ try_to_make_sink.
+ (handle_OPT_fdiagnostics_set_output_): Likewise.
+ * opts-diagnostic.h: Include "diagnostics/sink.h".
+ (class gcc_extension_factory): New.
+ * opts.cc: Define INCLUDE_LIST.
+ * print-rtl.cc: Include "dumpfile.h", "cfghooks.h", "json.h", and
+ "custom-sarif-properties/cfg.h".
+ (rtl_dump_bb_as_sarif_properties): New.
+ * print-rtl.h (diagnostics::sarif_builder): New forward decl.
+ (json::object): Likewise.
+ (rtl_dump_bb_as_sarif_properties): New decl.
+ * tree-cfg.cc (gimple_cfg_hooks): Use
+ gimple_dump_bb_as_sarif_properties for new callback field.
+ * tree-diagnostic-cfg.cc: New file, based on material in graph.cc.
+ * tree-diagnostic-sink-extensions.h: New file.
+ * tree-diagnostic.cc: Define INCLUDE_LIST. Include
+ "tree-diagnostic-sink-extensions.h".
+ (compiler_ext_factory): New.
+ (tree_diagnostics_defaults): Set gcc_extension_factory::singleton
+ to be compiler_ext_factory.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * channels.h: New file.
+ * context.cc: Define INCLUDE_LIST. Include "channels.h".
+ (gcc::context::context): Create m_channels.
+ (gcc::context::~context): Delete it.
+ * context.h (struct compiler_channels): New forward decl.
+ (gcc::context::get_channels): New accessor.
+ (gcc::context::m_channels): New field.
+ * passes.cc: Define INCLUDE_LIST. Include "topics/pass-events.h"
+ and "channels.h".
+ (execute_one_pass): If the global context's pass_events_channel
+ has subscribers, publish before_pass and after_pass events to it.
+ * topics/pass-events.h: New file.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS-libcommon): Add pub-sub.o.
+ * pub-sub.cc: New file.
+ * pub-sub.h: New file.
+ * selftest-run-tests.cc (selftest::run_tests): Call
+ selftest::pub_sub_cc_tests.
+ * selftest.h (selftest::pub_sub_cc_tests): New decl.
+
+2026-01-09 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR target/123457
+ * config/aarch64/aarch64-sve-builtins.cc (struct registered_function_hasher):
+ Change base class to ggc_ptr_hash.
+ (initial_indexes): Mark with GTY.
+ (function_table): Likewise.
+ (handle_arm_sve_h): Allocate function_table from ggc instead of heap.
+
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/invoke.texi (-x): Add c++-system-module, objc-cpp-output,
+ objc++-cpp-output, adascil, adawhy, modula-2, modula-2-cpp-output,
+ rust, algol68 and lto as further possible option arguments.
+
+2026-01-09 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/123121
+ * lra-remat.cc (bad_for_rematerialization_p): Consider div/mod ops.
+ (operand_to_remat): Exclude rematerialization of insns with
+ multiple sets.
+
+2026-01-09 Peter Bergner <bergner@tenstorrent.com>
+
+ PR target/123492
+ * config/riscv/riscv-cores.def (RISCV_CORE)<tt-ascalon-d8>: Add missing
+ extensions via use of rva23s64 profile and adding zkr, smaia, smmpm,
+ smnpm, smrnmi, smstateen, ssaia, ssstrict, svadu.
+
+2026-01-09 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.h (class ipcp_bits_lattice): New members set_recipient_only,
+ recipient_only_p and m_recipient_only.
+ (class ipcp_vr_lattice): Likewise.
+ (ipcp_vr_lattice::init): Initialize also m_recipient_only.
+ * ipa-cp.cc (ipcp_bits_lattice::print): Adjust printting to also
+ print the new flag.
+ (ipcp_vr_lattice::print): Likewise.
+ (ipcp_vr_lattice::set_recipient_only): New function.
+ (ipcp_bits_lattice::set_recipient_only): Likewise.
+ (set_all_contains_variable): New parameter MAKE_SIMPLE_RECIPIENTS, set
+ bits and vr lattices to recibient only insted to bottom when it is
+ true.
+ (initialize_node_lattices): Pass true to the second parameter of
+ set_all_contains_variable.
+ (propagate_bits_across_jump_function): Treat recipient_only source
+ lattices like bottom.
+ (propagate_vr_across_jump_function): Likewise.
+ (ipcp_store_vr_results): Skip non-local nodes.
+
+2026-01-09 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.cc (good_cloning_opportunity_p): Dump a message when
+ bailing out early too.
+ (find_more_scalar_values_for_callers_subset): Rename to
+ find_scalar_values_for_callers_subset, collect constants regardless of
+ what is already in the vector. Remove dumping.
+ (find_more_contexts_for_caller_subset): Rename to
+ find_contexts_for_caller_subset, collect contexts regardless of what
+ is already in the vector. Remove dumping.
+ (find_aggregate_values_for_callers_subset): Rename to
+ find_aggregate_values_for_callers_subset_gc, implement using new
+ functions.
+ (find_aggregate_values_for_callers_subset_1): New function.
+ (find_aggregate_values_for_callers_subset): Likewise.
+ (copy_known_vectors_add_val): Removed.
+ (dump_reestimation_message): New function.
+ (decide_about_value): Remove formal parameter avals, compute it
+ independently, and use it to estimate local cloning effects.
+ (struct cloning_opportunity_ranking): New type.
+ (compare_cloning_opportunities): New function.
+ (cloning_opportunity_ranking_evaluation): Likewise.
+ (decide_whether_version_node): Pre-sort candidates for cloning before
+ really evaluating them. Calculate context independent values only
+ when considering versioning for all contexts.
+ (ipcp_val_agg_replacement_ok_p): Renamed to
+ ipcp_val_replacement_ok_p, check also non-aggregate values.
+
+2026-01-09 Alexandre Oliva <oliva@gnu.org>
+
+ PR target/119430
+ * config/arm/arm.cc (arm_function_ok_for_sibcall): Disable
+ sibcalls for long-calls that use all call-clobbered
+ general-purpose registers, including the static chain.
+
+2026-01-09 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config/s390/s390.cc (print_operand): Align %cN with %N.
+ * config/s390/s390.md: Remove comment.
+
+2026-01-09 Filip Kastl <fkastl@suse.cz>
+
+ PR c/123212
+ * opts.cc: Enable -fbit-tests and -fjump-tables at -Og.
+
+2026-01-09 Alfie Richards <alfie.richards@arm.com>
+
+ * config/aarch64/aarch64-builtins.cc
+ (aarch64_expand_pragma_builtin): Add case for FMMLA.
+ * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins):
+ Add new __ARM_FEATURE_X macros.
+ * config/aarch64/aarch64-simd-pragma-builtins.def
+ (vmmlaq_f16_mf8): New intrinsic.
+ (vmmlaq_f32_mf8): Likewise.
+ * config/aarch64/aarch64-simd.md
+ (@aarch64_<insn><VDQ_HSF_FMMLA:mode>): New instruction.
+ * config/aarch64/aarch64-sve-builtins-base.cc: Update mmla_impl
+ for new instructions.
+ * config/aarch64/aarch64-sve-builtins-shapes.cc
+ (struct mmla_def): Add support for the new widening forms.
+ * config/aarch64/aarch64-sve-builtins-sve2.def (svmmla) Add new
+ intrinsics.
+ * config/aarch64/aarch64-sve-builtins.cc (TYPES_cvt_narrow_s):
+ Fix comment.
+ * config/aarch64/aarch64-sve2.md
+ (@aarch64_sve2_<sve_fp_op><SVE_FULL_HSF_FMMLA:mode><VNx16QI_ONLY:mode>): New instruction.
+ (@aarch64_sve2_<sve_fp_op><VNx4SF_ONLY:mode><VNx8HF_ONLY:mode>): Likewise.
+ * config/aarch64/aarch64.h (TARGET_F8F32MM): New macro.
+ (TARGET_F8F16MM): Likewise.
+ (TARGET_SVE_F16F32MM): Likewise.
+ * config/aarch64/iterators.md (insn): Add fmmla entry.
+ (VDQ_HSF_FMMLA): New iterator.
+ (SVE_FULL_HSF_FMMLA): Likewise.
+
+2026-01-09 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Remove
+ TARGET_HAVE_MVE condition.
+ (class arm_target_switcher): New.
+ (arm_init_mve_builtins): Remove calls to
+ arm_init_simd_builtin_types and
+ arm_init_simd_builtin_scalar_types. Switch to MVE isa flags.
+ (arm_init_neon_builtins): Remove calls to
+ arm_init_simd_builtin_types and
+ arm_init_simd_builtin_scalar_types.
+ (arm_need_mve_mode_regs): New.
+ (arm_need_neon_mode_regs): New.
+ (arm_target_switcher::arm_target_switcher): New.
+ (arm_target_switcher::~arm_target_switcher): New.
+ (arm_init_builtins): Call arm_init_simd_builtin_scalar_types and
+ arm_init_simd_builtin_types. Always call arm_init_mve_builtins
+ and arm_init_neon_builtins.
+
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/123489
+ * config/i386/i386-builtin.def (__builtin_ia32_cvttsd2sis64_round,
+ __builtin_ia32_cvttsd2usis64_round, __builtin_ia32_cvttss2sis64_round,
+ __builtin_ia32_cvttss2usis64_round): Require OPTION_MASK_ISA_64BIT.
+
+2026-01-09 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR rtl-optimization/123491
+ * ifcvt.cc (noce_try_cond_zero_arith): Reject non-scalar
+ integer modes for the inner mode of the subreg.
+
+2026-01-09 Shreya Munnangi <smunnangi1@ventanamicro.com>
+ Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR target/121778
+ * match.pd: Add pattern to recognize rotate with one or more
+ bits flipped via xor.
+ * config/sh/sh.md (*rotcl); New variant which handles the output
+ we get after the match.pd change above.
+
+2026-01-09 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ * config/riscv/andes-23-series.md: Clamp reservations to 7c.
+ * config/riscv/andes-25-series.md: Likewise.
+ * config/riscv/andes-45-series.md: Likewise.
+ * config/riscv/generic.md: Likewise.
+ * config/riscv/mips-p8700.md: Likewise.
+ * config/riscv/sifive-7.md: Likewise.
+ * config/riscv/spacemit-x60.md: Likewise.
+
+2026-01-09 Kugan Vivekanandarajah <kvivekananda@nvidia.com>
+
+ PR gcov-profile/123019
+ * auto-profile.cc (auto_profile): Call execute_fixup_cfg.
+
+2026-01-09 Kugan Vivekanandarajah <kvivekananda@nvidia.com>
+
+ PR ipa/123383
+ * cgraph.cc (cgraph_edge::get_next_speculative_id): Check
+ lto_stmt_uid in get_next_speculative_id.
+
+2026-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/111817
+ * stmt.cc (parse_input_constraint): For matching construct, goto
+ before the loop without changing j instead of break. Remove comment
+ about that problem.
+
+2026-01-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/122846
+ * config/riscv/riscv-opts.h (enum rvv_max_lmul_enum): Add
+ RVV_CONV_DYNAMIC.
+ (TARGET_MAX_LMUL): Ditto.
+ * config/riscv/riscv-string.cc (use_vector_stringop_p): Use
+ LMUL1 for RVV_CONV_DYNAMIC.
+ (expand_rawmemchr): Ditto.
+ (expand_strcmp): Ditto.
+ (check_vectorise_memory_operation): Ditto.
+ * config/riscv/riscv-vector-costs.cc (get_smallest_mode):
+ New function.
+ (compute_lmul_from_conversion_ratio): Calculate LMUL from
+ largest/smallest type.
+ (costs::has_unexpected_spills_p): Split.
+ (costs::compute_live_ranges_and_lmul): Compute smallest type and
+ call new function.
+ (costs::cleanup_live_range_data): New function.
+ (costs::compute_conversion_dynamic_lmul): New function.
+ (costs::record_potential_unexpected_spills): Use new function.
+ (costs::better_main_loop_than_p): Allow appropriate LMUL.
+ * config/riscv/riscv-vector-costs.h: Declare.
+ * config/riscv/riscv.opt: New option
+ -mrvv-max-lmul=conv-dynamic.
+
+2026-01-08 Qing Zhao <qing.zhao@oracle.com>
+
+ * doc/extend.texi: Update doc to support pointers inside structures.
+
+2026-01-08 Olivier Hainque <hainque@adacore.com>
+ Alexandre Oliva <oliva@adacore.com>
+
+ * config.gcc [x86_64-*-*]: Match *abi32 target, default to m32
+ abi. Accept 32 or m32 for --with-abi.
+
+2026-01-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Fix typo in
+ documentation of -flang-info-module-cmi.
+
+2026-01-08 Aleksandar Rakic <aleksandar.rakic@htecgroup.com>
+
+ * Makefile.in: Add with_multi_buildlist for multilib
+ configuration control. Pass an additional argument to
+ genmultilib indicating whether --with-multi-buildlist is set
+ (true or false). Use with_multi_buildlist to filter
+ multilib directories in fixinc_list.
+ * configure: Regenerate.
+ * configure.ac: Restrict the installed fixedincludes multilibs.
+ * configure.tgt: New file.
+ * doc/install.texi: Add --with-multi-buildlist configure option
+ for multilib filtering.
+ * genmultilib: Document the new eleventh argument indicating
+ whether --with-multi-buildlist configure option is set (true or
+ false). Update argument parsing to include this flag before
+ enable_multilib. Modify reuse rule validation:
+ - Keep the original error for reuse of nonexistent multilibs
+ when --with-multi-buildlist is not used.
+ - Suppress the error only when the new configure option is
+ active, allowing reuse rules to reference multilibs that are
+ intentionally excluded from the build.
+
+2026-01-08 Tomas Glozar <tglozar@gmail.com>
+
+ * config/ia64/ia64.cc (MAX_VECT_LEN): Set to 16 from 8.
+
+2026-01-08 Robin Dapp <rdapp.gcc@gmail.com>
+
+ PR target/123268
+ * gimple-match-exports.cc (convert_conditional_op): Check if
+ orig_op->type and type of else value match.
+
+2026-01-08 Richard Sandiford <rdsandiford@googlemail.com>
+ Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/122793
+ * tree-vect-slp.cc (vect_add_slp_permutation): Document the existing
+ identity_offset parameter. Handle identities that take from the
+ second input rather than the first.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123310
+ * tree-ssa-sccvn.cc (vn_reference_lookup_3): Properly
+ test against unknown offset.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123298
+ * tree-ssa-alias.h (get_continuation_for_phi): Take a gphi *,
+ add is_backedge hook argument.
+ (walk_non_aliased_vuses): Add is_backedge hook argument.
+ * tree-ssa-alias.cc (maybe_skip_until): Adjust.
+ (get_continuation_for_phi): Use new hook to classify an
+ edge into the PHI as backedge.
+ (walk_non_aliased_vuses): Adjust.
+ * gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children):
+ Likewise.
+ * ipa-prop.cc (determine_known_aggregate_parts): Likewise.
+ * tree-ssa-scopedtables.cc (avail_exprs_stack::lookup_avail_expr):
+ Likewise.
+ * tree-ssa-pre.cc (translate_vuse_through_block): Likewise.
+ * tree-ssa-sccvn.cc (vn_bb_to_rpo): Make BB to RPO order
+ mapping accessible from new hook.
+ (do_rpo_vn_1): Likewise.
+ (vn_is_backedge): New hook to classify edge.
+ (vn_reference_lookup_pieces): Adjust.
+ (vn_reference_lookup): Likewise.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vectorizable_shift): Improve missing
+ optab or optab support messages.
+ (vectorizable_operation): Likewise.
+
+2026-01-08 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config/s390/s390.cc (s390_logical_operator_ok_p): Test for
+ volatile memory.
+ (s390_mem_constraint): Remove volatile condition.
+ * config/s390/s390.md (*andc_split_<mode>): Test for volatile
+ memory.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/123107
+ * fold-const.cc (fold_binary_loc): Guard (v >> CST) == { 0, 0.. }
+ to v < { 0, 0.. } folding.
+
+2026-01-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123382
+ * tree-if-conv.cc: Reject VEC_PERM_EXPR for factoring
+ if it is the mask and they are constant.
+
+2026-01-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * cse.cc (cse_find_path): Change follow_jumps to bool.
+
2026-01-07 Tomas Glozar <tglozar@gmail.com>
PR target/121535
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_to_gnu): Add comment explaining why
+ it is necessary to remove the padding for an object of a type with
+ self-referential size when it is not converted to the result type.
+ * gcc-interface/utils2.cc (build_binary_op) <MODIFY_EXPR>: For an
+ assignment between small padded objects of the same type with self-
+ referential size, and which have the same (constant) size, use the
+ padded view of the objects.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.cc (gnat_to_gnu): For the LHS of an assignment
+ or an actual parameter of a call, do not remove the padding even for
+ a type of self-referential size when the padded size is small enough
+ to be copied efficiently.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.ads (Save_Global_References_In_Aspects): Move to...
+ * sem_ch12.adb (Save_Global_References_In_Aspects): Move to...
+ * contracts.adb (Save_Global_References_In_Contract): ...here.
+
+2026-01-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Remove previous patch
+ and place the call to the constructor into a compound statement
+ attached to the object; the compound statement will be moved to
+ the freezing actions of the object if the object has an address
+ clause.
+
+2026-01-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * sem_ch13.adb (Check_Constructor_Initialization_Expression): The first
+ parameter of an implicit constructor comes from Specification, not
+ Corresponding_Spec.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Restore Comes_From_Source
+ test on N itself instead of its parent node.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * accessibility.adb (Function_Call_Or_Allocator_Level): Return the
+ level of the subprogram in Ada 95 only in the case where the result
+ type is a return-by-reference type.
+
+2026-01-09 Steve Baird <baird@adacore.com>
+
+ * libgnat/a-cbinho.ads: add Warnings pragmas.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * accessibility.adb (Function_Call_Or_Allocator_Level): Adjust the
+ latest change to cope with _Wrapped_Statements functions.
+ * einfo.ads (Wrapped_Statements): Fix description.
+ * sem_util.adb (In_Return_Value): Fix typo in comment.
+
+2026-01-09 Javier Miranda <miranda@adacore.com>
+
+ * checks.ads (Convert_From_Bignum): Add a new formal and update
+ documentation.
+ (Convert_To_Bignum): Update documentation.
+ * checks.adb (Is_Signed_Integer_Arithmetic_Op): Renamed as
+ Is_Overflow_Arithmetic_Op, and replace calls to function
+ Is_Signed_Integer_Type by calls to Has_Overflow_Operations.
+ (Apply_Arithmetic_Overflow_Minimized_Eliminated): Add support
+ for types with the Unsigned_Base_Range aspect.
+ (Apply_Divide_Checks): Replace calls to Is_Signed_Integer_Type
+ by calls to Has_Overflow_Operations.
+ (Compute_Range_For_Arithmetic_Op): Adjust comment.
+ (Convert_To_Bignum): Add support for types with the Unsigned_
+ Base_Range aspect.
+ (Convert_From_Bignum): Add support for result type with the
+ Unsigned_Base_Range aspect.
+ (Minimize_Eliminate_Overflows): Add support for types with the
+ Unsigned_Base_Range aspect.
+ * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): Replace
+ call to Is_Signed_Integer_Type by call to Has_Overflow_Operations.
+ (Expand_Compare_Minimize_Eliminate_Overflow): Add support for types
+ with the Unsigned_Base_Range aspect.
+ (Expand_Membership_Minimize_Eliminate_Overflow): Ditto.
+ (Expand_N_Op_Expon): Ditto.
+ (Expand_Exponentiation): New subprogram.
+ * rtsfind.ads (RE_Id): Add RE_LLU_To_Bignum, RE_LLU_From_Bignum.
+ * libgnat/s-bignum.ads (LLU_To_Bignum): New subprogram.
+ (LLU_From_Bignum): New subprogram.
+ * libgnat/s-bignum.adb (LLU_To_Bignum): New subprogram.
+ (LLU_From_Bignum): New subprogram.
+ * libgnat/s-genbig.ads (From_Bignum): New overloaded functions
+ for Long_Long_Long_Unsigned and Long_Long_Unsigned types.
+ (To_Bignum): Ditto.
+ * libgnat/s-genbig.adb (From_Bignum): New overloaded functions
+ for Long_Long_Long_Unsigned and Long_Long_Unsigned types.
+ (To_Bignum): Ditto.
+ * libgnat/s-expuns.ads (Exp_Unsigned): Fix documentation.
+ * libgnat/s-expllu.ads (Exp_Long_Long_Unsigned): Ditto.
+ * libgnat/s-explllu.ads (Exp_Long_Long_Long_Unsigned): Add missing
+ documentation.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * accessibility.ads (Is_Special_Aliased_Formal_Access): Delete.
+ * accessibility.adb (Is_Special_Aliased_Formal_Access): Likewise.
+ (Accessibility_Level.Innermost_Master_Scope_Depth): Look for non-
+ package bodies and statements directly.
+ (Accessibility_Level.Function_Call_Or_Allocator_Level): For a
+ function call in a return context, return the extra level of the
+ master of the call only for dynamic checks.
+ (Accessibility_Level) <N_Defining_Identifier>: Always return the
+ library level for an explicitly aliased parameter in the context
+ of a return from the subprogram where it is declared.
+ * exp_ch4.adb (Expand_N_Allocator): Test manually whether the
+ context is a return statement instead of calling In_Return_Value.
+ (Expand_N_Type_Conversion): Do not apply accessibility checks to
+ actuals of a tagged type in a synthesized subprogram call.
+ * sem_attr.adb (Resolve_Attribute) <Access>: Remove specific test
+ for explicitly aliased parameters.
+ * sem_ch4.adb: Remove clauses for Accessibility package.
+ (Analyze_Call): Do not apply static accessibility checks here...
+ * sem_res.adb (Resolve_Actuals): ...but here instead. Implement
+ a generalized form of AI12-0402.
+ (Valid_Conversion): Apply static accessibility checks in extended
+ return statements too.
+ * sem_util.ads (In_Return_Value): Adjust description.
+ (Is_Master): Delete.
+ * sem_util.adb (Is_Explicitly_Aliased): Reindent.
+ (In_Return_Value): Reimplement.
+ (Is_Master): Delete.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * errout.adb (Insert): New function to create an insertion fix.
+ (Deletion): New function to create a deletion fix.
+ * errout.ads: Likewise.
+ * sem_warn.adb (Create_Add_Constant_Fix): New function to create
+ a fix for adding a constant qualifier for a variable declaration.
+ (Change_In_Out_To_In_Fix): New function to create a fix for
+ convertinting an in out parameter direction to a an in direction.
+
+2026-01-09 Tonu Naks <naks@adacore.com>
+
+ * doc/gnat_rm/implementation_of_ada_2022_features.rst: update
+ AI12-0350, add AI12-0254.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2026-01-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * adaint.c (__gnat_set_thread_description): New function.
+ * libgnarl/s-taprop__mingw.adb (Enter_Task): Set thread description.
+ * rtinit.c (__gnat_runtime_initialize): Set up function pointer.
+ * mingw32.h (HRESULT, pSetThreadDescription): New.
+
+2026-01-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Procedure): Remove call to constructors.
+ (Build_Default_Simple_Initialization): Implicit call to parameterless constructors in new
+ allocations.
+ (Expand_Freeze_Record_Type): Freeze constructors as we would freeze predefined operations.
+ (Constructor_Freeze): Freeze all constructors.
+ * sem_attr.adb (Analyze_Attribute): Handle missing parameterless constructors.
+ * sem_ch3.adb: The default constructor is now called parameterless.
+ * sem_util.adb (Find_Matching_Constructor): Return the constructor
+ matching the given condition. Before it was just checking its
+ existence.
+ (Has_Copy_Constructor): Move it upward to maintain alphabetic
+ order of utility subprograms.
+ (Has_Parameterless_Constructor): The default constructor is now called parameterless.
+ (Has_Explicit_Constructor): New utility to check for constructors
+ defined by the user. Used to understand if an implicit
+ parameterless constructor exists.
+ (Is_Copy_Constructor): Refactor easier control flow.
+ (Is_Parameterless_Constructor): New utility to check if a constructor has a profile
+ compatible with the parameterless constructor.
+ * sem_util.ads: Likewise.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+
+ * errid-diagnostic_repository.ads: Update the diagnostic repository.
+ * errid-switch_repository.ads: Update the switch repository.
+ * errid.ads: Add new Diagnostic_Id-s.
+ * sem_warn.adb (Check_References): Add Diagnostic_Id-s for
+ error messages triggered by -gnatwk.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+
+ * errid.adb (Check_Diagnostic_To_Switch_Consistency): New subprogram
+ for checking the consistency of diagnostics.
+ (Check_Switch_To_Diagnostic_Consistency) New subprogram for checking
+ the consistency of switches.
+ (Add_All_Diagnostic_Rules): Check diagnostic consitency.
+ (Add_All_Switch_Rules): Check switch consitency.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+
+ * debug.adb: remove use case for -gnatd_E
+ * errout.adb (Output_Messages): remove printing of
+ the diagnostic repository when -gnatd_E is used.
+ * gnatcmd.adb: Add support for printing the diagnostic repository.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+
+ * errid-diagnostic_repository.ads: New package for storing
+ information about diagnostics.
+ * errid-switch_repository.adb: New package for storing
+ information about switches.
+ * errid-switch_repository.ads: Likewise.
+ * errid.adb: Move common methods related to Diagnostic_Id-s and
+ Switch_Id-s to this pacakge.
+ * errid.ads: Likewise.
+ * errout.adb (Add_Unique_Diagnostics_And_Switches): New method
+ for gathering all of the unique Diagnostic_Id-s and Switch_Id-s
+ among all of the error messages.
+ (Output_Messages): Use the new SARIF printer interface for printing
+ the report.
+ * erroutc-sarif_emitter.adb (Print_Relationship): New method for
+ printing relationship nodes.
+ (Print_Rule): Support printing switches as rules. Add support
+ for printing relationship nodes under rules. Remove brackets around
+ the rule name.
+ (Print_Runs): Add a printer argument to pass all of the switches
+ and diagnostics as rules in the SARIF report.
+ (Print_Tool): Likewise.
+ (Free): New method.
+ (Get_Unique_Rules): Removed.
+ (Print_Result): Remove brackets around the rule name.
+ (Print_Rules): Print switches as rules.
+ * erroutc-sarif_emitter.ads (SARIF_Printer): New record type for
+ storing and passing all of the diagnostic and switch information
+ around in the SARIF printer.
+ (Report_Kind): New type for indicating the different reports the
+ SARIF emitter can produce.
+ (Free): New method for releasing all of the dynamically allocated
+ memory.
+ (Print_SARIF_Report): Add a SARIF_Printer argument.
+ * erroutc.adb (Get_Human_Id): Removed.
+ (Get_Switch): Removed.
+ (Get_Doc_Switch): Simplify code.
+ * erroutc.ads: (Get_Human_Id): Removed.
+ (Get_Switch): Removed.
+ * errsw.adb: Replaced by errid-switch_repository.adb.
+ * errsw.ads: Replaced by errid-switch_repository.ads.
+ * errutil.adb: Remove dependecy to errsw pacakge.
+ * par-endh.adb: Fix whitespace.
+ * gcc-interface/Make-lang.in: Update the dependencies.
+ * gcc-interface/Makefile.in: Likewise.
+
+2026-01-09 Steve Baird <baird@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_attributes.rst: Document the
+ From_Address attribute.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Implement expansion
+ of a From_Address attribute reference.
+ * sem_attr.adb (Analyze_Attribute): Implement analysis of a
+ From_Address attribute reference.
+ (Eval_Attribute): A From_Address attribute reference cannot be
+ statically evaluated.
+ * snames.ads-tmpl: Declare Name_From_Address and Attribute_From_Address.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2026-01-09 Steve Baird <baird@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add new legality
+ checks for Super and Initialize aspect specifications, implemented
+ by calling a new local procedure,
+ Check_Constructor_Initialization_Expression.
+
+2026-01-09 Steve Baird <baird@adacore.com>
+
+ * Makefile.rtl: add entry for new unit
+ * impunit.adb: add entry for new unit
+ * libgnat/a-cbinho.adb: new file with body for new unit
+ * libgnat/a-cbinho.ads: new file with spec for new unit
+ * libgnat/a-coboho.ads: add comment
+ * libgnat/a-undesu.ads: add Preelaborate aspect specification,
+ as per AI22-0050.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/123003
+ * accessibility.adb: Remove unused clauses.
+ * aspects.adb: Likewise.
+ * checks.adb: Likewise.
+ * comperr.adb: Likewise.
+ * contracts.adb: Likewise.
+ * cstand.adb: Likewise.
+ * debug_a.adb: Likewise.
+ * errout.adb: Likewise.
+ * eval_fat.adb: Likewise.
+ * exp_aggr.adb: Likewise.
+ * exp_atag.adb: Likewise.
+ * exp_attr.adb: Likewise.
+ * exp_cg.adb: Likewise.
+ * exp_ch11.adb: Likewise.
+ * exp_ch12.adb: Likewise.
+ * exp_ch13.adb: Likewise.
+ * exp_ch2.adb: Likewise.
+ * exp_ch3.adb: Likewise.
+ * exp_ch4.adb: Likewise.
+ * exp_ch5.adb: Likewise.
+ * exp_ch6.adb: Likewise.
+ * exp_ch7.adb: Likewise.
+ * exp_ch8.adb: Likewise.
+ * exp_ch9.adb: Likewise.
+ * exp_code.adb: Likewise.
+ * exp_dbug.adb: Likewise.
+ * exp_disp.adb: Likewise.
+ * exp_dist.adb: Likewise.
+ * exp_fixd.adb: Likewise.
+ * exp_imgv.adb: Likewise.
+ * exp_intr.adb: Likewise.
+ * exp_pakd.adb: Likewise.
+ * exp_prag.adb: Likewise.
+ * exp_put_image.adb: Likewise.
+ * exp_sel.adb: Likewise.
+ * exp_smem.adb: Likewise.
+ * exp_spark.adb: Likewise.
+ * exp_strm.adb: Likewise.
+ * exp_tss.adb: Likewise.
+ * exp_unst.adb: Likewise.
+ * exp_util.adb: Likewise.
+ * exp_util.ads: Likewise.
+ * expander.adb: Likewise.
+ * freeze.adb: Likewise.
+ * frontend.adb: Likewise.
+ * ghost.adb: Likewise.
+ * gnat1drv.adb: Likewise.
+ * gnat_cuda.adb: Likewise.
+ * impunit.adb: Likewise.
+ * inline.adb: Likewise.
+ * itypes.adb: Likewise.
+ * itypes.ads: Likewise.
+ * layout.adb: Likewise.
+ * lib.adb: Likewise.
+ * libgnarl/s-tasuti.adb: Likewise.
+ * live.adb: Likewise.
+ * local_restrict.adb: Likewise.
+ * mutably_tagged.adb: Likewise.
+ * nlists.adb: Likewise.
+ * par.adb: Likewise.
+ * par_sco.adb: Likewise.
+ * pprint.adb: Likewise.
+ * repinfo.adb: Likewise.
+ * restrict.adb: Likewise.
+ * rtsfind.adb: Likewise.
+ * scil_ll.adb: Likewise.
+ * scn.adb: Likewise.
+ * sem.adb: Likewise.
+ * sem_aggr.adb: Likewise.
+ * sem_attr.adb: Likewise.
+ * sem_aux.adb: Likewise.
+ * sem_case.adb: Likewise.
+ * sem_cat.adb: Likewise.
+ * sem_ch10.adb: Likewise.
+ * sem_ch11.adb: Likewise.
+ * sem_ch12.adb: Likewise.
+ * sem_ch13.adb: Likewise.
+ * sem_ch2.adb: Likewise.
+ * sem_ch3.adb: Likewise.
+ * sem_ch4.adb: Likewise.
+ * sem_ch5.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ * sem_ch7.adb: Likewise.
+ * sem_ch9.adb: Likewise.
+ * sem_dim.adb: Likewise.
+ * sem_disp.adb: Likewise.
+ * sem_dist.adb: Likewise.
+ * sem_elab.adb: Likewise.
+ * sem_elim.adb: Likewise.
+ * sem_eval.adb: Likewise.
+ * sem_intr.adb: Likewise.
+ * sem_mech.adb: Likewise.
+ * sem_prag.adb: Likewise.
+ * sem_res.adb: Likewise.
+ * sem_scil.adb: Likewise.
+ * sem_smem.adb: Likewise.
+ * sem_type.adb: Likewise.
+ * sem_util.adb: Likewise.
+ * sem_util.ads: Likewise.
+ * sem_warn.adb: Likewise.
+ * sinput.adb: Likewise.
+ * sprint.adb: Likewise.
+ * strub.adb: Likewise.
+ * style.adb: Likewise.
+ * styleg.adb: Likewise.
+ * tbuild.adb: Likewise.
+ * tbuild.ads: Likewise.
+ * treepr.adb: Likewise.
+ * uname.adb: Likewise.
+ * sem_ch8.adb: Likewise.
+ (Mark_Use_Clauses.Mark_Use_Package): Do not recurse on the prefix
+ for a package given by an expanded name.
+
+2026-01-09 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Remove doc for gnatd_X; no longer used.
+ * einfo.ads: Minor comment improvement.
+ * exp_ch3.adb: Minor reformatting.
+ * exp_ch6.adb (Check_BIP_Actuals): Export.
+ (Validate_Subprogram_Calls): Move to Vast.
+ * exp_ch6.ads (Check_BIP_Actuals): Export.
+ * exp_ch7.adb (Make_Init_Call): Remove obsolete Set_Assignment_OK.
+ * frontend.adb: Move Validate_Subprogram_Calls call to VAST,
+ as the comment suggested.
+ * par.adb: Minor comment improvements.
+ * par-ch13.adb (Get_Aspect_Specifications):
+ Misc cleanup, including removal of redundant setting
+ of Aspects, and changing multiple 'if's to 'case'.
+ * par-ch4.adb (P_Simple_Name_Resync): Do not refer to Token_Node
+ when it is documented as not defined.
+ * par-ch6.adb: Minor comment improvement.
+ * par-util.adb (Bad_Spelling_Of): After setting Token from
+ identifier to keyword, destroy Token_Node, so it doesn't get
+ accidentally used.
+ * scans.adb (Save_Scan_State, Restore_Scan_State):
+ Put these in logical order. Make sure we're not saving
+ and restoring bogus information in Token_Node.
+ * scans.ads: Fix incorrect comment.
+ * scn.ads: Minor comment improvements. Do not duplicate (wrong)
+ information from Scans.
+ * scng.adb: Set Token_Node to Empty initially, so we don't
+ accidentally refer to bogus information from previous tokens.
+ * scng.ads: Minor comment improvement (remove information
+ about one actual from comment on the formal).
+ * sem_aux.ads (Initialization_Suppressed):
+ Minor comment improvement.
+ * sem_ch6.adb: Remove usage of Debug_Flag_Underscore_XX.
+ This code is pretty well tested by now, and anyway, it's
+ only called from within pragmas Assert.
+ * sem_util.adb (Enter_Name): Minor cleanup.
+ * sprint.adb (Dump_Generated_Only): Fix incorrect comment.
+ * vast.adb: Misc cleanup. Enable assertion about
+ Errout.Compilation_Errors (should be False if back end
+ is enabled).
+ (Validate_Subprogram_Calls): Move here from frontend.adb.
+ Move call to it here from frontend.adb.
+
+2026-01-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): Conditionalize last actual of
+ call to Error_Msg_NE to avoid blowup on N_Parameter_Association actuals.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_attr.adb (Expand_Size_Attribute): If the attribute is applied
+ to a formal parameter allocated with an extra Constrained parameter,
+ use the value of the latter to choose between the "unconstrained" or
+ the "constrained" size of the formal parameter.
+
+2026-01-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): Under Ada83 and Ada95
+ modes, and compiling under -gnatw_q, search for an user-defined
+ equality and report a warning if found since it will not be called.
+
+2026-01-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/system-mingw.ads (Underlying_Priorities): Restore previous
+ mapping with distinct values around Default_Priority.
+
+2026-01-09 Denis Mazzucato <mazzucato@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand copy
+ constructor calls when unnecessary.
+ * exp_ch3.adb
+ (Build_Implicit_Copy_Constructor): If necessary, build the implicit copy
+ constructor as part of the initialization procedures of its type.
+ (Expand_N_Object_Declaration): Add implicit 'Make attribute calls for
+ objects that may need construction.
+ * exp_ch6.adb (Make_Parent_Constructor_Call): Constructor's procedure
+ calls should be only generated from expansion of the 'Make attribute as
+ there is hidden logic to handle copy constructors.
+ * sem_attr.adb (Analyze_Attribute): Emit a specific error message if a
+ non-copy constructor is called but no constructor is defined.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): The Ekind of the
+ implicitly generated copy constructor is not a subprogram body.
+ * sem_ch4.adb (Extended_Primitive_Ops): Extend the operation list that
+ can be called via prefix notation to include constructors.
+ * sem_ch6.adb (Check_For_Primitive_Subprogram): Skip constructors for
+ primitive analysis.
+ * sem_util.adb (Has_Matching_Constructor): Generic function to
+ check for the existence of a constructor matching a given
+ condition.
+ (Has_Copy_Constructor): Check whether a type has an implicit or explicit
+ copy constructor.
+ (Has_Default_Constructor): Use Has_Matching_Constructor.
+ (Is_Copy_Constructor): Check whether a subprogram is a copy constructor.
+ (Is_Copy_Constructor_Call): Check whether an attribute call is call to a
+ copy constructor.
+ * sem_util.ads: Add specs for copy constructor utility functions.
+ * snames.ads-tmpl (Snames): Add names Self and From.
+
+2026-01-09 Martin Clochard <clochard@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): For Old attribute,
+ detect the anonymous access type case explicitly instead of
+ implicitly within in Eligible_For_Conditional_Evaluation.
+ * sem_util.ads: (Eligible_For_Conditional_Evaluation): Do not
+ return True on anonymous access types. This was also breaking usage
+ outside expansion (legality checks for Old).
+ * sem_util.adb: (Conditional_Evaluation_Condition): Special case
+ of no determiners for anonymous access types is no longer possible.
+
+2026-01-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * snames.ads-tmpl: Make "Destructor" an attribute name.
+ * snames.adb-tmpl: Allow direct attribute definition for Destructor.
+ * gen_il-fields.ads (Destructor): New field.
+ (Is_Destructor): Remove.
+ * gen_il-gen-gen_entities.adb: (Destructor): New field.
+ (Is_Destructor): Remove.
+ * einfo.ads (Destructor): Document new field.
+ (Is_Destructor): Remove documentation.
+ * aspects.ads (Aspect_Destructor): Remove.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Adapt after aspect
+ removal.
+ * exp_ch7.adb (Build_Finalize_Statements): Adapt to new destructor
+ representation.
+ * freeze.adb (Freeze_Entity): Remove obsolete check.
+ * sem_attr.adb (Analyze_Attribute, Eval_Attribute): Adapt to new
+ attribute.
+ * sem_ch13.adb (Analyze_Aspect_Specifications,
+ Check_Aspect_At_End_Of_Declarations): Adapt after aspect removal.
+ * sem_ch6.adb (Analyze_Direct_Attribute_Definition): Add handling
+ of Destructor attribute.
+ (Can_Be_Destructor_Of): New function.
+ * doc/gnat_rm/gnat_language_extensions.rst: Adapt documentation to
+ new syntax.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2026-01-09 Tom Tromey <tromey@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst
+ (GNATLLVM): Update debugging documentation.
+ * gnat_ugn.texi: Regenerate.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads (Find_Hook_Context): Rename to...
+ (Find_Master_Context): ...this and alphabetize.
+ * exp_util.adb (Find_Master_Context): Rename to...
+ (Find_Master_Context): ...this and alphabetize.
+ * exp_ch4.adb (Insert_Conditional_Object_Declaration): Adjust to
+ above renaming.
+ (Process_Transients_In_Expression): Likewise.
+
+2026-01-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check direct
+ attribute definitions for specs.
+
+2026-01-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Adjust references in comments for
+ pragma Side_Effects and Volatile_Function.
+
+2026-01-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Untagged_Record_Equality): Add missing
+ support for incomplete and private types.
+
+2026-01-09 Viljar Indus <indus@adacore.com>
+
+ * einfo-utils.adb (Can_Have_Formals): New function for checking
+ if the entity can support formals.
+ * einfo-utils.ads (Can_Have_Formals): Likewise.
+ * ghost.adb (Check_Procedure_Call_Argument_Levels): Avoid checking
+ the type of the formal if the called entity cannot hold formals.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
+ Move_Activation_Chain if it is not available in the runtime library.
+
+2026-01-09 Claire Dross <dross@adacore.com>
+
+ * sem_util.ads (Overlaid_Entity): Return the root of the address
+ clause of an object if it is precisely supported in SPARK.
+ * sem_util.adb (Ultimate_Overlaid_Entity): Use Overlaid_Entity to
+ match the SPARK RM semantics.
+ * sem_prag.adb (Analyze_Global_Item): Only check for overlays on
+ variables.
+ (Analyze_Initialization_Item): Likewise.
+ (Analyze_Input_Item): Likewise.
+
+2026-01-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Find_Overlaid_Entity): Detect overlying with slice.
+
+2026-01-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * freeze.adb (Size_Known): Modify rejection condition.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): If a predicate check
+ made on the RHS forced the capture of a function call to remove its
+ side effects, demote No_Ctrl_Actions into No_Finalize_Actions on the
+ N_Assignment_Statement node.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch9.ads (Build_Task_Allocate_Block): Change to function and
+ remove first formal parameter.
+ * exp_ch9.adb (Build_Task_Allocate_Block): Likewise. Return an
+ anonymous list of nodes.
+ * exp_aggr.adb (Convert_Aggr_In_Allocator): Adjust to above change.
+ * exp_ch4.adb (Expand_N_Allocator): Likewise.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Likewise.
+
+2026-01-09 Piotr Trojanek <trojanek@adacore.com>
+
+ * inline.adb (Build_Body_To_Inline): Do not inline ghost functions.
+
+2026-01-09 Ronan Desplanques <desplanques@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update
+ example.
+ * gnat-style.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2026-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Give a specific error
+ message for an invalid prefix that is the dereference of a name.
+ * sem_ch8.adb (Find_Selected_Component): Give a consistent error
+ message for the name of an invalid prefix.
+
+2026-01-08 Olivier Hainque <hainque@adacore.com>
+ Alexandre Oliva <oliva@adacore.com>
+
+ * gcc-interface/Make-lang.in (m32_target): Set.
+ (not_m32_target, native_target, native_gnattools1): Set.
+ (ADA_TOOLS_FLAGS_TO_PASS, gnattools): Handle x86_64 natives
+ defaulting to -m32 as cross for gnattools.
+ * gcc-interface/Makefile.in (target_cpu): Set to i686 for
+ x86_64 configurations defaulting to -m32.
+
2026-01-03 Eric Botcazou <ebotcazou@gcc.gnu.org>
PR ada/123371
+2026-01-09 Jose E. Marchesi <jemarch@gnu.org>
+
+ * ga68.texi (Worthy characters): Escape @.
+
2026-01-04 Jose E. Marchesi <jose.marchesi@oracle.com>
* a68-lang.cc (a68_post_options): Disable psABI warnings.
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * common.h (struct on_frame_popped): New.
+ (subscriber::on_message): New vfunc for on_frame_popped.
+ * region-model.cc: Include "context.h" and "channels.h".
+ (region_model::pop_frame_callbacks): Delete.
+ (region_model::pop_frame): Port from notify_on_pop_frame to
+ using pub/sub channel.
+ * region-model.h (pop_frame_callback): Delete typedef.
+ (region_model::register_pop_frame_callback): Delete.
+ (region_model::pop_frame_callbacks): Delete.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * analyzer-language.cc: Include "context.h" and "channels.h".
+ (finish_translation_unit_callbacks): Delete.
+ (register_finish_translation_unit_callback): Delete.
+ (run_callbacks): Delete.
+ (on_finish_translation_unit): Port from run_callbacks to pub/sub.
+ * analyzer-language.h (finish_translation_unit_callback): Delete
+ typedef.
+ (register_finish_translation_unit_callback): Delete decl.
+ * common.h (class translation_unit): New forward decl.
+ (struct analyzer_events::on_tu_finished): New.
+ (analyzer_events::subscriber::on_message): Add vfunc for
+ on_tu_finished messages.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * common.h: Define INCLUDE_LIST.
+ (class plugin_analyzer_init_iface): Replace with...
+ (gcc::topics::analyzer_events::on_ana_init): ...this.
+ (gcc::topics::analyzer_events::subscriber): New.
+ * engine.cc: Include "context.h" and "channels.h".
+ (class plugin_analyzer_init_impl): Replace with...
+ (class impl_on_ana_init): ...this. Fix some overlong lines.
+ (impl_run_checkers): Port from PLUGIN_ANALYZER_INIT to using
+ publish/subscribe framework.
+
2025-12-16 David Malcolm <dmalcolm@redhat.com>
PR analyzer/123136
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/123475
+ * c-typeck.cc (c_find_var_r): New function.
+ (convert_lvalue_to_rvalue): If c_build_function_call_vec
+ folded __atomic_load (&expr, &tmp, SEQ_CST); into
+ (void) (tmp = __atomic_load_<N> (&expr, SEQ_CST)), drop
+ TREE_ADDRESSABLE flag from tmp and set TARGET_EXPR
+ initializer just to the rhs of the MODIFY_EXPR.
+
+2026-01-08 Qing Zhao <qing.zhao@oracle.com>
+
+ * c-parser.cc (has_counted_by_object): Support pointers.
+ (get_counted_by_ref): Support pointers.
+ (c_parser_postfix_expression): Support pointers.
+
2026-01-07 Tobias Burnus <tburnus@baylibre.com>
* c-parser.cc (OMP_GROUPPRIVATE_CLAUSE_MASK,
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * gen-cxxapi-file.py: Update copyright year. Separate
+ parts of Copyright word with {:s} so that it doesn't get matched
+ by update-copyright.py.
+
+2026-01-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/123393
+ * name-lookup.cc (make_namespace_finish): Pass from_import to
+ add_using_namespace.
+
2026-01-07 Tobias Burnus <tburnus@baylibre.com>
* parser.cc (OMP_GROUPPRIVATE_CLAUSE_MASK,
+2026-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/123483
+ * trans-array.cc (gfc_deallocate_alloc_comp): Ad the new
+ finalization argument and pass it to structure_alloc_comps.
+ * trans-array.h (gfc_deallocate_alloc_comp): Add a finalization
+ flag that can be passed by gfc_conv_procedure_call.
+ * trans-expr.cc (gfc_conv_procedure_call): Use the new
+ finalization flag.
+
+2026-01-08 Steve Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/123321
+ * trans-io.cc (transfer_namelist_element): Adjust the
+ conditions determining when to use the local name or
+ the var name to build the object name.
+
+2026-01-08 Steve Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/123012
+ * trans-io.cc (transfer_namelist_element): Adjust the
+ conditions determining when to use the local name or
+ the var name to build the object name.
+
2026-01-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/123071
+2026-01-09 Robin Dapp <rdapp@oss.qualcomm.com>
+
+ PR tree-optimization/123414
+ * gcc.target/riscv/rvv/autovec/pr123414.c: New test.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/analyzer_cpython_plugin.cc
+ (cpython_analyzer_events_subscriber::on_message): Implement for
+ on_frame_popped.
+ (plugin_init): Drop call to
+ region_model::register_pop_frame_callback in favor of the above
+ pub/sub handler.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/analyzer_cpython_plugin.cc
+ (cpython_analyzer_events_subscriber::on_message): New.
+ (plugin_init): Port stashing of named types and global vars to
+ pub/sub framework.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/analyzer_cpython_plugin.cc: Port from
+ PLUGIN_ANALYZER_INIT to subscribing to analyzer_events_channel.
+ * gcc.dg/plugin/analyzer_gil_plugin.cc: Likewise.
+ * gcc.dg/plugin/analyzer_kernel_plugin.cc: Likewise.
+ * gcc.dg/plugin/analyzer_known_fns_plugin.cc: Likewise.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/diagnostic-cfgs-html.py: New test.
+ * gcc.dg/diagnostic-cfgs-sarif.py: New test.
+ * gcc.dg/diagnostic-cfgs.c: New test.
+
+2026-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/plugin.exp: Add progress_notifications_plugin.cc.
+ * gcc.dg/plugin/progress_notifications_plugin.cc: New test plugin.
+
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/123475
+ * gcc.dg/pr123475.c: New test.
+
+2026-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/123483
+ * gfortran.dg/finalize_61.f90: New test.
+ Signed off by: Andrew Benson <abensonca@gcc.gnu.org>
+
+2026-01-09 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/123121
+ * gcc.target/i386/pr123121.c: New.
+
+2026-01-09 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/ipcp-agg-2.c: Adjust dump test.
+ * gcc.dg/ipa/ipcp-agg-3.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-4.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-14.c: New test.
+ * gcc.dg/vect/pr101145_1.c: Compile with -fno-ipa-cp.
+ * gcc.dg/vect/pr101145_2.c: Likewise.
+ * gcc.dg/vect/pr101145_3.c: Likewise.
+
+2026-01-09 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * gcc.target/s390/asm-constant-1.c: New test.
+
+2026-01-09 Alfie Richards <alfie.richards@arm.com>
+
+ * lib/target-supports.exp:
+ * gcc.target/aarch64/acle/vmmlaq_f16_mf8.c: New test.
+ * gcc.target/aarch64/acle/vmmlaq_f32_mf8.c: New test.
+ * gcc.target/aarch64/sve2/acle/asm/fmmla_f8f16mm_sve2.c: New test.
+ * gcc.target/aarch64/sve2/acle/asm/fmmla_f8f32mm_sve2.c: New test.
+ * gcc.target/aarch64/sve2/acle/asm/fmmla_sve_f16f32mm.c: New test.
+ * gcc.target/aarch64/sve/acle/general-c/mmla_1.c: Update error messages.
+
+2026-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/102954
+ * gcc.dg/vect/pr33804.c (scan-tree-dump-times): Only
+ xfail on 32-bit SPARC.
+ * gcc.dg/vect/slp-multitypes-3.c: Likewise.
+
+2026-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/123489
+ * gcc.target/i386/pr123489.c: New test.
+
+2026-01-09 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/123393
+ * g++.dg/modules/namespace-18_a.C: New test.
+ * g++.dg/modules/namespace-18_b.C: New test.
+
+2026-01-09 Ben Boeckel <ben.boeckel@kitware.com>
+
+ * lib/file-format.exp: Replace gcc-bugs@ with bug reporting link.
+
+2026-01-09 Shreya Munnangi <smunnangi1@ventanamicro.com>
+ Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR target/121778
+ * gcc.target/riscv/pr121778.c: New test.
+
+2026-01-09 Kugan Vivekanandarajah <kvivekananda@nvidia.com>
+
+ PR ipa/123383
+ * g++.dg/pr123383.C: New test.
+ co-authored-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+2026-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/111817
+ * c-c++-common/pr111817.c: New test.
+
+2026-01-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/122846
+ * gcc.target/riscv/rvv/autovec/dyn-lmul-conv-1.c: New test.
+ * gcc.target/riscv/rvv/autovec/dyn-lmul-conv-2.c: New test.
+ * gcc.target/riscv/rvv/autovec/pr122846.c: New test.
+
+2026-01-08 Qing Zhao <qing.zhao@oracle.com>
+
+ * gcc.dg/builtin-counted-by-ref.c: Update test case.
+ * gcc.dg/builtin-counted-by-ref-2.c: New test.
+ * gcc.dg/builtin-counted-by-ref-3.c: New test.
+
+2026-01-08 Richard Sandiford <rdsandiford@googlemail.com>
+ Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/122793
+ * gcc.dg/vect/vect-pr122793.c: New testcase.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123310
+ * gcc.dg/torture/pr123310.c: New testcase.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123298
+ * gcc.dg/torture/pr123298.c: New testcase.
+
+2026-01-08 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * gcc.target/s390/narrow-logical-op-1.c: New test.
+
+2026-01-08 Jakub Jelinek <jakub@redhat.com>
+ Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123319
+ * gcc.dg/pr123319.c: Replace test with target independent one. Move
+ previous test to ...
+ * gcc.target/i386/pr123319.c: ... here. Add comment with PR number,
+ add -msse to dg-options, move immintrin.h include right after stdint.h
+ include.
+
+2026-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/121675
+ * gcc.dg/pr121675.c: New test.
+
+2026-01-08 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/123107
+ * gcc.dg/torture/pr123107.c: New testcase.
+
+2026-01-08 Steve Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/123012
+ * gfortran.dg/namelist_99.f90: New test.
+
+2026-01-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123382
+ * gcc.dg/torture/pr123382-1.c: New test.
+ * gcc.dg/torture/pr123382-2.c: New test.
+
2026-01-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/90218
+2026-01-08 Olivier Hainque <hainque@adacore.com>
+ Alexandre Oliva <oliva@adacore.com>
+
+ * configure.ac (default_gnattools_target): Use gnattools-cross
+ when not bootstrapping x86_64 configurations defaulting to
+ -m32.
+ * configure: Rebuild.
+
2025-06-22 Nicolas Boulenguez <nicolas@debian.org>
PR ada/120106
+2026-01-09 Ben Boeckel <ben.boeckel@kitware.com>
+
+ * configure: Regenerate.
+ * configure.ac: Replace gcc-bugs@ with bug reporting link.
+
2025-12-10 Jason Merrill <jason@redhat.com>
* include/cpplib.h (struct cpp_callbacks): Replace 'path' parameter
+2026-01-09 Ben Boeckel <ben.boeckel@kitware.com>
+
+ * configure: Regenerate.
+ * configure.ac: Replace gcc-bugs@ with bug reporting link.
+
2024-04-02 Jakub Jelinek <jakub@redhat.com>
* decCommon.c (decFinalize): Fix duplicated words in
+2026-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * io/io.h: Change type of self to intptr_t.
+ * io/async.h (LOCK_UNIT): Cast __gthread_self () to intptr_t.
+ (TRYLOCK_UNIT): Likewise.
+ (OWN_THREAD_ID): Likewise.
+
+2026-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * io/async.h: DEBUG_ASYNC needs gtreads support.
+ (LOCK_UNIT): Only lock when there is pthreads support and it is active.
+ Otherwise, just set unit->self to 1.
+ (UNLOCK_UNIT): Only unlock when there is pthreads support and it is active.
+ Otherwise, just set unit->self to 0.
+ (TRYLOCK_UNIT): Only try locking when thee is pthreads support and it is
+ active. Otherwise, return unit->self.
+ (OWN_THREAD_ID): New macro.
+ * io/io.h: gfc_unit's self is an int when there is no gthreads support.
+ * io/unit.c (check_for_recursive): Check for equality of unit which
+ locked to OWN_THREAD_ID.
+
2026-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
* io/async.h (UNLOCK_UNIT): New macro.
+2026-01-09 Jan Beulich <jbeulich@suse.com>
+
+ * testsuite/test-pexecute.c (main): Adjust a tracing fprintf().
+
2025-11-30 Jose E. Marchesi <jose.marchesi@oracle.com>
* simple-object-mach-o.c
+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