[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