[gcc r17-4156] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Fri Sep 11 08:57:30 GMT 2026
https://gcc.gnu.org/g:f48affe7bf3c97b3f3d8cc1bf1901f308b0cb9a7
commit r17-4156-gf48affe7bf3c97b3f3d8cc1bf1901f308b0cb9a7
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Fri Sep 11 08:56:57 2026 +0000
Daily bump.
Diff:
---
ChangeLog | 5 +
contrib/ChangeLog | 5 +
gcc/ChangeLog | 410 ++++++++++++++++++++++++++++++++
gcc/DATESTAMP | 2 +-
gcc/algol68/ChangeLog | 13 ++
gcc/c-family/ChangeLog | 7 +
gcc/c/ChangeLog | 13 ++
gcc/cobol/ChangeLog | 11 +
gcc/cp/ChangeLog | 50 ++++
gcc/lto/ChangeLog | 6 +
gcc/rust/ChangeLog | 480 ++++++++++++++++++++++++++++++++++++++
gcc/testsuite/ChangeLog | 235 +++++++++++++++++++
libgcc/config/avr/libf7/ChangeLog | 9 +
libgcobol/ChangeLog | 17 ++
libgomp/ChangeLog | 5 +
libstdc++-v3/ChangeLog | 72 ++++++
16 files changed, 1339 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index b977bbd48b87..d3f15ca7059d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-10 Rohith Kapelli <kapellirohith@gmail.com>
+
+ * MAINTAINERS.yml: Add myself to Write After Approval and DCO.
+ * MAINTAINERS: Regenerate.
+
2026-09-04 Arthur Cohen <arthur.cohen@opensrcsec.com>
* MAINTAINERS.yml: Update my email, add a section for inactive emails.
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index f5e36f2c5189..6c85f6f49773 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * gcc-changelog/git_update_version.py: Remove gcc-13 branch
+ from active branches.
+
2026-09-09 Kyrylo Tkachov <ktkachov@nvidia.com>
* filter-clang-warnings.py (skip_warning): Match insn-emit rather
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b2d1dd5b5df2..a068d063e90a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,413 @@
+2026-09-11 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * tree-eh.cc (tree_could_trap_1, tree_could_trap_p): Clarify the
+ function comments.
+ (lhs_could_trap_p): Correct the function comment.
+
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * tree-pretty-print.cc (dump_generic_node): Adjust -gimple
+ dumping for clobbers.
+
+2026-09-11 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/127020
+ * config/i386/i386-features.cc
+ (timode_scalar_chain::compute_convert_gain): Add gain of
+ COSTS_N_INSNS (1) for pand/pior/pxor loads.
+
+2026-09-10 Andrea Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR middle-end/127308
+ * genmatch.cc (operator==): Move earlier.
+ (c_code_id::gen_checking): Correct the check for CONVERT_EXPR/NOP_EXPR.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/pdp11/pdp11.cc (pdp11_rtx_costs): Move src assignment
+ into the blocks that need it.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Fix
+ two places that returned a cost directly so that they now store
+ the cost in *total and return true.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mmix/mmix-protos.h (mmix_eh_return_data_regno): Return
+ unsigned int rather than int.
+ * config/mmix/mmix.cc (mmix_eh_return_data_regno): Likewise.
+ (mmix_initial_elimination_offset): Limit regno variables to
+ their for loops and use unsigned regnos for EH data queries.
+ (mmix_use_simple_return): Likewise.
+ (mmix_expand_prologue): Likewise.
+ (mmix_expand_epilogue): Likewise.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/gcn/gcn.cc (gcn_init_cumulative_args): Start the
+ inform message with a lowercase letter. Quote the option name.
+
+2026-09-10 Aldy Hernandez <aldy@quesejoda.com>
+
+ * tree-ssa-threadbackward.cc (back_threader_profitability):
+ Remove the note on bb_insns.
+ (back_threader_profitability::possibly_profitable_path_p): Dump
+ each block's insn count.
+
+2026-09-10 Aldy Hernandez <aldy@quesejoda.com>
+
+ * tree-ssa-threadbackward.cc (back_threader_profitability): Add
+ push_bb, pop_bb, m_loop, unwind_state and m_unwind; add n_insns
+ to path_stats; replace m_n_insns with a net_insns accessor.
+ (back_threader_profitability::back_threader_profitability):
+ Initialize m_loop and m_stats.
+ (back_threader_profitability::account_bb): Return the number of
+ insns in the block.
+ (back_threader_profitability::push_bb): New.
+ (back_threader_profitability::pop_bb): New.
+ (back_threader_profitability::possibly_profitable_path_p): Use
+ the accumulated stats.
+ (back_threader_profitability::profitable_path_p): Likewise.
+ (back_threader::find_paths_to_names): Call push_bb/pop_bb.
+
+2026-09-10 Aldy Hernandez <aldy@quesejoda.com>
+
+ * tree-ssa-threadbackward.cc (back_threader_profitability): Add
+ path_stats and m_stats; move m_threaded_through_latch,
+ m_multiway_branch_in_path, m_contains_hot_bb and
+ m_unprofitable_bb into it.
+ (back_threader_profitability::account_bb): Adjust.
+ (back_threader_profitability::possibly_profitable_path_p):
+ Adjust.
+ (back_threader_profitability::profitable_path_p): Adjust.
+
+2026-09-10 Aldy Hernandez <aldy@quesejoda.com>
+
+ * tree-ssa-threadbackward.cc (back_threader_profitability): Add
+ account_bb and m_unprofitable_bb.
+ (back_threader_profitability::account_bb): New.
+ (back_threader_profitability::possibly_profitable_path_p): Use it.
+
+2026-09-10 Aldy Hernandez <aldy@quesejoda.com>
+
+ * tree-ssa-threadbackward.cc
+ (back_threader_profitability::possibly_profitable_path_p): Dump
+ the path after counting it instead of from within the loop.
+
+2026-09-10 Andrea Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * config/aarch64/aarch64-json-tunings-parser.cc (test_json_integers): Initialize params.
+ (test_json_boolean): Likewise.
+ (test_json_strings): Likewise.
+ (test_json_enums): Likewise.
+
+2026-09-10 Andrea Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/127052
+ * tree-ssa-phiopt.cc (cond_store_replacement_limited): Reject clobbers
+ for the middle bb store. And Remove the check on ssa name for the rhs
+ of the middle bb store.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * genopinit.cc (struct pattern_info): New.
+ (patterns): Use it.
+ (gen_insn): Record the pattern's C test.
+ (pattern_cmp): Use pattern_info.
+ (narrowest_uint_type): New function.
+ (main): Emit a condition-number table and a loop instead of one
+ assignment per pattern, and drop the split into 1000-pattern
+ functions.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/rx/rx.cc (rx_gen_move_template): Fix GET_MODE/GET_CODE typo.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/nds32/nds32.cc (nds32_dwarf_register_span): Remove
+ unused dwarf_single variable.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/lm32/lm32.cc (lm32_builtin_va_start): Remove unused
+ variable.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/c6x/c6x.cc (reorg_split_calls): Remove unused uid
+ and reservation_mask variables.
+ (hwloop_optimize): Remove unused delayed_splits variable.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * match.pd ((type) MAX ((wide_type) a - (wide_type) b, 0)): New
+ simplification.
+ ((type) MIN ((wide_type) a + (wide_type) b, MAX)): Likewise.
+
+2026-09-10 Roger Sayle <roger@nextmovesoftware.com>
+ Hongtao Liu <hongtao.liu@intel.com>
+
+ * config/i386/predicates.md (insertps_parallel): New predicate.
+ * config/i386/sse.md (sse4_1_insertps_<mode>_perm): New
+ define_insn to implement V4SI or V4SF permute using insertps.
+ (*sse2_insertps_<mode>_perm): Emulate the above insn on SSE2
+ by splitting to one or two of pslldq, psrldq and pshufd.
+
+2026-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * recog.h (recog_data_d): Delete copy and move constructors.
+ (recog_data_ptr): New variable.
+ (recog_data): Turn into a macro.
+ (recog_data_saver): Rename to...
+ (recog_state_saver): ...this and move into the !GENERATOR_FILE block.
+ Save and restore which_alternative. Save and restore recog_data_ptr
+ rather than doing a full recog_data_d copy.
+ * varasm.cc (assemble_asm): Explicitly initialize n_dups,
+ n_alternatives, and is_operator.
+ * recog.cc (recog_data): Replace with...
+ (main_recog_data, recog_data_ptr): ...these new variables.
+ * emit-rtl.cc (address_reload_context::emit_autoinc): Update
+ after the rename.
+ * reload.cc (can_reload_into): Use recog_state_saver rather than
+ manually saving and restoring recog_data.
+ * config/i386/i386.cc (ix86_memory_address_reg_class): Likewise.
+ (ix86_lea_outperforms): Likewise.
+ * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Likewise.
+ * config/sh/sh.cc (sh_recog_treg_set_expr): Likewise.
+ (sh_split_treg_set_expr): Likewise.
+ * config/sh/sh.md: Likewise in two peephole2s.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * match-sat-alu.pd (unsigned_integer_sat_add): Recognise comparisons
+ against the complement of an operand. Also recognise ADD_OVERFLOW
+ with a separate addition.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * genmatch.cc (case_convert_id_p): New function.
+ (same_case_p): Likewise.
+ (operation_has_case_p): Likewise.
+ (operations_overlap_p): Likewise.
+ (function_operation_p): Likewise.
+ (operand_cases_overlap_p): Likewise.
+ (cmp_operand): Handle conversion cases and function iterators.
+ (nodes_overlap_p): New function.
+ (decision_tree::find_node): Do not merge across an overlapping node.
+ (decision_tree::insert_operand): Assert the recursive lookup result.
+ (fns_cmp): Remove.
+ (dt_operand_group): New structure.
+ (add_operation_cases): New function.
+ (find_group): Likewise.
+ (collect_operand_groups): Likewise.
+ (operation_covers_group_p): Likewise.
+ (emit_operation_test): Likewise.
+ (emit_group_labels): Likewise.
+ (emit_expr_group): Likewise.
+ (emit_fn_group): Likewise.
+ (dt_node::gen_kids): Do not sort function nodes.
+ (dt_node::gen_kids_1): Emit groups with unique case labels.
+
+2026-09-10 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.md (one_cmpldi2): Use s_not_b64.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc: Spell noce_if_info without the struct keyword throughout.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (count_bb_insns, cheap_bb_rtx_cost_p, first_active_insn,
+ last_active_insn, find_active_insn_before, find_active_insn_after,
+ block_fallthru, cond_exec_get_condition, noce_get_condition,
+ find_if_header, block_jumps_and_fallthru, noce_find_if_block,
+ noce_emit_move_insn, noce_emit_store_flag, noce_try_move,
+ noce_try_ifelse_collapse, noce_try_store_flag, noce_try_addcc,
+ noce_try_store_flag_constants, noce_try_shifted_store_flag,
+ noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
+ noce_get_alt_condition, noce_try_minmax, noce_try_abs,
+ noce_try_sign_mask): Remove the unused forward declarations.
+ (noce_emit_cmove): Likewise, and give the definition the default
+ arguments.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_can_force_operand): Return a bool rather than an
+ insn_code.
+ (noce_emit_cmove): Remove ATTRIBUTE_UNUSED from local variables.
+ (bbs_ok_for_cmove_arith): Drop braces around single statements.
+ (noce_find_if_block): Value-initialize if_info instead of memsetting it.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_original_region_cost): New function.
+ (noce_process_if_block): Use it for the multiple-set and the
+ single-set estimate. Rename old_cost to base_cost and compute
+ speed_p once.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (cond_move_process_if_block): Make then_regs and else_regs
+ auto_vec and return directly instead of jumping to a cleanup label.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_seq_clobbers_cc_cmp_p): New function.
+ (noce_convert_multiple_sets_1): Use it for both candidate sequences.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (MAX_CONDITIONAL_EXECUTE): Add a comment.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (cond_exec_changed_p): Rename to...
+ (ifcvt_changed_p): ...this, and correct its comment. Adjust all uses.
+ (noce_finish_if_conversion): Bump num_updated_if_blocks.
+ (noce_convert_multiple_sets, noce_process_if_block,
+ cond_move_process_if_block): Drop the bump the helper now does.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_try_store_flag_logical): Pass 0, not false, for the
+ normalize argument.
+ (noce_convert_multiple_sets): Use a range-for over insn_info.
+ (merge_if_block, cond_exec_find_if_block): Drop the elaborated struct
+ type.
+ (block_jumps_and_fallthru): Test the insn pointer directly.
+ (cond_exec_find_if_block): Drop a redundant last_test_bb store.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_splat_to_const): New function.
+ (noce_try_sign_bit_splat): Use it for both orientations.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (merge_block_into_combo): New function.
+ (merge_if_block): Use it for the THEN and the ELSE block.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_representable_diff_p): New function.
+ (noce_try_store_flag_constants): Use it.
+ (noce_try_cmove): Likewise.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_reversed_cond): New function.
+ (noce_reversed_cond_code): Use it.
+ (noce_try_addcc, noce_try_cmove_arith, noce_try_cond_arith): Likewise.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.h (struct ce_if_block): Make and_and_p a bool.
+ (struct noce_multiple_sets_info): Correct the unmodified_insn and
+ need_cmov comments.
+ (struct noce_if_info): Correct the insn_a/insn_b, speed_p and
+ original_cost comments.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_process_if_block): Remove a redundant else_bb test.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (IFCVT_MULTIPLE_DUMPS): Remove.
+ (if_convert): Remove its now-vacuous #ifdef guards.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (first_active_insn, find_active_insn_after, block_fallthru,
+ noce_try_move, noce_try_sign_bit_splat, noce_try_store_flag_mask,
+ noce_emit_cmove, noce_try_cmove, get_base_reg_or_constant,
+ noce_try_cond_arith, try_emit_cmove_seq,
+ noce_convert_multiple_sets_1, init_noce_multiple_sets_info,
+ check_cond_move_block, find_if_header, block_jumps_and_fallthru,
+ find_if_case_2, dead_or_predicable): Fix comments.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (dead_or_predicable): Make merge_set, live and return_regs
+ auto_bitmap and drop the manual BITMAP_FREE calls.
+ (bbs_ok_for_cmove_arith): Make bba_sets an auto_bitmap.
+ (bb_valid_for_noce_process_p): Make test_bb_temps an auto_bitmap and
+ return directly instead of jumping to a cleanup label.
+ (noce_convert_multiple_sets): Make set_targets an auto_bitmap.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_convert_multiple_sets_1): Take the condition as a
+ parameter instead of re-decoding it. Remove the unused cond_earliest
+ local.
+ (noce_convert_multiple_sets): Pass the decoded condition down.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (enum ifcvt_phase): New.
+ (ifcvt_pass_phase): New, replacing...
+ (ifcvt_after_combine): ...this.
+ (cheap_bb_rtx_cost_p): Test ifcvt_pass_phase.
+ (if_convert): Take an ifcvt_phase instead of a bool.
+ (rest_of_handle_if_conversion): Adjust caller.
+ (pass_if_after_combine, pass_if_after_reload): Remove, folding both
+ into...
+ (pass_rtl_ifcvt): ...this, now parameterised on the phase.
+ (make_pass_rtl_ifcvt, make_pass_if_after_combine,
+ make_pass_if_after_reload): Construct it with the matching phase.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_commit_sequence): New function.
+ (noce_try_ifelse_collapse, noce_try_store_flag,
+ noce_try_sign_bit_splat, noce_try_inverse_constants,
+ noce_try_shifted_store_flag, noce_try_store_flag_constants,
+ noce_try_store_flag_logical, noce_try_addcc,
+ noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
+ noce_try_cond_arith, noce_try_sign_mask): Use it.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * ifcvt.cc (noce_finish_if_conversion): New function.
+ (noce_convert_multiple_sets): Use it. Remove now-unused locals.
+ (noce_process_if_block): Likewise.
+ (cond_move_process_if_block): Likewise.
+
+2026-09-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_concatv2sf_sse4_1): Restrict the condition
+ to accept only CONST0_RTX as operand 2 when operand 1 is MEM.
+ (*vec_concatv2si_sse4_1): Ditto.
+ (*vec_concatv2sf_sse): Disable the pattern when SSE4.1 is enabled.
+ (*vec_concatv2si_sse): Rename from *vec_concatv2si.
+
+2026-09-10 Shivam Gupta <shivam98.tkg@gmail.com>
+
+ PR tree-optimization/125734
+ * tree-ssa-loop-niter.cc (is_rshift_by_1): Remove TYPE_UNSIGNED restriction.
+ (number_of_iterations_cltz): Use range_on_edge to check non-negativity of
+ signed preheader input.
+ (number_of_iterations_cltz_complement): Likewise.
+
+2026-09-10 Zhongyao Chen <chen.zhongyao@zte.com.cn>
+
+ * config/riscv/riscv-protos.h (get_vector_units): New.
+ (get_scalar_units): New.
+ * config/riscv/generic-ooo.md: Update comments for vector issue width.
+ * config/riscv/generic-vector-ooo.md (vxu_ooo_issue): Change to reservation over 2 units.
+ (vxu_ooo_alu): Likewise.
+ (vxu_ooo_multicycle): Likewise.
+ * config/riscv/riscv-vector-costs.cc (costs::scale_vector_cost): New.
+ (costs::add_stmt_cost): Call it.
+ * config/riscv/riscv-vector-costs.h (costs::scale_vector_cost): New.
+ * config/riscv/riscv.cc (riscv_tune_param): Add scalar_units and
+ vector_units.
+ (generic_ooo_tune_info): Set scalar_units to 4 and vector_units to 2.
+
2026-09-09 John David Anglin <danglin@gcc.gnu.org>
PR rtl-optimization/127142
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 890cf9c73f39..59ed0b69b8e7 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260910
+20260911
diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog
index 80a4292a1edb..dc603e8c0908 100644
--- a/gcc/algol68/ChangeLog
+++ b/gcc/algol68/ChangeLog
@@ -1,3 +1,16 @@
+2026-09-10 Jose E. Marchesi <jemarch@gnu.org>
+
+ * a68-low-ranges.cc (a68_pop_range): Do not consolidate refs in
+ last unit in the range's statement list, becuase it has already
+ been consolidated.
+ (a68_add_completer): Just call to a68_consolidate_ref and avoid
+ tsi_delink.
+ (a68_pop_serial_clause_range): Likewise.
+ * a68-low-clauses.cc (a68_lower_labeled_unit): Consolidate ref in
+ second componend of compound expr.
+ * a68-low.cc (a68_consolidate_ref): Simplify and do not handle
+ compound expressions in a special way.
+
2026-07-20 Jose E. Marchesi <jemarch@gnu.org>
PR algol68/126330
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 7116834fc64f..59575b2accb5 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,10 @@
+2026-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ P3726R2
+ PR c++/125845
+ * c-cppbuiltin.cc (c_cpp_builtins): For C++26 predefine
+ __cpp_trivial_union to 202603L.
+
2026-09-03 Josef Melcr <josef.melcr@suse.com>
* c-attribs.cc (handle_callback_only_attribute): Add early
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 48044d263985..b2fabc3fdb23 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,16 @@
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * gimple-parser.cc (c_parser_gimple_statement): Parse
+ but ignore {v} marker on assignments.
+
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * gimple-parser.cc (c_parser_gimple_postfix_expression):
+ Add ret_type argument, defaulted to error_mark_node.
+ Add parsing of __CLOBBER.
+ (c_parser_gimple_binary_expression): Pass ret_type down to
+ c_parser_gimple_postfix_expression.
+
2026-09-08 Kael Andrew Alonzo Franco <kaelfandrew@gmail.com>
PR middle-end/126622
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index dcd79000c4ab..d02904b155c7 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,14 @@
+2026-09-10 Robert Dubner <rdubner@symas.com>
+
+ * compare.cc (digiter): Spelling in comment.
+ * genmath.cc (fast_add): Fix aliasing problem.
+ (get_fbinary_value): New function for converting fixed-format to
+ floating point, with rdigit scaling.
+ (add_floats): Stop using library routines in favor of GENERIC.
+ (add_format_3): Likewise.
+ (subtract_floats): Likewise.
+ (subtract_format_3): Likewise.
+
2026-09-09 Robert Dubner <rdubner@symas.com>
* genmath.cc (all_results_integer): Formatting.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dbfe817c35d3..bdd2d463f1cb 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,53 @@
+2026-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/127276
+ * pt.cc (tsubst_splice_expr): Call convert_from_reference if not
+ member access and SPLICE_EXPR is a splice expression.
+
+2026-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ P3726R2
+ PR c++/125845
+ * cp-tree.h: Implement C++26 P3726R2 - Adjustments to Union Lifetime
+ Rules. Document some generic flags used in C++ specific way on some
+ trees in the toplevel comment.
+ (CONSTRUCTOR_OMITTED_NOT_WITHIN_LIFETIME_P): Define.
+ (enum cp_built_in_function): Add CP_BUILT_IN_START_LIFETIME.
+ (reduced_constant_expression_p): Add a bool argument defaulted to
+ false.
+ * tree.cc (builtin_valid_in_constant_expr_p): Handle
+ CP_BUILT_IN_START_LIFETIME.
+ * decl.cc (cxx_init_decl_processing): Create __builtin_start_lifetime
+ decl.
+ * cp-gimplify.cc (cp_gimplify_expr): Handle
+ CP_BUILT_IN_START_LIFETIME.
+ * semantics.cc (check_frontend_builtin): New function.
+ (finish_call_expr): Use it.
+ * constexpr.cc (is_within_lifetime): New function.
+ (cxx_eval_is_within_lifetime): Use it. Add fun argument and pass it
+ to that function.
+ (cxx_eval_start_lifetime): New function.
+ (cxx_eval_builtin_function_call): Handle CP_BUILT_IN_START_LIFETIME.
+ Pass fun to cxx_eval_is_within_lifetime.
+ (is_std_allocator_allocate): Only return true for
+ std::allocator<T>::allocate and not for std::allocator<T>::deallocate.
+ (is_std_allocator_allocate_deallocate): New functions.
+ (cxx_eval_call_expression): Use is_std_allocator_allocate_deallocate
+ rather than is_std_allocator_allocate.
+ (reduced_constant_expression_p): Add union_elemental_subobject
+ argument and propagate it to recursive calls. If set, ignore for
+ C++26 holes in array initializers which aren't within lifetime.
+ (modifying_const_object_p): Change != MODIFY_EXPR test to == INIT_EXPR.
+ (cxx_eval_store_expression): Handle MODOP_EXPR next to INIT_EXPR and
+ MODIFY_EXPR, meaning start_lifetime. Don't preevaluate init in that
+ case, return void_node early if *valp is already non-NULL/void_node
+ and within lifetime.
+ (cxx_eval_constant_expression): For std::allocator<T>::allocate
+ start lifetime of the created array but not of its subobjects.
+ Use is_std_allocator_allocate_deallocate rather than
+ is_std_allocator_allocate where appropriate.
+ (potential_constant_expression_1): Likewise.
+
2026-09-09 Léo Hardt <leom.hardt@inf.ufrgs.br>
* mangle.cc (write_expression): don't call
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 7e54702d7639..c974a9aa084e 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,9 @@
+2026-09-10 Tobias Burnus <tburnus@baylibre.com>
+
+ PR middle-end/127273
+ * lto.cc (offload_handle_link_vars): Create node and force_output;
+ avoid creating the same '...$linkptr' var multiple times.
+
2026-09-08 Kael Andrew Alonzo Franco <kaelfandrew@gmail.com>
PR middle-end/126622
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 61a4d978ee7d..c75fcadcc136 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,483 @@
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-compile-type.cc (TyTyResolveCompile::visit): make vector
+ * rust-gcc.cc (struct_field_expression): we use bit field acces for lanes
+ (constructor_expression): special case VECTOR
+ (convert_tree): likewise for canonical main variant
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-constexpr.cc (eval_constant_expression): port over goto
+ (potential_constant_expression_1): likewise
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-expr.h (LlvmInlineAsm::LlvmInlineAsm): Initialize
+ more member variables.
+ (LlvmInlineAsm::get_dialect): Make function const qualified.
+ (LlvmInlineAsm::is_stack_aligned): Likewise.
+ (LlvmInlineAsm::is_volatile): Likewise.
+ * backend/rust-compile-asm.cc
+ (CompileLlvmAsm::construct_operands): Handle llvm-specific "=*m"
+ constraint.
+ (CompileLlvmAsm::tree_codegen_asm): Handle change from multiple
+ template strings to a single template string.
+ * hir/rust-ast-lower-expr.cc (convert_template_str): New
+ function.
+ (check_llvm_asm_support): Remove unnecessary parameters and
+ expand the set of allowed llvm_asm usages.
+ (ASTLoweringExpr::visit (LlvmInlineAsm)): Adjust lowering.
+ * hir/tree/rust-hir-expr.h (LlvmInlineAsm::templates): Remove
+ member variable and replace with...
+ (LlvmInlineAsm::template_str): ...new member variable.
+ (LlvmInlineAsm::LlvmInlineAsm): Handle member variable changes.
+ (LlvmInlineAsm::get_templates): Remove member function and
+ replace with...
+ (LlvmInlineAsm::get_template): ...new member function.
+ * hir/tree/rust-hir-visitor.cc
+ (DefaultHIRVisitor::walk (LlvmInlineAsm)): Visit outer
+ attributes.
+ * typecheck/rust-hir-type-check-expr.cc
+ (TypeCheckExpr::visit (LlvmInlineAsm)): Adjust comments.
+
+2026-09-10 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * util/rust-lang-item.h (LangItem::Kind): Add lang item declarations for missing
+ lang items required for core 1.49 compilation.
+ * util/rust-lang-item.cc (LangItem::lang_items): Ditto.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust-diagnostics.cc (rust_debug_fmt_at): New function
+ definition.
+ * rust-diagnostics.h (rust_debug_fmt): New function-like macro
+ definition.
+ (rust_debug_fmt_at): New function declaration.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-trait-reference.h: add emit_errors option
+ * typecheck/rust-hir-trait-resolve.cc (AssociatedImplTrait::bind_impl_for_projection): new
+ (AssociatedImplTrait::bind_impl_for_bound): call new validate function
+ * typecheck/rust-type-util.cc (lookup_associated_impl_block): make this more generic
+ * typecheck/rust-tyty-call.cc (validate_call_argument_associated_impl_bounds): new
+ (TypeCheckCallExpr::visit): for each call arg validate and bind
+ (TypeCheckMethodCallExpr::check): likewise
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * checks/errors/rust-unsafe-checker.cc (check_static_mut)
+ (check_extern_static, check_unsafe_call, check_extern_call)
+ (check_target_attr): Return whether the operation requires unsafe and
+ only error outside of an unsafe context.
+ (UnsafeChecker::mark_unsafe_used): New.
+ (UnsafeChecker::check_use_of_static)
+ (UnsafeChecker::check_function_call)
+ (UnsafeChecker::check_function_attr): Mark the unsafe block as used.
+ (UnsafeChecker::visit): Mark used and warn on unnecessary unsafe block.
+ * checks/errors/rust-unsafe-checker.h (UnsafeChecker): Add
+ mark_unsafe_used and used_unsafe_blocks.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * hir/rust-ast-lower.cc (ASTLoweringBlock::visit): Check if a
+ statement is an item before warning.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-constexpr.cc (maybe_fold_reference_address_to_pointer): port over from cp
+ (eval_binary_expression): likewise
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * parse/rust-parse-impl.hxx:
+ * typecheck/rust-hir-type-check-base.cc:
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * ast/rust-ast-visitor.cc (ContextualASTVisitor::visit): missing visitor
+ * ast/rust-ast-visitor.h: prototype
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Handle Box
+ receivers correctly during dynamic dispatch.
+ * typecheck/rust-hir-dot-operator.cc (MethodResolver::try_hook):
+ Extract the inner type of a Box to resolve trait methods.
+ * util/rust-lang-item.cc (Rust::LangItem::lang_items): Register
+ dispatch_from_dyn to the BiMap.
+ * util/rust-lang-item.h (class LangItem): Add DISPATCH_FROM_DYN
+ to the Kind enum.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-expr.cc (compile_box): Remove DST guard.
+ (build_box_inner_ptr): Add fat pointer control.
+ (CompileExpr::visit): Add auto-deref for box.
+ (HIRCompileBase::resolve_deref_adjustment): Return fat or thin
+ pointer.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Add auto-deref for box.
+ * typecheck/rust-tyty.cc (ADTType::is_box): New function.
+ * typecheck/rust-tyty.h (class BaseType): New declaration.
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+ New.
+ * checks/lints/unused/rust-unused-checker.h (UnusedChecker::visit):
+ New.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-ast-collector.cc
+ (TokenCollector::visit (LlvmInlineAsm)): Improve accuracy of
+ token collection.
+ * ast/rust-ast-pointer-visitor.cc
+ (PointerVisitor::visit (LlvmInlineAsm)): Visit outer attributes.
+ * ast/rust-ast-visitor.cc
+ (DefaultASTVisitor::visit (LlvmInlineAsm)): Likewise.
+ * ast/rust-expr.h (LlvmInlineAsm::templates): Remove member
+ variable and replace with...
+ (LlvmInlineAsm::template_str): ...new member variable.
+ (LlvmInlineAsm::LlvmInlineAsm): Initialize template_str.
+ (LlvmInlineAsm::get_templates): Remove member function.
+ (LlvmInlineAsm::set_template): New member function.
+ (LlvmInlineAsm::get_template): Likewise.
+ * expand/rust-macro-builtins-asm.cc (parse_llvm_templates):
+ Rename to...
+ (parse_llvm_template): ...here and adjust to not expect multiple
+ template strings.
+ (parse_llvm_asm): Handle rename of parse_llvm_templates to
+ parse_llvm_template.
+ * hir/rust-ast-lower-expr.cc (check_llvm_asm_support): Handle
+ changes to LlvmInlineAsm.
+ (ASTLoweringExpr::visit (LlvmInlineAsm)): Likewise.
+
+2026-09-10 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * typecheck/rust-hir-type-check-item.cc
+ (check_repr_c_enum_discriminants): New.
+ (TypeCheckItem::visit): Check repr(C) enum discriminants.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * backend/rust-compile-drop.cc
+ (CompileDrop::build_current_scope_drop_cleanup): Skip definitely
+ dead Drop candidates.
+ * checks/errors/borrowck/rust-bir-drop-analysis.cc
+ (DropAnalysis::get): New function.
+ (DropAnalysis::clear): Likewise.
+ (DropAnalysis::is_definitely_dead): Likewise.
+ (DropAnalysis::analyze): Record dead whole-local HirIds.
+ * checks/errors/borrowck/rust-bir-drop-analysis.h
+ (DropAnalysis::get): New declaration.
+ (DropAnalysis::clear): Likewise.
+ (DropAnalysis::is_definitely_dead): Likewise.
+ (DropAnalysis::definitely_dead): New member.
+ * checks/errors/borrowck/rust-borrow-checker.cc
+ (BorrowChecker::go): Clear old Drop analysis results and analyze
+ each BIR function.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Add
+ indirect field access for DST's and new borrow approach for fat
+ pointers.
+ (resolve_unsized_adt_adjustment): Correct GIMPLE generation for
+ nested unsized ADTs.
+ * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Add
+ DST ADT support.
+ (TyTyResolveCompile::create_dyn_adt_record): New function.
+ * backend/rust-compile-type.h (create_dyn_adt_record): New
+ declaration.
+ * backend/rust-intrinsic-handlers.cc (get_inner_dst): New
+ function.
+ (size_of_val_handler): Add DST ADT support.
+ (min_align_of_val_handler): Likewise.
+ * typecheck/rust-coercion.cc
+ (TypeCoercionRules::coerce_unsized_adt): Skip zero-sized fields
+ during coercion.
+ * backend/rust-compile.cc (HIRCompileBase::coerce_to_dyn_object):
+ Remove unnecessary ref wrapping.
+ * typecheck/rust-tyty.cc (ADTType::is_unsized): New function.
+ (ReferenceType::is_dyn_object): Add DST ADT support.
+ (ReferenceType::is_dyn_adt_type): New function.
+ (PointerType::is_dyn_object): Add DST ADT support.
+ (PointerType::is_dyn_adt_type): New function.
+ * typecheck/rust-tyty.h (is_unsized): New declaration.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-base.h (resolve_adjustments): Fix typo.
+ (resolve_unsized_adt_adjustment): New declaration.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Fix typo.
+ (HIRCompileBase::resolve_unsized_adt_adjustment): New function.
+ (HIRCompileBase::resolve_unsized_adjustment): Use it.
+ (CompileExpr::generate_possible_fn_trait_call): Likewise.
+ (HIRCompileBase::coercion_site): Fix typo.
+ * typecheck/rust-coercion.cc
+ (TypeCoercionRules::coerce_unsized): Use helper functions.
+ (TypeCoercionRules::unwrap_ptrs_and_refs): New function.
+ (TypeCoercionRules::coerce_unsized_array_to_slice): Likewise.
+ (TypeCoercionRules::coerce_unsized_dyn): Likewise.
+ (TypeCoercionRules::coerce_unsized_adt): Liksewise.
+ (TypeCoercionRules::apply_reborrow_adjustment): Likewise.
+ * typecheck/rust-coercion.h (struct CoercionSetup): New struct.
+ (coerce_unsized): Add is_inner parameter.
+ (unwrap_ptrs_and_refs): New declaration.
+ (coerce_unsized_array_to_slice): Likewise.
+ (coerce_unsized_dyn): Likewise.
+ (coerce_unsized_adt): Likewise.
+ * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add
+ coerce_unsized to the BiMap.
+ * util/rust-lang-item.h (class LangItem): Add COERCE_UNSIZED to
+ the Kind enum.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * typecheck/rust-coercion.cc
+ (TypeCoercionRules::coerce_unsized): Add array-to-slice coercion
+ support.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * typecheck/rust-tyty.cc (BaseType::unsize_to): New function.
+ (BaseType::satisfies_bound): Use it.
+ * typecheck/rust-tyty.h (class BaseType): New declaration.
+ * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add
+ unsize to the BiMap.
+ * util/rust-lang-item.h (class LangItem): Add UNSIZE to the Kind
+ enum.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-drop-analysis.cc
+ (BasicBlockIdHash): New helper.
+ (DropAnalysis::analyze): Use unordered_set for visited block tracking.
+ * checks/errors/borrowck/rust-bir-drop-analysis.h: Include rust-bir.h
+ directly and remove Function forward declaration.
+ * checks/errors/borrowck/rust-bir-place.h
+ (IndexVec::IndexVec): Add comment for sized constructor.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * Make-lang.in: Add rust-bir-drop-analysis.o.
+ * checks/errors/borrowck/rust-bir.h:
+ (Statement::DropStyle): New enum.
+ (Statement::Kind): Add DROP.
+ (Statement::make_drop): New function.
+ (Statement::get_drop_style): Likewise.
+ (Statement::set_drop_style): Likewise.
+ * checks/errors/borrowck/rust-bir-builder-internal.h:
+ (AbstractBuilder::declare_argument): New function.
+ (AbstractBuilder::push_drop): Likewise.
+ (AbstractBuilder::push_function_argument_drops): Likewise.
+ (AbstractBuilder::pop_scope): Schedule Drop statements.
+ (AbstractBuilder::unwind_until): Likewise.
+ (AbstractBuilder::push_return): Schedule function argument drops.
+ * checks/errors/borrowck/rust-bir-builder.h
+ (Builder::handle_param): Use declare_argument for function
+ parameters.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit): Dump
+ Drop classifications.
+ * checks/errors/borrowck/rust-bir-fact-collector.h
+ (FactCollector::visit): Handle Drop statements.
+ * checks/errors/borrowck/rust-borrow-checker.cc
+ (BorrowChecker::go): Run BIR Drop analysis.
+ * checks/errors/borrowck/rust-bir-drop-analysis.cc: New file.
+ * checks/errors/borrowck/rust-bir-drop-analysis.h: New file.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h
+ (IndexVec::IndexVec): Create the requested number of elements.
+
+2026-09-10 Utkarsh Bahuguna <utkarshbahuguna10@gmail.com>
+
+ * util/rust-hir-map.h (Mappings::insert_extern_crate_id)
+ (Mappings::is_extern_crate): New declaration.
+ (Mappings::extern_crate_ids): New member.
+ * util/rust-hir-map.cc (Mappings::insert_extern_crate_id)
+ (Mappings::is_extern_crate): New function.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit (ExternCrate)): New declaration.
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::check_multiple_insertion_error): Select E0259, E0260 or
+ E0428 based on the colliding declarations.
+ (TopLevel::visit (ExternCrate)): New function definition.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * backend/rust-compile-block.cc (is_control_flow_expr): New helper.
+ (CompileBlock::visit): Emit tail-position break and continue
+ expressions as statements.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Return the
+ translated expression for unlabeled break instead of emitting it
+ directly.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * backend/rust-compile-pattern.cc
+ (CompilePatternBindings::visit (SlicePattern)): Assert that the
+ rest pattern isn't bound (currently unsupported).
+ * checks/errors/borrowck/rust-bir-builder-pattern.cc
+ (PatternBindingBuilder::visit (SlicePattern)): Handle bound rest
+ pattern.
+ * checks/errors/rust-ast-validation.cc
+ (ASTValidation::visit (AST::SlicePattern)): Likewise.
+ * hir/rust-ast-lower-pattern.cc
+ (ASTLoweringPattern::visit (AST::SlicePattern)): Likewise.
+ * hir/rust-hir-dump.cc (Dump::visit (SlicePatternItemsHasRest)):
+ Likewise.
+ * hir/tree/rust-hir-pattern.h
+ (SlicePatternItemsHasRest::rest_bind): New member variable.
+ (SlicePatternItemsHasRest::SlicePatternItemsHasRest): Initialize
+ rest_bind.
+ (SlicePatternItemsHasRest::operator=): Likewise.
+ (SlicePatternItemsHasRest::has_rest_bind): New member function.
+ (SlicePatternItemsHasRest::get_rest_bind): Likewise.
+ * hir/tree/rust-hir-visitor.cc
+ (DefaultHIRVisitor::walk (SlicePatternItemsHasRest)): Handle
+ bound rest pattern.
+ * hir/tree/rust-hir.cc (SlicePatternItemsHasRest::to_string):
+ Likewise.
+ * typecheck/rust-hir-type-check-pattern.cc
+ (TypeCheckPattern::visit (SlicePattern)): Assert that the rest
+ pattern isn't bound (currently unsupported).
+
+2026-09-10 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * typecheck/rust-tyty.h (ADTType::ReprKind): Add new SIMD variant.
+ * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::parse_repr_options): Parse
+ #[repr(simd)] attribute, rename inline_option to repr_option.
+ * typecheck/rust-hir-type-check-item.h (TypeCheckItem::validate_repr_simd): New
+ function.
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::validate_repr_simd):
+ Implement type-checking of #[repr(simd)] structs.
+ (TypeCheckItem::visit (HIR::TupleStruct)): Support type-checking simd representation.
+ (TypeCheckItem::visit (HIR::StructStruct)): Ditto.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc
+ (Early::resolve_rebind_import): Use the final segment's NodeId
+ for 'self' imports instead of the parent's to avoid clashing with
+ glob imports.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add pin
+ and unpin lang items to the BiMap.
+ * util/rust-lang-item.h (class LangItem): Add PIN and UNPIN to
+ the Kind enum.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * typecheck/rust-tyty-bounds.cc
+ (TypeBoundsProbe::add_trait_bound): Check all fields of an ADT.
+ * typecheck/rust-tyty.cc (BaseType::satisfies_bound): Reject
+ trait if there is a negative impl.
+
+2026-09-10 Aiman Najjar <aiman.najjar@hurranet.com>
+
+ * checks/lints/unused/rust-unused-checker.cc
+ (UnusedChecker::visit): Update logic for checking unused
+ assignments.
+ * checks/lints/unused/rust-unused-context.cc
+ (UnusedContext::add_assign): Use new set to track unused
+ assignments.
+ (UnusedContext::remove_assign): Update to track only last
+ assignment.
+ (UnusedContext::is_variable_assigned): Likewise.
+ (UnusedContext::is_assign_unused): New helper function to
+ check if given id was marked as unused by collector.
+ * checks/lints/unused/rust-unused-context.h:
+ (class UnusedContext): Add new set to track unused assignments and
+ changed current structure to track only last assignment per
+ variable (one to one map).
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-desugar-apit.cc (DesugarApit::visit): Call DefaultASTVisitor::visit
+ on the function we're currently visiting.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * hir/rust-ast-lower-type.h: New enum, change API to use it.
+ * hir/rust-ast-lower-implitem.cc (ASTLowerImplItem::visit): Use the new ImplTrait enum.
+ * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): Likewise.
+ * hir/rust-ast-lower-type.cc (ASTLoweringType::ASTLoweringType): Likewise.
+ (ASTLoweringType::translate): Likewise.
+ (ASTLoweringType::visit): Likewise.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * util/rust-lang-item.h: Add enum value for VaListImpl.
+ * util/rust-lang-item.cc: Register it.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * util/rust-lang-item.h: Add enum value for Freeze.
+ * util/rust-lang-item.cc: Register it.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * util/rust-attributes.h: Change Attributes::is_known API to return an enum, add
+ AttributeKnowledge result enum.
+ * util/rust-attribute-values.h: Add more known tool attributes.
+ * util/rust-attributes.cc (Attributes::is_known): Check for tool attributes and
+ adapt return type.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_outer_attributes): Use new
+ API and ignore tool attributes.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::visit): Likewise.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-collect-lang-items.cc (get_lang_item_attr): Remove attribute checking
+ code as this will be done during lowering.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_outer_attributes): Mention
+ the attribute which is unknown.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-builder.h: Add new parameter to Builder::new_type_param to avoid
+ recreating default type parameters when building the new type parameter.
+ * ast/rust-ast-builder.cc: Implement the change.
+ * expand/rust-derive.cc: Use it in setup_impl_generics.
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+ New.
+ * checks/lints/unused/rust-unused-checker.h (UnusedChecker::visit):
+ New.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * expand/rust-expand-visitor.cc
+ (ExpandVisitor::expand_struct_fields): Remove function
+ definition.
+ (ExpandVisitor::expand_tuple_fields): Likewise.
+ (ExpandVisitor::visit (Function)): Visit outer attributes, add
+ comment about inner attribute visiting.
+ (ExpandVisitor::visit (StructStruct)): Remove function
+ definition.
+ (ExpandVisitor::visit (TupleStruct)): Likewise.
+ (ExpandVisitor::visit (EnumItemTuple)): Likewise.
+ (ExpandVisitor::visit (EnumItemStruct)): Likewise.
+ (ExpandVisitor::visit (Union)): Likewise.
+ (ExpandVisitor::visit (ExternalStaticItem)): Likewise.
+ * expand/rust-expand-visitor.h
+ (ExpandVisitor::visit (StructStruct)): Remove function
+ declaration.
+ (ExpandVisitor::visit (TupleStruct)): Likewise.
+ (ExpandVisitor::visit (EnumItemTuple)): Likewise.
+ (ExpandVisitor::visit (EnumItemStruct)): Likewise.
+ (ExpandVisitor::visit (Union)): Likewise.
+ (ExpandVisitor::visit (ExternalStaticItem)): Likewise.
+ (ExpandVisitor::expand_fields): Likewise.
+
2026-09-08 Kael Andrew Alonzo Franco <kaelfandrew@gmail.com>
PR middle-end/126622
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c2f38570597a..e71d30e4f913 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,238 @@
+2026-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/vperm-v4sf-3.c: New test.
+ * gcc.target/i386/vperm-v4si-3.c: New test.
+
+2026-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/127276
+ * g++.dg/reflect/pr127276.C: New test.
+
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/gimplefe-61.c: New file.
+
+2026-09-11 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/gimplefe-60.c: New testcase.
+
+2026-09-11 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/127020
+ * gcc.target/i386/sse2-stv-3.c: Adjusted.
+ * gcc.target/i386/sse2-stv-8.c: New test.
+ * gcc.target/i386/sse2-stv-9.c: Likewise.
+
+2026-09-10 Andrea Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/127052
+ * gcc.dg/tree-ssa/cselim-6.c: New test.
+ * gcc.dg/tree-ssa/cselim-7.c: New test.
+
+2026-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ P3726R2
+ PR c++/125845
+ * g++.dg/cpp26/feat-cxx26.C: Adjust __cpp_trivial_union checking.
+ * g++.dg/cpp26/trivial-union3.C: New test.
+ * g++.dg/cpp26/trivial-union4.C: New test.
+ * g++.dg/cpp26/trivial-union5.C: New test.
+ * g++.dg/cpp26/trivial-union6.C: New test.
+ * g++.dg/cpp26/within-lifetime3.C: Remove #if 0 and #endif.
+ * g++.dg/cpp26/within-lifetime8.C: New test.
+ * g++.dg/cpp26/within-lifetime9.C: New test.
+ * g++.dg/cpp29/feat-cxx29.C: Adjust __cpp_trivial_union checking.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4794.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-1553.rs: New test.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * rust/execute/drop-explicit-return.rs: Test parameter drops on explicit
+ return.
+ * rust/execute/drop-function-boundary-moves.rs: New test.
+ * rust/execute/drop-function-params.rs: Test multiple parameter drop
+ order.
+ * rust/execute/drop-if-else-local.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4678.rs: New test.
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/unused-unsafe_0.rs: New test.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/unreachable.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4631.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4157-1.rs: New test.
+ * rust/compile/issue-4157-2.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4173-1.rs: New test.
+ * rust/compile/issue-4173-2.rs: New test.
+ * rust/compile/issue-4173-3.rs: New test.
+
+2026-09-10 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-3585-1.rs: New test.
+ * rust/compile/issue-3585-2.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/box-dispatch-from-dyn.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/box-dispatch-1.rs: New test.
+ * rust/execute/box-dispatch-2.rs: New test.
+ * rust/execute/unsized-adt-size.rs: Format test.
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/break-with-label-and-loop_0.rs: New test.
+
+2026-09-10 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * rust/compile/repr-c-enums-larger-than-int_0.rs: New test.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * rust/execute/drop-whole-local-move.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/unsized-adt-nested-coercion.rs: New test.
+ * rust/execute/unsized-adt-size.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/coercion2.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/coercion.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/unsize2.rs: New test.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * rust/borrowck/drop_analysis_whole_move.rs: New test.
+
+2026-09-10 Utkarsh Bahuguna <utkarshbahuguna10@gmail.com>
+
+ * rust/link/extern_crate_alias_0.rs: New test.
+ * rust/link/extern_crate_alias_1.rs: New test.
+ * rust/link/extern_crate_dup_0.rs: New test.
+ * rust/link/extern_crate_dup_1.rs: New test.
+ * rust/link/extern_crate_item_conflict_0.rs: New test.
+ * rust/link/extern_crate_item_conflict_1.rs: New test.
+
+2026-09-10 Lishin <lishin1008@gmail.com>
+
+ * rust/execute/drop-unlabeled-break-continue.rs: New test.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/slice_rest_pattern_2.rs: New test.
+
+2026-09-10 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * rust/compile/repr_simd.rs: New file.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/issue-4689-1.rs: New test.
+ * rust/compile/issue-4689-2.rs: New test.
+
+2026-09-10 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/lang-pin-unpin.rs: New test.
+
+2026-09-10 Aiman Najjar <aiman.najjar@hurranet.com>
+
+ * rust/compile/issue-4747.rs: New test.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/apit-in-inner-fn.rs: New test.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/va_list-lang-item.rs: New test.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/freeze-lang-item.rs: New test.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/tool-attribute1.rs: New test.
+
+2026-09-10 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/derive-with-default-types.rs: New test.
+
+2026-09-10 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/double-negations_0.rs: New test.
+
+2026-09-10 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/doc_macro_2.rs: New test.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * gcc.target/aarch64/sat_u_promoted-1.c: New test.
+ * gcc.target/aarch64/sat_u_promoted-2.c: New test.
+ * gcc.target/aarch64/sat_u_promoted-3.c: New test.
+ * g++.target/aarch64/sat_u_promoted-vector-1.C: New test.
+
+2026-09-10 Jose E. Marchesi <jemarch@gnu.org>
+
+ * algol68/execute/labeled-unit-1.a68: New test.
+ * algol68/execute/plusab-5.a68: Likewise.
+
+2026-09-10 Roger Sayle <roger@nextmovesoftware.com>
+ Hongtao Liu <hongtao.liu@intel.com>
+
+ * gcc.target/i386/sse4_1-insertps-8.c: New test case.
+ * gcc.target/i386/sse4_1-insertps-9.c: Likewise.
+ * gcc.target/i386/vperm-v4sf-3-sse4.c: Likewise.
+ * gcc.target/i386/vperm-v4sf-3.c: Likewise.
+ * gcc.target/i386/vperm-v4si-3-sse4.c: Likewise.
+ * gcc.target/i386/vperm-v4si-3.c: Likewise.
+
+2026-09-10 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * gcc.target/aarch64/sat_u_add_not_cmp-1.c: New test.
+ * gcc.target/aarch64/sat_u_add_not_cmp-2.c: New test.
+
+2026-09-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/vec-concatv2sf.c: New test.
+
+2026-09-10 Shivam Gupta <shivam98.tkg@gmail.com>
+
+ PR tree-optimization/125734
+ * gcc.dg/tree-ssa/pr125734.c: New test.
+
2026-09-09 Iain Sandoe <iain@sandoe.co.uk>
* lib/target-supports.exp (natural_alignment_32) Remove
diff --git a/libgcc/config/avr/libf7/ChangeLog b/libgcc/config/avr/libf7/ChangeLog
index a0cfd5e91e87..5b6ff5901534 100644
--- a/libgcc/config/avr/libf7/ChangeLog
+++ b/libgcc/config/avr/libf7/ChangeLog
@@ -1,3 +1,12 @@
+2026-09-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/127032
+ * libf7-asm.sx (config.h): Include it.
+ (DALIAS) [sizeof(double)==8 && HAVE_AS_AVR_GNU_ATTRIBUTE]:
+ Add .gnu_attribute 8,64.
+ (LALIAS) [sizeof(long double)==8 && HAVE_AS_AVR_GNU_ATTRIBUTE]:
+ Add .gnu_attribute 12,64.
+
2026-08-25 Georg-Johann Lay <avr@gjlay.de>
PR target/127071
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index 38cb6898101c..a9e352533ee7 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,20 @@
+2026-09-10 Robert Dubner <rdubner@symas.com>
+
+ * gmath.cc (__gg__conditional_stash_float): New routine supporting
+ faster GENERIC arithmetic.
+ (__gg__add_fixed_phase1): Remove obsolete function.
+ (__gg__addf1_fixed_phase2): Likewise.
+ (__gg__fixed_phase2_assign_to_c): Likewise.
+ (__gg__add_float_phase1): Likewise.
+ (__gg__addf1_float_phase2): Likewise.
+ (__gg__float_phase2_assign_to_c): Likewise.
+ (__gg__addf3): Likewise.
+ (__gg__subtractf1_fixed_phase2): Likewise.
+ (__gg__subtractf2_fixed_phase1): Likewise.
+ (__gg__subtractf1_float_phase2): Likewise.
+ (__gg__subtractf2_float_phase1): Likewise.
+ (__gg__subtractf3): Likewise.
+
2026-09-09 Robert Dubner <rdubner@symas.com>
* common-defs.h (enum cbl_round_t): Ensure storage is 'int'
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 72d1ac7d3fcf..f7da37ff6687 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-10 Tobias Burnus <tburnus@baylibre.com>
+
+ PR middle-end/127273
+ * testsuite/libgomp.c/usm_env_handling-1-self.c: Remove 'dg-ice'.
+
2026-09-09 Tobias Burnus <tburnus@baylibre.com>
PR middle-end/122205
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c282fe3af266..b3c6d8308c4c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,75 @@
+2026-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ * include/std/bit: Implement C++29 P3793R2 - Better shifting.
+ (std::__signed_or_unsigned_integer): New concept.
+ (std::shl, std::shr): New function templates.
+ * include/bits/version.def (bitops): Add different value for C++29.
+ * include/bits/version.h: Regenerate.
+ * src/c++23/std.cc.in (std::shl, std::shr): Export for C++29.
+ * testsuite/26_numerics/bit/bit.shift/shl.cc: New test.
+ * testsuite/26_numerics/bit/bit.shift/shr.cc: New test.
+
+2026-09-11 Avi Kivity <avi@scylladb.com>
+
+ PR libstdc++/127325
+ * include/std/inplace_vector: replace is_trivial_v with
+ is_trivially_default_constructible_v and is_trivially_copyable_v.
+
+2026-09-10 Iain Sandoe <iain@sandoe.co.uk>
+
+ * acinclude.m4: Do not gate the use of 'timespec' with
+ _POSIX_TIMERS > 0. For the auto case, set ac_has_clock_monotonic
+ and ac_has_clock_realtime for Darwin versions that implement them.
+ * configure: Regenerate.
+
+2026-09-10 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR libstdc++/126807
+ * include/bits/simd_details.h: Make the math_errhandling
+ macro into a default template argument.
+
+2026-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ P3726R2
+ PR c++/125845
+ * include/bits/version.def (start_lifetime): New.
+ * include/bits/version.h: Regenerate.
+ * include/bits/stl_construct.h (std::start_lifetime): New function
+ template.
+ * include/std/memory: Define __glibcxx_want_start_lifetime before
+ including bits/version.h.
+ * src/c++23/std.cc.in: Add export std::start_lifetime.
+
+2026-09-10 Tomasz Kamiński <tkaminsk@redhat.com>
+ Marco Falke <falke.marco@gmail.com>
+
+ PR libstdc++/126949
+ * include/bits/hashtable_policy.h (_Hash_code_base::_M_hash)
+ (_Hashtable_base::_M_equal, _Hashtable_alloc::_M_alloc):
+ Value initialized members in NSDMI.
+ * testsuite/23_containers/unordered_map/cons/default.cc: Check
+ default construction with an hash, equality and allocator with
+ explicit constructor.
+ * testsuite/23_containers/unordered_set/cons/default.cc: Likewise.
+
+2026-09-10 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/127220
+ * include/std/format (__format::_Arg_t): Move definition
+ earlier.
+ (basic_format_parse_context::check_dynamic_spec): Construct
+ array of _Arg_t from template parameter list.
+ (basic_format_parse_context::check_dynamic_spec_integral):
+ Construct array of _Arg_t based on supported types.
+ (basic_format_parse_context::check_dynamic_spec_string):
+ Likewise.
+ (basic_format_parse_context::__check_dynamic_spec): Replace
+ template parameter list with span<const _Arg_t> function
+ parameter and simplify accordingly. Define in class body.
+ (basic_format_parse_context::_Scan_parse_context): New struct
+ the replaces _Scanner::_Parse_context.
+ (__format::_Scanner::_M_pc): Change type to _Scan_parse_context.
+
2026-09-09 Sammy Al Hashemi <sammy@salh.xyz>
PR libstdc++/122071
More information about the Libstdc++-cvs
mailing list