Daily bump.

This commit is contained in:
GCC Administrator
2026-01-10 00:16:49 +00:00
parent cce52f4204
commit 1f7e64d56b
18 changed files with 1525 additions and 1 deletions

View File

@@ -1,3 +1,25 @@
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.

View File

@@ -1,3 +1,15 @@
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

View File

@@ -1,3 +1,7 @@
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.

View File

@@ -1,3 +1,476 @@
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

View File

@@ -1 +1 @@
20260108
20260110

View File

@@ -1,3 +1,646 @@
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

View File

@@ -1,3 +1,7 @@
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.

View File

@@ -1,3 +1,42 @@
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

View File

@@ -1,3 +1,19 @@
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,

View File

@@ -1,3 +1,15 @@
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,

View File

@@ -1,3 +1,27 @@
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

View File

@@ -1,3 +1,186 @@
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

View File

@@ -1,3 +1,11 @@
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

View File

@@ -1,3 +1,8 @@
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

View File

@@ -1,3 +1,8 @@
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

View File

@@ -1,3 +1,24 @@
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.

View File

@@ -1,3 +1,7 @@
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

View File

@@ -1,3 +1,52 @@
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