https://gcc.gnu.org/g:e5af677005c7ab7a86f825bfabd6b665044f68fd
commit r17-2271-ge5af677005c7ab7a86f825bfabd6b665044f68fd Author: GCC Administrator <[email protected]> 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 <[email protected]> + + * config/riscv/riscv.h (TARGET_SFB_ALU): Add andes_45_series. + +2026-07-08 Uros Bizjak <[email protected]> + + 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 <[email protected]> + + PR rtl-optimization/126136 + * ifcvt.cc (noce_try_store_flag_logical): Fix for STORE_FLAG_VALUE + of -1. + +2026-07-08 Jim Lin <[email protected]> + + * config/riscv/spacemit-x60.md (spacemit_x60_alu): Remove cpop + from the type list. + +2026-07-08 Richard Biener <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + 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 <[email protected]> + + * match.pd: Simplify SAD(x, x, acc) into acc. + +2026-07-08 Evgeny Karpov <[email protected]> + + * 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 <[email protected]> + + * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): + Restructure computations to force separate base. + +2026-07-08 Tamar Christina <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + Richard Sandiford <[email protected]> + + 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 <[email protected]> + + * config/i386/i386.cc (ix86_function_arg): Remove always-true + condition. + +2026-07-08 Richard Sandiford <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> * 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 <[email protected]> + + * 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 <[email protected]> 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> * 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 <[email protected]> + + * 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 <[email protected]> + + * parse.y (literal_refmod_valid): Do not deference NULL pointer. + 2026-07-06 James K. Lowden <[email protected]> * 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 <[email protected]> + + * trans-array.cc (gfc_array_init_size): Set the rank for the + dtype. + +2026-07-08 Harald Anlauf <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> 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 <[email protected]> + + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): respect context for labels + +2026-07-08 Lucas Ly Ba <[email protected]> + + * 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 <[email protected]> + + * backend/rust-compile.cc + (HIRCompileBase::compute_address_for_trait_item): Ensure the + impl block type matches the receiver type. + +2026-07-08 Philip Herron <[email protected]> + + * rust-gcc.cc (pointer_type): turn on can alias + +2026-07-08 Enes Cevik <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * typecheck/rust-unify.cc (UnifyRules::expect_adt): check defid + +2026-07-08 Philip Herron <[email protected]> + + * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): check valid + +2026-07-08 João Novo <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * backend/rust-compile-expr.cc (CompileExpr::visit): Associate the loop + result temporary with the loop label. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Resolve + the generic parameters of a type alias. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit): + Warn on a visibility qualifier on a `const _` item. + +2026-07-08 Owen Avery <[email protected]> + + * 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 <[email protected]> + + * backend/rust-compile-resolve-path.cc: use error_mark_node + +2026-07-08 Philip Herron <[email protected]> + + * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): remove error_at + +2026-07-08 Philip Herron <[email protected]> + + * 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 <[email protected]> + + * backend/rust-compile-item.cc (CompileItem::visit): check instead of assert + +2026-07-08 Philip Herron <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * ast/rust-ast-collector.cc (TokenCollector::visit): check for lang item + +2026-07-08 Philip Herron <[email protected]> + + * typecheck/rust-tyty-bounds.cc (TypeBoundPredicate::TypeBoundPredicate): missing argument + (TypeBoundPredicate::operator=): likewise + +2026-07-08 Philip Herron <[email protected]> + + * typecheck/rust-tyty-subst.cc: we can optionally apply inherited arguments + 2026-06-28 Kevin Stefanov <[email protected]> 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 <[email protected]> + + * gfortran.dg/allocate_with_mold_6.f90: New test. + * gfortran.dg/allocate_with_mold_7.f90: New test. + +2026-07-08 Jerry DeLisle <[email protected]> + + PR libfortran/126116 + * gfortran.dg/pr126116.f90: New test. + +2026-07-08 Harald Anlauf <[email protected]> + + PR fortran/126127 + * gfortran.dg/block_18.f90: New test. + +2026-07-08 Uros Bizjak <[email protected]> + + PR target/126148 + * gcc.target/i386/pr126148.c: New test. + +2026-07-08 Jeff Law <[email protected]> + + PR rtl-optimization/126136 + * gcc.dg/torture/pr126136.c: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4538.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/missing-abi_0.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * 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 <[email protected]> + + * rust/execute/raw-pointer-aliasing.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * rust/execute/min-align-of-val.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * rust/execute/size-of-val.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4617.rs: New test. + +2026-07-08 João Novo <[email protected]> + + * rust/compile/infer-type-issue-3583.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * 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 <[email protected]> + + * rust/execute/drop-local-binding-lifo.rs: New test. + * rust/execute/drop-nested-block-scope.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * rust/execute/torture/dyn_object.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * rust/execute/arith-offset.rs: New test. + +2026-07-08 Enes Cevik <[email protected]> + + * rust/execute/write-bytes.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/break-label-loop.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/type-alias-generic-params.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/non-contiguous-range-endpoints_0.rs: New test. + +2026-07-08 Owen Avery <[email protected]> + + * rust/compile/macros/builtin/eager4.rs: New test. + +2026-07-08 Yap Zhi Heng <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> + + * rust/compile/c_string_null_byte_check.rs: New file. + * rust/execute/torture/c_string.rs: New file. + +2026-07-08 hriztam <[email protected]> + + * rust/compile/issue-4476.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/non-shorthand-field-patterns_0.rs: New test. + +2026-07-08 Lucas Ly Ba <[email protected]> + + * rust/compile/unused-visibilities_0.rs: New test. + +2026-07-08 Owen Avery <[email protected]> + + * rust/compile/assert_missing_panic.rs: Add usage of the second + form of assert. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4302.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-2479.rs: update test + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4471-1.rs: New test. + * rust/compile/issue-4471-2.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4481.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4592.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * rust/compile/issue-4486-1.rs: New test. + * rust/compile/issue-4486-2.rs: New test. + +2026-07-08 Philip Herron <[email protected]> + + * 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 <[email protected]> + + * rust/compile/gat2.rs: New test. + +2026-07-08 Richard Biener <[email protected]> + + PR tree-optimization/126150 + * g++.dg/pr126150.C: New testcase. + +2026-07-08 Richard Biener <[email protected]> + + 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 <[email protected]> + + * gcc.target/aarch64/sve/sad_2.c: New test. + +2026-07-08 Tamar Christina <[email protected]> + + * gcc.target/aarch64/sve/vect-early-break-cbranch_18.c: New test. + +2026-07-08 Richard Biener <[email protected]> + + * 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 <[email protected]> + + * gcc.target/aarch64/ampere1-reduction-unroll-1.c: New test. + +2026-07-08 H.J. Lu <[email protected]> + Richard Sandiford <[email protected]> + + 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 <[email protected]> + + * 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 <[email protected]> + + * 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 <[email protected]> * 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 <[email protected]> + + * 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 <[email protected]> * 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 <[email protected]> + + 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 <[email protected]> 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 <[email protected]> + + 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 <[email protected]> * include/std/mdspan
