[gcc r17-2271] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Thu Jul 9 00:17:23 GMT 2026
https://gcc.gnu.org/g:e5af677005c7ab7a86f825bfabd6b665044f68fd
commit r17-2271-ge5af677005c7ab7a86f825bfabd6b665044f68fd
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Thu Jul 9 00:16:52 2026 +0000
Daily bump.
Diff:
---
gcc/ChangeLog | 227 +++++++++++++++++++++
gcc/DATESTAMP | 2 +-
gcc/c-family/ChangeLog | 6 +
gcc/c/ChangeLog | 27 +++
gcc/cobol/ChangeLog | 44 ++++
gcc/fortran/ChangeLog | 51 +++++
gcc/rust/ChangeLog | 532 ++++++++++++++++++++++++++++++++++++++++++++++++
gcc/testsuite/ChangeLog | 288 ++++++++++++++++++++++++++
libgcc/ChangeLog | 8 +
libgfortran/ChangeLog | 17 ++
libstdc++-v3/ChangeLog | 13 ++
11 files changed, 1214 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2340e2ed0c8e..770f30ca1a10 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,230 @@
+2026-07-08 Jim Lin <jim@andestech.com>
+
+ * config/riscv/riscv.h (TARGET_SFB_ALU): Add andes_45_series.
+
+2026-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/126148
+ * config/i386/i386-expand.cc (ix86_gen_ccmp_first): Restrict
+ floating-point modes accepted for ccmp according to the
+ available floating-point instruction set.
+
+2026-07-08 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR rtl-optimization/126136
+ * ifcvt.cc (noce_try_store_flag_logical): Fix for STORE_FLAG_VALUE
+ of -1.
+
+2026-07-08 Jim Lin <jim@andestech.com>
+
+ * config/riscv/spacemit-x60.md (spacemit_x60_alu): Remove cpop
+ from the type list.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.cc (vect_build_slp_tree_1): Remove group_size
+ argument and adjust.
+ (vect_build_slp_tree_2): Likewise.
+ (vect_build_slp_tree): Likewise.
+ (optimize_load_redistribution_1): Likewise.
+ (vect_build_slp_instance): Likewise.
+ (vect_analyze_slp_reduc_chain): Likewise.
+ (vect_analyze_slp_reduction): Likewise.
+ (vect_analyze_slp_reduction_group): Likewise.
+ (vect_analyze_slp_instance): Likewise.
+ (vect_lower_load_permutations): Likewise.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126150
+ * tree-cfg.cc (replace_uses_by): Delay purging of EH edges
+ until after FOR_EACH_IMM_USE_STMT finished.
+
+2026-07-08 Martin Uecker <uecker@tugraz.at>
+
+ * tree.h (flexible_array_member_type_p): New helper function.
+ * tree.cc (flexible_array_member_type_p): New helper function.
+ (flexible_array_type_p): Use new helper function.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126159
+ * tree-data-ref.cc (dr_analyze_indices): Handle non-aggregate
+ union field accesses.
+ (access_fn_component_p): Adjust.
+
+2026-07-08 Pengfei Li <Pengfei.Li2@arm.com>
+
+ * match.pd: Simplify SAD(x, x, acc) into acc.
+
+2026-07-08 Evgeny Karpov <evgeny.karpov@arm.com>
+
+ * config/i386/cygming.h (TARGET_ASM_FUNCTION_END_PROLOGUE):
+ Rename.
+ (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Likewise.
+ (TARGET_ASM_INIT_SECTIONS): Likewise.
+ (SUBTARGET_ASM_UNWIND_INIT): Likewise.
+ (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ (ASM_DECLARE_COLD_FUNCTION_SIZE): Likewise.
+ * config/i386/i386-protos.h (i386_pe_end_function):
+ Remove declarations.
+ (i386_pe_end_cold_function): Likewise.
+ (i386_pe_seh_init): Likewise.
+ (i386_pe_seh_end_prologue): Likewise.
+ (i386_pe_seh_cold_init): Likewise.
+ (i386_pe_seh_emit_except_personality): Likewise.
+ (i386_pe_seh_init_sections): Likewise.
+ * config/mingw/winnt.cc (defined): Update.
+ (struct seh_frame_state): Move to mingw/winnt.h.
+ (i386_pe_seh_init): Rename into ...
+ (mingw_pe_seh_init): ... this.
+ (i386_pe_seh_end_prologue): Rename into ...
+ (mingw_pe_seh_end_prologue): ... this.
+ (i386_pe_seh_cold_init): Rename into ...
+ (mingw_pe_seh_cold_init): ... this.
+ (i386_pe_seh_fini): Rename into ...
+ (mingw_pe_seh_fini): ... this.
+ (seh_emit_stackalloc): Rename into ...
+ (mingw_pe_seh_emit_stackalloc): ... this.
+ (seh_cfa_adjust_cfa): Update.
+ (seh_frame_related_expr): Update.
+ (i386_pe_seh_emit_except_personality): Rename into ...
+ (mingw_pe_seh_emit_except_personality): ... this.
+ (i386_pe_seh_init_sections): Rename into ...
+ (mingw_pe_seh_init_sections): ... this.
+ (i386_pe_end_function): Rename into ...
+ (mingw_pe_end_function): ... this.
+ (i386_pe_end_cold_function): Rename into ...
+ (mingw_pe_end_cold_function): ... this.
+ * config/mingw/winnt.h (struct seh_frame_state):
+ Move from mingw/winnt.cc.
+ (mingw_pe_end_cold_function): Add declarations.
+ (mingw_pe_end_function): Likewise.
+ (mingw_pe_seh_init): Likewise.
+ (mingw_pe_seh_init_sections): Likewise.
+ (mingw_pe_seh_cold_init): Likewise.
+ (mingw_pe_seh_emit_except_personality): Likewise.
+ (mingw_pe_seh_end_prologue): Likewise.
+
+2026-07-08 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
+ Restructure computations to force separate base.
+
+2026-07-08 Tamar Christina <tamar.christina@arm.com>
+
+ * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences,
+ vect_slp_analyze_load_dependences,
+ vect_slp_analyze_instance_dependence): Use for-each over for with len.
+ * tree-vect-slp.cc (vect_mark_slp_stmts_relevant,
+ ,vect_find_last_scalar_stmt_in_slp, vect_find_first_scalar_stmt_in_slp,
+ vect_build_slp_store_interleaving, vect_analyze_slp,
+ vect_slp_prune_covered_roots, vect_bb_partition_graph_r,
+ vect_remove_slp_scalar_calls): Likewise.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ * gimple-ssa-pta-constraints.cc (find_func_aliases_for_builtin_call):
+ Correctly use SCALAR rhs from the variadic argument part of
+ the function info or from NONLOCAL in case of intra-PTA.
+ (find_func_aliases_for_call): Handle .VA_ARG.
+
+2026-07-08 Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ * config/aarch64/tuning_models/ampere1.h (ampere1_scalar_issue_info)
+ (ampere1_advsimd_issue_info, ampere1_vec_issue_info): New.
+ (ampere1_vector_cost): Use ampere1_vec_issue_info for issue_info.
+ * config/aarch64/tuning_models/ampere1b.h (ampere1b_scalar_issue_info)
+ (ampere1b_advsimd_issue_info, ampere1b_vec_issue_info): New.
+ (ampere1b_vector_cost): Use ampere1b_vec_issue_info for issue_info.
+
+2026-07-08 H.J. Lu <hjl.tools@gmail.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/124798
+ PR target/125436
+ * config/i386/i386-expand.cc: Include "function-abi.h".
+ (x86_64_ms_sysv_extra_clobbered_registers): Removed.
+ (ix86_expand_call): Don't add explicit call and ABI-switch
+ clobbers.
+ * config/i386/i386-features.cc (ix86_emit_tls_call): Call
+ ix86_tls_get_addr_abi to get GNU TLS ABI and use it, instead of
+ default_function_abi, for registers clobbered by GNU TLS call.
+ (ix86_place_single_tls_call): Set CALL_INSN_ABI_ID on TLS calls.
+ * config/i386/i386-options.cc (ix86_set_current_function): Don't
+ call reinit_regs.
+ * config/i386/i386-protos.h
+ (ix86_type_no_callee_saved_registers_p): Removed.
+ (ix86_tls_get_addr_abi): New.
+ * config/i386/i386.cc (ix86_alternate_abi): New prototype.
+ (ix86_conditional_register_usage): Changed to describe the
+ system ABI.
+ (ix86_type_no_callee_saved_registers_p): Make it static.
+ (ix86_function_value_regno_p): Replace ix86_cfun_abi () with
+ ix86_abi.
+ (ix86_save_reg): Only check TYPE_NO_CALLEE_SAVED_REGISTERS as
+ a special case.
+ (ix86_tls_get_addr_abi): New.
+ (legitimize_tls_address): Set CALL_INSN_ABI_ID on TLS calls.
+ Call ix86_alternate_abi to initialize the alternate function ABI.
+ (ix86_initialize_abi): New function.
+ (ix86_no_callee_saved_abi): Likewise.
+ (ix86_no_caller_saved_abi): Likewise.
+ (ix86_standard_abi): Likewise.
+ (ix86_alternate_abi): Likewise.
+ (ix86_function_abi_id): Likewise.
+ (ix86_fntype_abi): Likewise.
+ (ix86_hard_regno_call_part_clobbered): Handle newly added ABIs.
+ (TARGET_FNTYPE_ABI): New.
+ * config/i386/i386.md: Add ABI_ALTERNATE, ABI_NO_CALLEE_SAVED,
+ ABI_NO_CALLER_SAVED_RETURN_VOID, ABI_NO_CALLER_SAVED_RETURN_AX,
+ ABI_NO_CALLER_SAVED_RETURN_AX_DX,
+ ABI_NO_CALLER_SAVED_RETURN_AX_XMM0,
+ ABI_NO_CALLER_SAVED_RETURN_XMM0 and
+ ABI_NO_CALLER_SAVED_RETURN_XMM0_XMM1.
+
+2026-07-08 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386.cc (ix86_function_arg): Remove always-true
+ condition.
+
+2026-07-08 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386-features.cc: Include function-abi.h.
+ (ix86_emit_tls_call): Use default_function_abi instead of
+ call_used_regs.
+ * config/i386/i386.cc (x86_order_regs_for_local_alloc): Likewise.
+ (ix86_save_reg, x86_64_select_profile_regnum): Use crtl->abi
+ instead of call_used_regs.
+
+2026-07-08 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386-protos.h (ix86_fntype_call_saved_registers):
+ Declare.
+ * config/i386/i386-options.cc (ix86_fntype_call_saved_registers): New
+ function, split out from...
+ (ix86_set_func_type): ...here. Avoid calling it if the result
+ would be ignored.
+ * config/i386/i386.cc (ix86_type_no_callee_saved_registers_p): Use
+ ix86_fntype_call_saved_registers instead of querying attributes
+ directly.
+
+2026-07-08 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/constraints.md (Wtt): Rename to Wvr to
+ indicate widen vector register constraint.
+ * config/riscv/riscv-protos.h (riscv_widen_overlap_ok): Rename
+ from...
+ (riscv_vector_mode_p): Add new decl for riscv-v.cc visibile.
+ (riscv_hard_regno_nregs): Ditto.
+ (riscv_v_widen_constraint_ok): Rename to...
+ * config/riscv/riscv-v.cc (riscv_v_widen_constraint_ok): Rename
+ to... and take care of Wvr constraint.
+ * config/riscv/riscv.cc (riscv_vector_mode_p): Remove static.
+ (riscv_hard_regno_nregs): Ditto.
+ (riscv_widen_overlap_ok): Remove.
+ * config/riscv/vector.md: Rename to Wvr.
+
2026-07-07 Richard Earnshaw <rearnsha@arm.com>
* config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION):
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 60ebd5a31783..76403c9887d1 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260708
+20260709
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 9fa5a27dbc73..b007bf17d097 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2026-07-08 Martin Uecker <uecker@tugraz.at>
+
+ * c-attribs.cc (handle_counted_by_attribute): Adapt.
+ * c-common.h (c_flexible_array_member_type_p): Remove.
+ * c-common.cc (c_flexible_array_member_type_p): Remove.
+
2026-06-30 Jakub Jelinek <jakub@redhat.com>
PR c++/125837
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index b0b84638689a..38d90f6d0959 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,30 @@
+2026-07-08 Martin Uecker <uecker@tugraz.at>
+
+ * c-tree.h (zero_length_array_type_p,
+ c_build_array_type_zero_size) Add prototypes.
+ * c-decl.cc (zero_length_array_type_p): External linkage.
+ (c_build_array_type_zero_size): New.
+ (grokdeclarator): Use new function.
+ * c-typeck.cc (c_verify_type): New consistency checks.
+ (c_build_array_type_zero_size): New function
+ (composite_type_internal): Refactor.
+ (comptypes_internal): Refactor.
+
+2026-07-08 Martin Uecker <uecker@tugraz.at>
+
+ * c-decl.cc (grokdeclarator): Add assertion.
+ (add_flexible_array_elts_to_size): Adapt.
+ (is_flexible_array_member_p): Adapt.
+ (verify_counted_by_attribute): Adapt.
+ (finish_struct): Adapt.
+ * c-typeck.cc (check_counted_by_attribute): Adapt.
+ (build_counted_by_ref): Adapt.
+ (build_access_with_size_for_counted_by): Adapt.
+ (handle_counted_by_for_component_ref): Adapt.
+ (c_incomplete_type_error): Use new helper function.
+ (digest_init): Use new helper function.
+ (pop_init_level): Use new helper function.
+
2026-06-30 Chung-Lin Tang <cltang@baylibre.com>
* c-typeck.cc (c_finish_omp_clauses): Fix comments.
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 965bed032086..4d2700a1ab6c 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,47 @@
+2026-07-08 James K. Lowden <jklowden@cobolworx.com>
+
+ * genapi.cc (parser_call_targets_dump): Remove function.
+ * genapi.h (parser_call_targets_dump): Same.
+ * parse.y: Instantiate forward labels consistently.
+ (label_add) Capture forward references for efficiency.
+ (paragraph_reference) Use forward reference.
+ (label_add_once): New function.
+ * parse_ante.h (label_add_once): Declare function.
+ (label_instantiate): New function.
+ (ast_enter_exit_section): Improve debug message.
+ * symbols.cc (label_cmp): Allow forward reference to have a parent.
+ (cbl_label_ref_t): Remove class.
+ (symbol_label): Whitespace.
+ (symbols_dump): Add information to output.
+ (symbol_add): Remove program label symbol-assignment to symbol_label_add.
+ (cbl_label_t::str): Add information to output.
+ (symbol_label_add): Assign id to program label.
+ * symbols.h (class cbl_label_ref_t): Remove.
+ (struct symbol_elem_t): Remove struct keyword.
+ (struct cbl_label_t): Same.
+ (struct cbl_special_name_t): Same.
+ (struct cbl_field_t): Same.
+ (symbol_typedef): Same.
+ (symbol_field): Same.
+ (symbol_label): Same.
+ (symbol_function): Same.
+ (symbol_function_any): Same.
+ (symbol_program): Same.
+ (symbol_literalA): Same.
+ (symbol_special): Same.
+ (symbol_locale): Same.
+ (symbol_alphabet): Same.
+ (symbol_file): Same.
+ (symbol_file_record): Same.
+ (struct cbl_section_t): Same.
+ (symbol_section): Same.
+ (parent_of): Same.
+ * util.cc: (match_proc::find) Use only section and paragraph names.
+
+2026-07-08 James K. Lowden <jklowden@cobolworx.com>
+
+ * parse.y (literal_refmod_valid): Do not deference NULL pointer.
+
2026-07-06 James K. Lowden <jklowden@cobolworx.com>
* cbldiag.h (struct cbl_loc_t): Add as_first_line() function.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 099f1d533889..a632c48e84bd 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,54 @@
+2026-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * trans-array.cc (gfc_array_init_size): Set the rank for the
+ dtype.
+
+2026-07-08 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/126127
+ * interface.cc (find_symtree0): Check for NULL pointer.
+ (gfc_find_sym_in_symtree): Also search user-defined operator list
+ when the symbol refers to a function.
+
+2026-07-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-types.h (gfc_array_dim_rank_type): New type node
+ declaration.
+ * trans-types.cc (gfc_array_dim_rank_type): Likewise.
+ (gfc_init_types) : Initialize the new type node.
+ (get_dtype_type_node): Use the new type for the rank field.
+ * trans-descriptor.cc (gfc_conv_descriptor_rank): Likewise.
+ * trans-const.h (gfc_index_zero_node, gfc_index_one_node): Make
+ each macro a separate node declaration.
+ * trans-const.cc (gfc_index_zero_node, gfc_index_one_node):
+ Declare new nodes.
+ (gfc_init_constants): Initialize them. Use the new type for the
+ constants of the gfc_rank_cst array.
+ * trans-array.cc (gfc_tree_array_size): Use the new type for the
+ RANK, IDX and DIM variables. Avoid negative intermediary value
+ in comparison using the new type.
+ (gfc_conv_array_parameter): Use the new type when assigning a
+ value to the descriptor's rank. Use the new type for the IDX
+ variable.
+ * trans-decl.cc (gfc_conv_cfi_to_gfc): Use the new type for the
+ rank, and the dimension index variable (including loop initial
+ value and step).
+ * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Likewise.
+ (gfc_conv_variable): Use the new type for the rank variable.
+ (gfc_trans_structure_assign): Use the new type when assigning a
+ value to the descriptor's rank.
+ * trans-openmp.cc (gfc_omp_get_array_size): Use the new type
+ for the dimension index variable and the loop initialization,
+ bound and step.
+ * trans-intrinsic.cc (gfc_conv_intrinsic_bound): Use the new
+ type for the DIM argument and the rank.
+ (conv_intrinsic_cobound): Likewise.
+ (trans_this_image): Likewise. Use the new type for the loop
+ variable, initialization, bound and step.
+ (gfc_conv_intrinsic_sizeof): Likewise.
+ * trans-stmt.cc (gfc_trans_select_rank_cases): Use signed char
+ as type for the select value.
+
2026-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/103367
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 7121e50e06d3..42a37d91ac8d 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,535 @@
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): respect context for labels
+
+2026-07-08 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * hir/tree/rust-hir-item.h (ExternBlock): Track whether the ABI
+ was explicit and expose it through has_abi.
+ * hir/tree/rust-hir-item.cc (ExternBlock::ExternBlock): Likewise.
+ (ExternBlock::operator=): Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_extern_block):
+ Forward the AST has_abi flag to the HIR node.
+ * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+ New.
+ * checks/lints/unused/rust-unused-checker.h (UnusedChecker::visit):
+ New.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile.cc
+ (HIRCompileBase::compute_address_for_trait_item): Ensure the
+ impl block type matches the receiver type.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust-gcc.cc (pointer_type): turn on can alias
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-intrinsic.cc (generic_intrinsics): Add
+ min_align_of_val_handler to the map.
+ * backend/rust-intrinsic-handlers.cc (min_align_of_val_handler):
+ New function.
+ * backend/rust-intrinsic-handlers.h (min_align_of_val_handler):
+ New declaration.
+ * typecheck/rust-hir-type-check-intrinsic.cc
+ (IntrinsicChecker::intrinsic_rules): Add min_align_of_val
+ signature rule to the map.
+ * util/rust-intrinsic-values.h (class Intrinsics): Add
+ MIN_ALIGN_OF_VAL constexpr.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-intrinsic.cc (generic_intrinsics): Add
+ size_of_val_handler to the map.
+ * backend/rust-intrinsic-handlers.cc (size_of_val_handler): New
+ function.
+ * backend/rust-intrinsic-handlers.h (size_of_val_handler): New
+ declaration.
+ * typecheck/rust-hir-type-check-intrinsic.cc
+ (IntrinsicChecker::intrinsic_rules): Add size_of_val signature
+ rule to the map.
+ * util/rust-intrinsic-values.h (class Intrinsics): Add
+ SIZE_OF_VAL constexpr.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-unify.cc (UnifyRules::expect_adt): check defid
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): check valid
+
+2026-07-08 João Novo <joao.c.novo@tecnico.ulisboa.pt>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
+ Add check for infer type on struct's attribute or its subtypes.
+ * typecheck/rust-tyty.cc (BaseType::contains_infer):
+ Add check for an array type's capacity being an infer type.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * ast/rust-expr.h (BoxExpr): Add comment description to class.
+ * backend/rust-compile-block.h (visit): Add stub for BoxExpr.
+ * backend/rust-compile-expr.cc (compile_box_struct): New
+ function.
+ (compile_box): New function.
+ (build_box_inner_ptr): New function.
+ (CompileExpr::visit): Implement BoxExpr lowering using
+ exchange_malloc and constructor expressions. Handle owned_box
+ in FieldAccessExpr and DereferenceExpr.
+ (HIRCompileBase::resolve_deref_adjustment): Support owned_box
+ in deref adjustments.
+ * backend/rust-compile-expr.h (visit): Declare BoxExpr visitor.
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::visit): Evaluate inner expression and push
+ tmp assignment for BoxExpr.
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.h (visit):
+ Declare BoxExpr visitor.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h
+ (visit): Mark BoxExpr as unreachable.
+ * checks/errors/borrowck/rust-bir-builder-struct.h (visit):
+ Likewise.
+ * checks/errors/borrowck/rust-function-collector.h (visit):
+ Add visit stub for BoxExpr.
+ * checks/errors/privacy/rust-privacy-reporter.cc
+ (PrivacyReporter::visit): Delegate privacy reporting to inner
+ expression of BoxExpr.
+ * checks/errors/privacy/rust-privacy-reporter.h (visit):
+ Declare BoxExpr visitor.
+ * checks/errors/rust-const-checker.cc (ConstChecker::visit):
+ Delegate const checking to inner expression.
+ * checks/errors/rust-const-checker.h (visit): Declare BoxExpr
+ visitor.
+ * checks/errors/rust-hir-pattern-analysis.cc
+ (PatternChecker::visit): Delegate pattern analysis to inner
+ expression.
+ * checks/errors/rust-hir-pattern-analysis.h (visit): Declare
+ BoxExpr visitor.
+ * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit):
+ Delegate unsafe checking to inner expression.
+ * checks/errors/rust-unsafe-checker.h (visit): Declare BoxExpr
+ visitor.
+ * checks/lints/rust-lint-marklive.cc (MarkLive::visit): Resolve
+ inner ADT type for owned_box when marking live fields.
+ * checks/lints/rust-lint-marklive.h (visit): Declare BoxExpr
+ visitor.
+ * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Translate
+ AST BoxExpr to HIR BoxExpr.
+ * hir/rust-hir-dump.cc (Dump::visit): Dump HIR BoxExpr.
+ * hir/rust-hir-dump.h (visit): Declare BoxExpr visitor.
+ * hir/tree/rust-hir-expr-abstract.h (ExprType): Add Box to enum.
+ * hir/tree/rust-hir-expr.cc (BoxExpr::BoxExpr): Implement
+ constructors for BoxExpr. (BoxExpr::operator=): Implement
+ assignment operator.
+ * hir/tree/rust-hir-expr.h (class BoxExpr): Define HIR BoxExpr
+ node.
+ * hir/tree/rust-hir-full-decls.h (class BoxExpr): Forward
+ declaration.
+ * hir/tree/rust-hir-visitor.cc (DefaultHIRVisitor::walk): Walk
+ inner expression of BoxExpr.
+ * hir/tree/rust-hir-visitor.h (visit): Add routing for BoxExpr.
+ * hir/tree/rust-hir.cc (BoxExpr::to_string): Implement
+ to_string.
+ (BoxExpr::accept_vis): Implement visitor acceptance.
+ * typecheck/rust-autoderef.cc (AutoderefCycle::cycle): Attempt
+ autoderef using the owned_box lang item.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Implement type checking, validation, and generic substitution
+ for BoxExpr. Support owned_box autoderef in field access and
+ dereferencing operations.
+ * typecheck/rust-tyty.cc (try_get_box_inner_type): New function.
+ * typecheck/rust-tyty.h (try_get_box_inner_type): New
+ declaration.
+ * typecheck/rust-hir-type-check-expr.h (visit): Declare BoxExpr
+ visitor.
+ * util/rust-lang-item.cc (Rust::LangItem::lang_items): Register
+ owned_box to BiMap.
+ * util/rust-lang-item.h (LangItem::Kind): Add OWNED_BOX.
+
+2026-07-08 Lishin <lishin1008@gmail.com>
+
+ * Make-lang.in: Add rust-compile-drop-builder.o.
+ * backend/rust-compile-base.cc
+ (HIRCompileBase::compile_function_body):
+ Update CompileDrop calls.
+ * backend/rust-compile-block.cc (CompileBlock::visit):
+ Update CompileDrop calls.
+ * backend/rust-compile-context.h (Context): Allow
+ DropBuilder to access drop candidate storage and move
+ drop candidate APIs to DropBuilder.
+ * backend/rust-compile-drop.cc (CompileDrop::CompileDrop):
+ Add constructor.
+ (CompileDrop::type_has_drop_impl): Use stored Context member.
+ (CompileDrop::compile_drop_call): Likewise.
+ (CompileDrop::emit_current_scope_drop_calls): Use stored
+ Context member and get drop candidates from DropBuilder.
+ * backend/rust-compile-drop.h: Store Context as a member.
+ * backend/rust-compile-pattern.cc (CompilePatternLet::visit):
+ Use DropBuilder and update CompileDrop calls.
+ * backend/rust-compile-drop-builder.cc: New file.
+ * backend/rust-compile-drop-builder.h: New file.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-context.h (class Context): Add
+ insert_vtable and lookup_vtable methods.
+ * backend/rust-compile-expr.cc
+ (CompileExpr::get_fn_addr_from_dyn): Change access method
+ array access to struct field access.
+ * backend/rust-compile-type.cc
+ (TyTyResolveCompile::create_dyn_obj_record): Create vtable type
+ as a record instead of an array.
+ * backend/rust-compile.cc
+ (HIRCompileBase::coerce_to_dyn_object): Change vtable structure.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-intrinsic.cc (generic_intrinsics): Add
+ arith_offset handler to map.
+ * backend/rust-intrinsic-handlers.cc (arith_offset_handler): New
+ function.
+ * backend/rust-intrinsic-handlers.h (arith_offset_handler): New
+ declaration.
+ * typecheck/rust-hir-type-check-intrinsic.cc
+ (IntrinsicChecker::intrinsic_rules): Add arith_offset rule.
+ * util/rust-intrinsic-values.h (class Intrinsics): Add
+ ARITH_OFFSET constexpr.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * backend/rust-compile-intrinsic.cc (generic_intrinsics): Add
+ write_bytes handler to map.
+ * backend/rust-intrinsic-handlers.cc (write_bytes_handler): New
+ function.
+ * backend/rust-intrinsic-handlers.h (write_bytes_handler): New
+ declaration.
+ * typecheck/rust-hir-type-check-intrinsic.cc
+ (IntrinsicChecker::intrinsic_rules): Add write_bytes rule.
+ * util/rust-intrinsic-values.h (class Intrinsics): Add
+ WRITE_BYTES constexpr.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Associate the loop
+ result temporary with the loop label.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Resolve
+ the generic parameters of a type alias.
+
+2026-07-08 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+ New.
+ * checks/lints/unused/rust-unused-checker.h (UnusedChecker::visit):
+ New.
+
+2026-07-08 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * expand/rust-macro-expand.cc
+ (MacroExpander::expand_eager_invocations): Handle errors during
+ eager expansion.
+ (MacroExpander::expand_invoc): Avoid expanding macros which have
+ pending eager invocations and return error fragments in more
+ cases.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit (FieldAccessExpr)):
+ Handle DST fat pointers by reinterpreting the fat pointer as its field type.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * util/rust-lang-item.h (LangItem::Kind): New CSTR kind.
+ * util/rust-lang-item.cc (LangItem::lang_items): Ditto.
+ * backend/rust-compile-type.cc (visit(TyTy::ReferenceType)): Add specific record
+ type for CStr.
+ * typecheck/rust-tyty.h (ReferenceType): Add function definition for is_dyn_cstr_type.
+ * typecheck/rust-tyty.cc (ReferenceType::is_dyn_object): Update to include
+ is_dyn_cstr_type.
+ (ReferenceType::is_dyn_cstr_type): Add implementation to check whether the
+ ReferenceType is of type CStr.
+ * typecheck/rust-hir-type-check-base.cc(resolve_literal): Update C_STRING case to
+ resolve to the CStr language item instead.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * lang.opt: Add new -frust-c-style-string-literals option.
+ * parse/rust-parse.h: Import options.h for reading flag_c_style_string_literals.
+ * parse/rust-parse-impl-expr.hxx (Parser<ManagedTokenSource>::parse_literal_expr):
+ Abort parsing C-style string literals if flag_c_style_string_literals is not set.
+ (Parser<ManagedTokenSource>::null_denotation_not_path): Ditto.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * lex/rust-token.h (RS_TOKEN_LIST): Add C_STRING_LITERAL and RAW_C_STRING_LITERAL
+ (unused for now).
+ * lex/rust-lex.h (Lexer): Define new parse_c_string function.
+ * lex/rust-lex.cc (Lexer::build_token): Implement lexing for C-style string
+ literals.
+ (Lexer::parse_c_string): Add implementation.
+ * hir/tree/rust-hir-literal.h (HIR::Literal): Define new C_STRING LitType.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_literal): Add new case for
+ C_STRING.
+ * parse/rust-parse-impl-attribute.hxx (Parser<ManagedTokenSource>::parse_attr_input):
+ Add new case for C_STRING.
+ * parse/rust-parse-impl-expr.hxx (Parser<ManagedTokenSource>::parse_literal_expr):
+ Add new case for parsing C_STRING.
+ (Parser<ManagedTokenSource>::null_denotation_not_path): Add new case for C_STRING.
+ * ast/rust-ast.h (Token::is_string_lit): Add new case for C_STRING_LITERAL.
+ * ast/rust-ast.cc (AttributeParser::parse_meta_item_inner): Add new case for
+ C_STRING_LITERAL.
+ * ast/rust-ast-collector.cc (TokenCollector::visit): Add new case for
+ C_STRING_LITERAL.
+ * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::resolve_literal):
+ Implement type checking for the new C_STRING type.
+ * backend/rust-compile-expr.h (CompileExpr): Define new function
+ compile_c_string_literal.
+ * backend/rust-compile-expr.cc (CompileExpr::visit(LiteralExpr)): Add new case
+ for C_STRING.
+ (CompileExpr::compile_c_string_literal): Implement compilation of C-style string
+ literals.
+
+2026-07-08 hriztam <hritamstark05@gmail.com>
+
+ * parse/rust-parse-error.h (StructExprField): Add
+ STRUCT_BASE_ATTRIBUTES.
+ * parse/rust-parse-impl-expr.hxx
+ (Parser<ManagedTokenSource>::parse_struct_expr_field):
+ Reject attributes before struct-base `..`.
+ (Parser<ManagedTokenSource>::parse_struct_expr_struct_partial):
+ Handle struct-base parse results without dereferencing an errored
+ expected.
+
+2026-07-08 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-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+ Warn on a visibility qualifier on a `const _` item.
+
+2026-07-08 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * expand/rust-macro-builtins-log-debug.cc
+ (MacroBuiltin::assert_handler): Forward any custom message on to
+ the built-in panic macro.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-compile-resolve-path.cc: use error_mark_node
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): remove error_at
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-compile-extern.h: add expr locus
+ * backend/rust-compile-intrinsic.cc (Intrinsics::compile): likewise
+ * backend/rust-compile-intrinsic.h: likewise
+ * backend/rust-compile-resolve-path.cc: likewise
+ * backend/rust-intrinsic-handlers.cc (op_with_overflow): likewise
+ (rotate_left): likewise
+ (rotate_right): likewise
+ (wrapping_op): likewise
+ (atomic_store): likewise
+ (atomic_load): likewise
+ (unchecked_op): likewise
+ (copy): likewise
+ (expect): likewise
+ (try_handler): likewise
+ (sorry): likewise
+ (assume): likewise
+ (discriminant_value): likewise
+ (variant_count): likewise
+ (move_val_init): likewise
+ (uninit): likewise
+ (prefetch_read_data): likewise
+ (prefetch_write_data): likewise
+ (transmute): likewise
+ (sizeof_handler): likewise
+ (min_align_of_handler): likewise
+ (offset): likewise
+ (bswap_handler): likewise
+ (ctlz_handler): likewise
+ (ctlz_nonzero_handler): likewise
+ (cttz_handler): likewise
+ (cttz_nonzero_handler): likewise
+ * backend/rust-intrinsic-handlers.h (std::function<tree): likewise
+ (rotate_left): likewise
+ (rotate_right): likewise
+ (offset): likewise
+ (sizeof_handler): likewise
+ (min_align_of_handler): likewise
+ (transmute): likewise
+ (uninit): likewise
+ (move_val_init): likewise
+ (assume): likewise
+ (discriminant_value): likewise
+ (variant_count): likewise
+ (bswap_handler): likewise
+ (ctlz_handler): likewise
+ (ctlz_nonzero_handler): likewise
+ (cttz_handler): likewise
+ (cttz_nonzero_handler): likewise
+ (wrapping_op): likewise
+ (prefetch_read_data): likewise
+ (prefetch_write_data): likewise
+ (sorry): likewise
+ * backend/rust-tree.cc (pointer_offset_expression): check for size
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-compile-item.cc (CompileItem::visit): check instead of assert
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::generate_closure_fntype):
+ Stop eagerly setting FnOnce::Output
+ * backend/rust-compile-item.cc (CompileItem::visit): Push impl-trait
+ * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Normalize
+ projection types
+ * backend/rust-intrinsic-handlers.cc (discriminant_value): Handle
+ projection
+ * checks/errors/privacy/rust-privacy-reporter.cc
+ (PrivacyReporter::check_base_type_privacy): Skip unresolved
+ * typecheck/rust-hir-type-check-intrinsic.cc (IntrinsicChecker::check_type): make permissive
+ * typecheck/rust-autoderef.cc: remove old
+ * typecheck/rust-hir-impl-trait-context.h: New file.
+ * typecheck/rust-hir-trait-reference.cc (TraitReference::on_resolved):
+ Pass the trait reference into item resolution.
+ (TraitReference::clear_associated_types): Remove.
+ (TraitReference::clear_associated_type_projections): Remove.
+ (AssociatedImplTrait::AssociatedImplTrait): Store an impl trait frame
+ (AssociatedImplTrait::get_frame): New function.
+ * typecheck/rust-hir-trait-reference.h: Add impl trait context
+ * typecheck/rust-hir-trait-resolve.cc (TraitItemReference::on_resolved):
+ Pass trait reference
+ (TraitItemReference::resolve_item): Represent associated types as
+ projection types
+ (TraitItemReference::associated_type_set): Remove.
+ (TraitItemReference::associated_type_reset): Remove.
+ (AssociatedImplTrait::setup_raw_associated_types): Remove.
+ (AssociatedImplTrait::bind_impl_for_projection): New function.
+ (AssociatedImplTrait::bind_impl_for_bound): New function.
+ (AssociatedImplTrait::reset_associated_types): Remove.
+ * typecheck/rust-hir-type-check-base.cc
+ (TypeCheckBase::ResolvePredicateFromBound): New function.
+ * typecheck/rust-hir-type-check-base.h
+ (TypeCheckBase::ResolvePredicateFromBound): Declare.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Handle projection
+ (TypeCheckExpr::resolve_fn_trait_call): monomorphized
+ * typecheck/rust-hir-type-check-implitem.cc
+ (TypeCheckImplItemWithTrait::visit): Store impl associated types as
+ projections
+ * typecheck/rust-hir-type-check-item.cc
+ (TypeCheckItem::ResolveImplBlockSubstitutions): New function.
+ (TypeCheckItem::ResolveImplTraitAssociatedTypes): New function.
+ (TypeCheckItem::validate_trait_impl_block): cleanup
+ (TypeCheckItem::visit): Split inherent and trait impl handling.
+ (TypeCheckItem::resolve_impl_block): New function.
+ (TypeCheckItem::resolve_trait_impl_block): New function.
+ (TypeCheckItem::resolve_impl_block_substitutions): cleanup
+ * typecheck/rust-hir-type-check-item.h: helpers
+ * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::visit):
+ cleanup
+ (TypeCheckExpr::resolve_segments): Use lazy projection normalization
+ * typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit):
+ Normalize type path projections and build qualified associated types
+ * typecheck/rust-hir-type-check.h (class ScopedPush): New class.
+ (class ImplTraitFrameGuard): New class.
+ * typecheck/rust-type-util.cc (query_type): Push impl trait frames
+ while resolving impl items.
+ (rebind_projection_self_from_fn): New function.
+ (normalize_projection): New function.
+ * typecheck/rust-type-util.h (normalize_projection): Declare.
+ (rebind_projection_self_from_fn): Declare.
+ * typecheck/rust-typecheck-context.cc
+ (TypeCheckContext::find_matching_impl_trait_frame): New function.
+ (TypeCheckContext::have_impl_trait_context): New function.
+ (TypeCheckContext::push_impl_trait_context): New function.
+ (TypeCheckContext::pop_impl_trait_context): New function.
+ (TypeCheckContext::peek_impl_trait_context): New function.
+ * typecheck/rust-tyty-bounds.cc
+ (TypeBoundPredicate::apply_argument_mappings): Stop mutating
+ associated type items for binding arguments.
+ (TypeBoundPredicateItem::get_tyty_for_receiver): Rebase projections
+ using trait substitution coordinates.
+ (TypeBoundPredicate::handle_substitions): Stop mutating associated
+ type items for binding arguments.
+ * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Rebind
+ projection self types after function monomorphization.
+ * typecheck/rust-tyty-subst.cc
+ (SubstitutionParamMapping::fill_param_ty): Guard recursive
+ (SubstitutionRef::get_mappings_from_generic_args): Account for outer
+ GAT parameters.
+ (SubstitutionRef::prepare_higher_ranked_bounds): Remove.
+ (SubstitutionRef::monomorphize): Bind matching impls
+ * typecheck/rust-tyty-subst.h
+ (SubstitutionRef::get_outer_param_count): New function.
+ (SubstitutionRef::prepare_higher_ranked_bounds): Remove.
+ * typecheck/rust-tyty.cc (BaseType::satisfies_bound): Check
+ associated type bindings through projection types.
+ (BaseType::destructure): Stop destructuring through projections.
+ (BaseType::monomorphized_clone): Normalize projection clones.
+ (BaseType::is_concrete): Handle projections
+ (ClosureType::setup_fn_once_output): Remove.
+ (destructure_through_projections): New function.
+ (ReferenceType::is_dyn_slice_type): Normalize projections
+ (ReferenceType::is_dyn_str_type): Likewise.
+ (ReferenceType::is_dyn_obj_type): Likewise.
+ (PointerType::is_dyn_slice_type): Likewise.
+ (PointerType::is_dyn_str_type): Likewise.
+ (PointerType::is_dyn_obj_type): Likewise.
+ (ParamType::get_name): Guard recursive
+ (PlaceholderType::set_associated_type): Remove
+ (PlaceholderType::clear_associated_type): Remove
+ (ProjectionType::ProjectionType): Track projection self type and
+ inherited trait substitutions.
+ (ProjectionType::is_trait_position): New function
+ (ProjectionType::get): Handle non-trait-position projections
+ (ProjectionType::get_self): New function.
+ (ProjectionType::get_trait_ref): New function.
+ (ProjectionType::get_item_defid): New function.
+ (ProjectionType::as_string): Include projection self and trait
+ (ProjectionType::clone): Clone projection self and preserve bounds
+ (ProjectionType::handle_substitions): Substitute projection self
+ * typecheck/rust-tyty.h: Update projection
+ * typecheck/rust-unify.cc (UnifyRules::go): Normalize projections
+ (UnifyRules::expect_projection): Support projection-to-projection
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): push expected type
+ * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): apply expected ty on tail
+ * typecheck/rust-hir-type-check.h: helpers
+ * typecheck/rust-typecheck-context.cc (TypeCheckContext::push_expected_type): likewise
+ (TypeCheckContext::pop_expected_type): likewise
+ (TypeCheckContext::peek_expected_type): likewise
+ * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): check expected
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * ast/rust-ast-collector.cc (TokenCollector::visit): check for lang item
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-tyty-bounds.cc (TypeBoundPredicate::TypeBoundPredicate): missing argument
+ (TypeBoundPredicate::operator=): likewise
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-tyty-subst.cc: we can optionally apply inherited arguments
+
2026-06-28 Kevin Stefanov <kevinstefanov15@gmail.com>
PR middle-end/125274
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a3492d7171d6..394fbe66f7ac 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,291 @@
+2026-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.dg/allocate_with_mold_6.f90: New test.
+ * gfortran.dg/allocate_with_mold_7.f90: New test.
+
+2026-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/126116
+ * gfortran.dg/pr126116.f90: New test.
+
+2026-07-08 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/126127
+ * gfortran.dg/block_18.f90: New test.
+
+2026-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/126148
+ * gcc.target/i386/pr126148.c: New test.
+
+2026-07-08 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR rtl-optimization/126136
+ * gcc.dg/torture/pr126136.c: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4538.rs: New test.
+
+2026-07-08 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * rust/compile/missing-abi_0.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/trait-multi-impl.rs: New test.
+ * rust/execute/trait-multi-impl-generic.rs: New test.
+ * rust/execute/trait-multi-impl-generic2.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/execute/raw-pointer-aliasing.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/min-align-of-val.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/size-of-val.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4617.rs: New test.
+
+2026-07-08 João Novo <joao.c.novo@tecnico.ulisboa.pt>
+
+ * rust/compile/infer-type-issue-3583.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/compile/box-expr.rs: New test.
+ * rust/compile/lang-owned-box-error1.rs: New test.
+ * rust/compile/lang-owned-box-error2.rs: New test.
+
+2026-07-08 Lishin <lishin1008@gmail.com>
+
+ * rust/execute/drop-local-binding-lifo.rs: New test.
+ * rust/execute/drop-nested-block-scope.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/torture/dyn_object.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/arith-offset.rs: New test.
+
+2026-07-08 Enes Cevik <enes@nsvke.com>
+
+ * rust/execute/write-bytes.rs: New test.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/break-label-loop.rs: New test.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/type-alias-generic-params.rs: New test.
+
+2026-07-08 Lucas Ly Ba <hi@lucaslyba.com>
+
+ * rust/compile/non-contiguous-range-endpoints_0.rs: New test.
+
+2026-07-08 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/macros/builtin/eager4.rs: New test.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * rust/execute/torture/c_string.rs: Add CStr language item definition.
+ * rust/compile/c_string_null_byte_check.rs: Ditto.
+ * rust/execute/torture/c_string_ensure_null_term.rs: New test.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * rust/execute/torture/c_string.rs: Set -frust-c-style-string-literals.
+ * rust/compile/c_string_null_byte_check.rs: Set -frust-c-style-string-literals.
+
+2026-07-08 Yap Zhi Heng <yapzhhg@gmail.com>
+
+ * rust/compile/c_string_null_byte_check.rs: New file.
+ * rust/execute/torture/c_string.rs: New file.
+
+2026-07-08 hriztam <hritamstark05@gmail.com>
+
+ * rust/compile/issue-4476.rs: New test.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/non-shorthand-field-patterns_0.rs: New test.
+
+2026-07-08 Lucas Ly Ba <lucas.ly-ba@outlook.com>
+
+ * rust/compile/unused-visibilities_0.rs: New test.
+
+2026-07-08 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/assert_missing_panic.rs: Add usage of the second
+ form of assert.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4302.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-2479.rs: update test
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4471-1.rs: New test.
+ * rust/compile/issue-4471-2.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4481.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4592.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-4486-1.rs: New test.
+ * rust/compile/issue-4486-2.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/gat1.rs: Add lang item setup.
+ * rust/compile/gat2.rs: Use no_core setup.
+ * rust/compile/issue-2036.rs: Remove obsolete type inference error.
+ * rust/compile/issue-2905-2.rs: Enable iterator impl coverage.
+ * rust/compile/torture/traits18.rs: Move to...
+ * rust/compile/torture/traits18.rs.disabled: ...here.
+ * rust/compile/gat3.rs: New test.
+ * rust/compile/gat4.rs: New test.
+ * rust/compile/gat5.rs: New test.
+ * rust/compile/gat6.rs: New test.
+ * rust/compile/gat7.rs: New test.
+ * rust/compile/gat8.rs: New test.
+ * rust/compile/issue-4293.rs: New test.
+
+2026-07-08 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/gat2.rs: New test.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126150
+ * g++.dg/pr126150.C: New testcase.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/126159
+ * gcc.dg/vect/vect-pr126159-1.c: New testcase.
+ * gcc.dg/vect/vect-pr126159-2.c: Likewise.
+
+2026-07-08 Pengfei Li <Pengfei.Li2@arm.com>
+
+ * gcc.target/aarch64/sve/sad_2.c: New test.
+
+2026-07-08 Tamar Christina <tamar.christina@arm.com>
+
+ * gcc.target/aarch64/sve/vect-early-break-cbranch_18.c: New test.
+
+2026-07-08 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/ipa/ipa-pta-20.c: New testcase.
+ * g++.target/i386/pr99679-1.C: Remove expected error.
+ * g++.target/i386/pr99679-2.C: Likewise.
+
+2026-07-08 Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ * gcc.target/aarch64/ampere1-reduction-unroll-1.c: New test.
+
+2026-07-08 H.J. Lu <hjl.tools@gmail.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/124798
+ PR target/125436
+ * gcc.target/i386/abi-mix-1.c: New test.
+ * gcc.target/i386/abi-mix-2.c: Likewise.
+ * gcc.target/i386/no-callee-saved-20.c: Likewise.
+ * gcc.target/i386/no-caller-saved-1-ms.c: Likewise.
+ * gcc.target/i386/no-caller-saved-1-sysv.c: Likewise.
+ * gcc.target/i386/no-caller-saved-1.c: Likewise.
+ * gcc.target/i386/no-caller-saved-2.c: Likewise.
+ * gcc.target/i386/no-caller-saved-3.c: Likewise.
+ * gcc.target/i386/no-caller-saved-4.c: Likewise.
+ * gcc.target/i386/no-caller-saved-5.c: Likewise.
+ * gcc.target/i386/no-caller-saved-6.c: Likewise.
+ * gcc.target/i386/no-caller-saved-7.c: Likewise.
+ * gcc.target/i386/no-caller-saved-8.c: Likewise.
+ * gcc.target/i386/no-caller-saved-9.c: Likewise.
+ * gcc.target/i386/no-caller-saved-10.c: Likewise.
+ * gcc.target/i386/no-caller-saved-11.c: Likewise.
+ * gcc.target/i386/pr125436-1a.c: Likewise.
+ * gcc.target/i386/pr125436-1b.c: Likewise.
+ * gcc.target/i386/pr125436-2a.c: Likewise.
+ * gcc.target/i386/pr125436-2b.c: Likewise.
+ * gcc.target/i386/pr125436-3.c: Likewise.
+ * gcc.target/i386/pr125436-4.c: Likewise.
+ * gcc.target/i386/pr119784b.c: Adjusted for unused RBP.
+ * gcc.target/i386/no-callee-saved-18.c: Don't check frame
+ register.
+ * gcc.target/i386/no-callee-saved-19b.c: Update the expected
+ instruction order.
+ * gcc.target/i386/no-callee-saved-19d.c: Likewise.
+ * gcc.target/i386/no-callee-saved-19e.c: Likewise.
+ * gcc.target/i386/no-callee-saved-2.c: Check frame register isn't
+ saved nor restored in 64-bit mode.
+ * gcc.target/i386/no-callee-saved-8.c: Expect no saving nor
+ restoring caller-saved registers.
+ * gcc.target/i386/no-callee-saved-9.c: Likewise.
+ * gcc.target/i386/preserve-none-14.c: Don't check frame register.
+ * gcc.target/i386/preserve-none-23.c: Likewise.
+ * gcc.target/i386/preserve-none-7.c: Check frame register isn't
+ saved nor restored in 64-bit mode.
+
+2026-07-08 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u16-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u16-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u16-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u16-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u16-mf4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u32-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u32-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u32-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u32-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-mf4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf2-u8-mf8.c: New test.
+
+2026-07-08 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/rvv.exp: Add group_overlap folder.
+ * gcc.target/riscv/rvv/autovec/group_overlap/group_overlap.h: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c: New test.
+ * gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c: New test.
+
2026-07-07 Egas Ribeiro <egas.g.ribeiro@gmail.com>
* g++.dg/eh/can-convert-nullptr.C: New test.
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 88cc6a3a7cbe..8f50e7e1a4c0 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,11 @@
+2026-07-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2_r18.
+ * config/avr/asm-defs.h (.call_if_neg): New .macro.
+ * config/avr/lib1funcs.S (__divmodsi4): Use .call_if_neg.
+ (__negsi2_r18): New function.
+ * config/avr/lib1funcs-fixed.S (__divsa3): Use .call_if_neg.
+
2026-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (solaris_ld_v2_maps): Remove.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 67b707b93b43..09c5b493919c 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,20 @@
+2026-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/126116
+ * io/io.h (struct gfc_unit): Add bool for tracking.
+ Fix some white space problems.
+ * io/unit.c (close_unit_1): Add a declaration for this
+ function so it can be called before it has been defined.
+ Use the new bool.
+ (is_internal_reserved): New helper function. Returns true
+ only if the unit is not null and the internal unit kind is zero
+ meaning its not a character string.
+ (find_unit): Use the new helper function
+ (find_or_create_unit): Use the new helper.
+ (get_unit): Set the new bool.
+ (close_unit): Update the close_unit_1 argument list.
+ (close_units): Likewise.
+
2026-07-06 Harald Anlauf <anlauf@gmx.de>
PR fortran/121366
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index de12dd175fd4..b46582080922 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,16 @@
+2026-07-08 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/118851
+ * include/bits/stl_tree.h (_M_equal_range_tr): Rewrite to match
+ non-heterogeneous equal_range implementation.
+ * testsuite/23_containers/map/operations/hetero/equal_range.cc:
+ New test.
+ * testsuite/23_containers/multimap/operations/hetero/equal_range.cc:
+ Same.
+ * testsuite/23_containers/multiset/operations/hetero/equal_range.cc:
+ Same.
+ * testsuite/23_containers/set/operations/hetero/equal_range.cc: Same.
+
2026-07-07 Tomasz Kamiński <tkaminsk@redhat.com>
* include/std/mdspan
More information about the Libstdc++-cvs
mailing list