https://gcc.gnu.org/g:1f7e64d56bce2c51bbc093a3dfb1778eaddf12ee
commit r16-6673-g1f7e64d56bce2c51bbc093a3dfb1778eaddf12ee Author: GCC Administrator <[email protected]> Date: Sat Jan 10 00:16:49 2026 +0000 Daily bump. Diff: --- ChangeLog | 22 ++ contrib/ChangeLog | 12 + fixincludes/ChangeLog | 4 + gcc/ChangeLog | 473 +++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 643 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/algol68/ChangeLog | 4 + gcc/analyzer/ChangeLog | 39 +++ gcc/c/ChangeLog | 16 ++ gcc/cp/ChangeLog | 12 + gcc/fortran/ChangeLog | 24 ++ gcc/testsuite/ChangeLog | 183 ++++++++++++++ gnattools/ChangeLog | 8 + libcpp/ChangeLog | 5 + libdecnumber/ChangeLog | 5 + libgfortran/ChangeLog | 21 ++ libiberty/ChangeLog | 4 + libstdc++-v3/ChangeLog | 49 ++++ 18 files changed, 1525 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6c8d00a87964..770fa7b73337 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2026-01-09 Ben Boeckel <[email protected]> + + * config-ml.in: Replace gcc-bugs@ with bug reporting link. + * symlink-tree: Replace gcc-bugs@ with bug reporting link. + +2026-01-08 Aleksandar Rakic <[email protected]> + + * 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 <[email protected]> + + * MAINTAINERS: Add myself to write after approval. + +2026-01-08 Pietro Monteiro <[email protected]> + + * .forgejo/workflows/build-containers.yaml: New file. + 2026-01-06 Andrew Pinski <[email protected]> * MAINTAINERS: Add myself as global reviewer. diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 2a4218476cc5..80469807be29 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,15 @@ +2026-01-09 Jakub Jelinek <[email protected]> + + * update-copyright.py (GCCFilter): Don't filter out + gen-evolution.awk and gen-cxxapi-file.py. + +2026-01-08 Pietro Monteiro <[email protected]> + + * 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 <[email protected]> * update-copyright.py (LibPhobosFilter): Ignore also diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 11dc84283318..58542d099b94 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,7 @@ +2026-01-09 Ben Boeckel <[email protected]> + + * README: Replace gcc-bugs@ with bug reporting link. + 2026-01-07 Rainer Orth <[email protected]> * inclhack.def (AAB_solaris_sys_varargs_h): Remove. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 42237553de93..066c470e49dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,476 @@ +2026-01-09 Robin Dapp <[email protected]> + + PR tree-optimization/123414 + * tree-ssa-forwprop.cc (simplify_vector_constructor): + Use ssizetype as mask type. + +2026-01-09 Jakub Jelinek <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + * config/s390/s390.cc (print_operand): Align %cN with %N. + * config/s390/s390.md: Remove comment. + +2026-01-09 Filip Kastl <[email protected]> + + PR c/123212 + * opts.cc: Enable -fbit-tests and -fjump-tables at -Og. + +2026-01-09 Alfie Richards <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + Jeff Law <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + PR gcov-profile/123019 + * auto-profile.cc (auto_profile): Call execute_fixup_cfg. + +2026-01-09 Kugan Vivekanandarajah <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + + * doc/extend.texi: Update doc to support pointers inside structures. + +2026-01-08 Olivier Hainque <[email protected]> + Alexandre Oliva <[email protected]> + + * config.gcc [x86_64-*-*]: Match *abi32 target, default to m32 + abi. Accept 32 or m32 for --with-abi. + +2026-01-08 Jonathan Wakely <[email protected]> + + * doc/invoke.texi (C++ Dialect Options): Fix typo in + documentation of -flang-info-module-cmi. + +2026-01-08 Aleksandar Rakic <[email protected]> + + * 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 <[email protected]> + + * config/ia64/ia64.cc (MAX_VECT_LEN): Set to 16 from 8. + +2026-01-08 Robin Dapp <[email protected]> + + 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 <[email protected]> + Richard Biener <[email protected]> + + 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 <[email protected]> + + PR tree-optimization/123310 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Properly + test against unknown offset. + +2026-01-08 Richard Biener <[email protected]> + + 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 <[email protected]> + + * tree-vect-stmts.cc (vectorizable_shift): Improve missing + optab or optab support messages. + (vectorizable_operation): Likewise. + +2026-01-08 Stefan Schulze Frielinghaus <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + + * cse.cc (cse_find_path): Change follow_jumps to bool. + 2026-01-07 Tomas Glozar <[email protected]> PR target/121535 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 0e4e9e58a14a..49c7b136770c 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260108 +20260110 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b1119719bd6e..d961c46b4ad5 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,646 @@ +2026-01-09 Eric Botcazou <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * libgnat/a-cbinho.ads: add Warnings pragmas. + +2026-01-09 Eric Botcazou <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + Eric Botcazou <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * libgnat/system-mingw.ads (Underlying_Priorities): Restore previous + mapping with distinct values around Default_Priority. + +2026-01-09 Denis Mazzucato <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (GNATLLVM): Update debugging documentation. + * gnat_ugn.texi: Regenerate. + +2026-01-09 Eric Botcazou <[email protected]> + + * 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 <[email protected]> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check direct + attribute definitions for specs. + +2026-01-09 Piotr Trojanek <[email protected]> + + * sem_prag.adb (Analyze_Pragma): Adjust references in comments for + pragma Side_Effects and Volatile_Function. + +2026-01-09 Javier Miranda <[email protected]> + + * exp_ch3.adb (Build_Untagged_Record_Equality): Add missing + support for incomplete and private types. + +2026-01-09 Viljar Indus <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * sem_util.adb (Find_Overlaid_Entity): Detect overlying with slice. + +2026-01-09 Ronan Desplanques <[email protected]> + + * freeze.adb (Size_Known): Modify rejection condition. + +2026-01-09 Eric Botcazou <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * inline.adb (Build_Body_To_Inline): Do not inline ghost functions. + +2026-01-09 Ronan Desplanques <[email protected]> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update + example. + * gnat-style.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2026-01-09 Eric Botcazou <[email protected]> + + * 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 <[email protected]> + Alexandre Oliva <[email protected]> + + * 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 <[email protected]> PR ada/123371 diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog index 29f5b4893218..4df6d01d6606 100644 --- a/gcc/algol68/ChangeLog +++ b/gcc/algol68/ChangeLog @@ -1,3 +1,7 @@ +2026-01-09 Jose E. Marchesi <[email protected]> + + * ga68.texi (Worthy characters): Escape @. + 2026-01-04 Jose E. Marchesi <[email protected]> * a68-lang.cc (a68_post_options): Disable psABI warnings. diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index cbd8b124c123..4da5e532ab5e 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,42 @@ +2026-01-09 David Malcolm <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> PR analyzer/123136 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 5b8085f84eb1..266c7390fa1d 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,19 @@ +2026-01-09 Jakub Jelinek <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> * c-parser.cc (OMP_GROUPPRIVATE_CLAUSE_MASK, diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 444d026eef2c..a4607d6fb4ce 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,15 @@ +2026-01-09 Jakub Jelinek <[email protected]> + + * 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 <[email protected]> + + PR c++/123393 + * name-lookup.cc (make_namespace_finish): Pass from_import to + add_using_namespace. + 2026-01-07 Tobias Burnus <[email protected]> * parser.cc (OMP_GROUPPRIVATE_CLAUSE_MASK, diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f8c0fd636307..a55a31dc90c9 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,27 @@ +2026-01-09 Jerry DeLisle <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> + + 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 <[email protected]> PR fortran/123071 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6e50cef1d7b7..58d4946fbe1d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,186 @@ +2026-01-09 Robin Dapp <[email protected]> + + PR tree-optimization/123414 + * gcc.target/riscv/rvv/autovec/pr123414.c: New test. + +2026-01-09 David Malcolm <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + PR c/123475 + * gcc.dg/pr123475.c: New test. + +2026-01-09 Jerry DeLisle <[email protected]> + + PR fortran/123483 + * gfortran.dg/finalize_61.f90: New test. + Signed off by: Andrew Benson <[email protected]> + +2026-01-09 Vladimir N. Makarov <[email protected]> + + PR rtl-optimization/123121 + * gcc.target/i386/pr123121.c: New. + +2026-01-09 Martin Jambor <[email protected]> + + * 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 <[email protected]> + + * gcc.target/s390/asm-constant-1.c: New test. + +2026-01-09 Alfie Richards <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + PR target/123489 + * gcc.target/i386/pr123489.c: New test. + +2026-01-09 Nathaniel Shead <[email protected]> + + 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 <[email protected]> + + * lib/file-format.exp: Replace gcc-bugs@ with bug reporting link. + +2026-01-09 Shreya Munnangi <[email protected]> + Jeff Law <[email protected]> + + PR target/121778 + * gcc.target/riscv/pr121778.c: New test. + +2026-01-09 Kugan Vivekanandarajah <[email protected]> + + PR ipa/123383 + * g++.dg/pr123383.C: New test. + co-authored-by: Andrew Pinski <[email protected]> + +2026-01-08 Jakub Jelinek <[email protected]> + + PR middle-end/111817 + * c-c++-common/pr111817.c: New test. + +2026-01-08 Robin Dapp <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + Richard Biener <[email protected]> + + PR tree-optimization/122793 + * gcc.dg/vect/vect-pr122793.c: New testcase. + +2026-01-08 Richard Biener <[email protected]> + + PR tree-optimization/123310 + * gcc.dg/torture/pr123310.c: New testcase. + +2026-01-08 Richard Biener <[email protected]> + + PR tree-optimization/123298 + * gcc.dg/torture/pr123298.c: New testcase. + +2026-01-08 Stefan Schulze Frielinghaus <[email protected]> + + * gcc.target/s390/narrow-logical-op-1.c: New test. + +2026-01-08 Jakub Jelinek <[email protected]> + Andrew Pinski <[email protected]> + + 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 <[email protected]> + + PR rtl-optimization/121675 + * gcc.dg/pr121675.c: New test. + +2026-01-08 Richard Biener <[email protected]> + + PR middle-end/123107 + * gcc.dg/torture/pr123107.c: New testcase. + +2026-01-08 Steve Kargl <[email protected]> + + PR fortran/123012 + * gfortran.dg/namelist_99.f90: New test. + +2026-01-08 Andrew Pinski <[email protected]> + + 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 <[email protected]> PR fortran/90218 diff --git a/gnattools/ChangeLog b/gnattools/ChangeLog index ed360f6a9aec..6dcb5f5cd319 100644 --- a/gnattools/ChangeLog +++ b/gnattools/ChangeLog @@ -1,3 +1,11 @@ +2026-01-08 Olivier Hainque <[email protected]> + Alexandre Oliva <[email protected]> + + * configure.ac (default_gnattools_target): Use gnattools-cross + when not bootstrapping x86_64 configurations defaulting to + -m32. + * configure: Rebuild. + 2025-06-22 Nicolas Boulenguez <[email protected]> PR ada/120106 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index ff96a480fb16..d7c13b766635 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2026-01-09 Ben Boeckel <[email protected]> + + * configure: Regenerate. + * configure.ac: Replace gcc-bugs@ with bug reporting link. + 2025-12-10 Jason Merrill <[email protected]> * include/cpplib.h (struct cpp_callbacks): Replace 'path' parameter diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog index 03ca7a889827..2a04cafe602f 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,3 +1,8 @@ +2026-01-09 Ben Boeckel <[email protected]> + + * configure: Regenerate. + * configure.ac: Replace gcc-bugs@ with bug reporting link. + 2024-04-02 Jakub Jelinek <[email protected]> * decCommon.c (decFinalize): Fix duplicated words in diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index ec140083da4e..e755c7fa7976 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,24 @@ +2026-01-09 Thomas Koenig <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> * io/async.h (UNLOCK_UNIT): New macro. diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 37c351d33f5f..b6ce748f5084 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2026-01-09 Jan Beulich <[email protected]> + + * testsuite/test-pexecute.c (main): Adjust a tracing fprintf(). + 2025-11-30 Jose E. Marchesi <[email protected]> * simple-object-mach-o.c diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e8f629df5124..3db08d03c3e6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,52 @@ +2026-01-09 Jonathan Wakely <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + Tomasz Kamiński <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> PR libstdc++/123100
