https://gcc.gnu.org/g:e0d35695ca82c40e3f3a71fdac068e789dd871f5

commit r17-3146-ge0d35695ca82c40e3f3a71fdac068e789dd871f5
Author: GCC Administrator <[email protected]>
Date:   Sat Aug 8 00:17:09 2026 +0000

    Daily bump.

Diff:
---
 ChangeLog               |  12 +
 gcc/ChangeLog           | 121 ++++++
 gcc/DATESTAMP           |   2 +-
 gcc/cobol/ChangeLog     |  98 +++++
 gcc/rust/ChangeLog      | 977 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog | 334 +++++++++++++++++
 libgcobol/ChangeLog     |  27 ++
 libstdc++-v3/ChangeLog  |  14 +
 8 files changed, 1584 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 17ccafc59c04..1fe36a0d9eae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2026-08-07  Michael Meissner  <[email protected]>
+
+       * MAINTAINERS.yml: Update Michael Meissner's information.
+       * MAINTAINERS: Regenerate.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       * MAINTAINERS: Update Michael Meissner to be a PowerPC maintainer.
+       Update to use [email protected] email address instead of
+       [email protected].  Drop Michael Meissner being a scheduler 
maintainer.
+       * MAINTAINERS.yml: Update.
+
 2026-08-04  Kyrylo Tkachov  <[email protected]>
 
        * Makefile.tpl ([+compare-target+]): Run object comparisons through an
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8610582686c0..0d3a46a4b375 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,124 @@
+2026-08-07  Aldy Hernandez  <[email protected]>
+
+       PR tree-optimization/126714
+       * range-op-float.cc (range_op_float_tests): Guard the signed-zero
+       == op1_range self-test with HONOR_SIGNED_ZEROS.
+
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR tree-optimization/126534
+       * gimple-range-op.cc (cfn_sqrt::op1_range): Widen lb or ub
+       by further 0.5ulp or 1ulp before squaring it.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/120681
+       * config/rs6000/linux64.h (PCREL_SUPPORTED_BY_OS): Allow large
+       code model as well as medium code model.
+       * config/rs6000/rs6000.cc (rs6000_option_override_internal):
+       Likewise.
+       (rs6000_elf_declare_function_name): Don't create the
+       local/non-local labels for large code model if we are using
+       PC-relative addressing.
+
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR target/126667
+       * config/s390/s390.md (usubc<mode>5): If operands[4] is
+       an immediate operand other than const0_rtx, force it into reg
+       before using it in xor<mode>3 insn.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/120528
+       * config/rs6000/rs6000.md (zero_extend??ti2 peephole2): Add a
+       peephole2 to simplify zero extending a QI/HI/SI/DImode value in
+       memory to a TImode target in a vector register to use the
+       LXVR{B,H,W,D}X instructins.
+
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR tree-optimization/126641
+       * value-range.h (class frange): Declare widen method.
+       * range-op-float.cc (float_widen_bound): Move to value-range.cc.
+       (float_widen_lhs_range): Remove.
+       (operator_plus::op1_range, operator_minus::op1_range,
+       operator_minus::op2_range, operator_mult::op1_range,
+       foperator_div::op1_range, foperator_div::op2_range,
+       operator_cast::op1_range, range_op_float_tests): Replace
+       X = float_widen_lhs_range (T, R) with X = R; X.widen (T).
+       * value-range.cc (float_widen_bound): New, moved from
+       range-op-float.cc.
+       (frange::widen): New method, partially based on
+       float_widen_lhs_range, but replace lhs with *this and
+       avoid using set/union_ to construct range, instead modify
+       m_pair and m_num_ranges directly.
+       * real.cc (set_significand_bit, clear_significand_bit,
+       test_significand_bit): Add
+       gcc_checking_assert (n < SIGNIFICAND_BITS).
+       (clear_significand_below): Add
+       gcc_checking_assert (n <= SIGNIFICAND_BITS).
+
+2026-08-07  Aldy Hernandez  <[email protected]>
+
+       * range-op-float.cc (operator_cast::fold_range): Convert each
+       integer sub-range and union the results.
+       (range_op_float_tests): New test.
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * match.pd (((x >> 1) + (y >> 1)) + (x & y & 1)): New simplification
+       to (x & y) + ((x ^ y) >> 1).
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * match.pd ((X % C1) % C2): New simplification.
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * match.pd (MIN (MAX (X, Y + CST), Y)): New simplification.
+       (MAX (MIN (X, Y + CST), Y)): Likewise.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       * config/rs6000/rs6000.opt (-mblock-ops-vector-pair): Undo change to
+       make the -mblock-ops-vector-pair option a documented option.
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Likewise.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/99293
+       * config/rs6000/vsx.md (vsx_splat_extract_<mode>): New insn.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/117487
+       * config/rs6000/vsx.md (SFmode logical peephoole): Update comments in
+       the original code that supports power8.
+       (SFBOOL2_*): New constants.
+       (power9/power10 define_peephol2): Add a new define_peephole2 to optimize
+       float and logical operations on power9/power10/power11 similar to the
+       optimiztion that is done on power8.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): Enable using load
+       vector pair and store vector pair instructions for memory and string
+       built-in functions.
+       (POWERPC_MASKS): Make -mblock-ops-vector-pair an option that is set by
+       the -mcpu=<xxx> command line option.
+       * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Disable
+       -mblock-ops-vector-pair from influencing .machine selection.
+       * config/rs6000/rs6000.opt (-mblock-ops-vector-pair): Document the
+       option.
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Document the
+       -mblock-ops-vector-pair option.
+
+2026-08-07  Kael Andrew Alonzo Franco  <[email protected]>
+
+       PR tree-optimization/64992
+       * match.pd: Fix two typos and format.
+
 2026-08-06  Kael Andrew Alonzo Franco  <[email protected]>
 
        PR tree-optimization/126669
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 4d4df8e55738..ac282fe95ef3 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260807
+20260808
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 37c6841bd5e6..ad94de3d3217 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,101 @@
+2026-08-07  Robert Dubner  <[email protected]>
+           James K. Lowden  <[email protected]>
+
+       * genapi.cc (gg_array_of_field_pointers): Modified to return a
+       pointer to the first element of the array.
+       (gg_array_of_uchar_p): Formatting.
+       (parser_sort): Use updated gg_array_of_field_pointers().
+       (parser_file_sort): Likewise.
+       (parser_file_merge): Likewise.
+       * genapi.h (parser_compute): New declarations.
+       * gengen.h (gg_array_of_field_pointers): Modified declaration.
+       * genmath.cc (parser_compute): New declarations.
+       * genutil.h (gg_array_of_uchar_p): New declaration.
+       * move.cc (mh_binary_to_numdisp): Use new __gg__prohibited()
+       routine.
+       (parser_move): Formatting.
+       (parser_move_multi): Formatting.
+       * parse.y: RPN support.
+       * parse_ante.h (ast_op): Likewise.
+       (ast_relop): Likewise.
+       (struct ast_op_t): Likewise.
+       (struct refer_list_t): Likewise.
+       (struct vargs_t): Likewise.
+       * symbols.h (struct rpn_t): Likewise.
+       (struct expr_t): Likewise.
+
+2026-08-07  Robert Dubner  <[email protected]>
+
+       * cdf.y: Changes in support of CDF parsing.
+       * compare.cc (total_digits_tree): Use gg_define_variable().
+       (alpha_compare_figconst): Likewise.
+       (alpha_compare): Likewise.
+       (numeric_alpha_compare): Likewise.
+       (addr_of_compare): Likewise.
+       (compare_class): Likewise.
+       * genapi.cc (create_cblc_string_variable): Formatting.
+       (initialize_variable_internal): Use gg_define_variable().
+       (enter_program_common): Likewise.
+       (parser_accept): Likewise.
+       (parser_display): Likewise.
+       (parser_exhibit): Likewise.
+       (parser_assign): Likewise.
+       (parser_xml_parse): Likewise.
+       (establish_using): Likewise.
+       (parser_division): Likewise.
+       (parser_file_open): Likewise.
+       (parser_file_delete_file): Likewise.
+       (inspect_tally): Likewise.
+       (inspect_replacing): Likewise.
+       (parser_unstring): Likewise.
+       (parser_string): Likewise.
+       (create_and_call): Likewise.
+       (hijack_for_development):  Likewise.
+       * gengen.cc (gg_declare_variable): Clean up comments.  Early return
+       when "already_defined".  Clean up VAR_DECL attributes.
+       (gg_define_variable): Clean up how gg_declare_variable is used.
+       (gg_define_volatile_variable): Eliminate.
+       (gg_define_bool): Eliminate.
+       (gg_define_char): Eliminate.
+       (gg_define_uchar): Eliminate.
+       (gg_define_int): Eliminate.
+       (gg_define_size_t): Eliminate.
+       (gg_define_int128): Eliminate.
+       (gg_define_char_star): Eliminate.
+       (gg_define_uchar_star): Eliminate.
+       (gg_define_void_star): Eliminate.
+       (gg_define_longdouble): Eliminate.
+       (gg_fprintf): Use gg_define_variable().
+       (gg_read): Likewise.
+       (gg_memdup): Likewise.
+       * gengen.h (enum gg_variable_scope_t): Eliminate vs_file.
+       (gg_define_variable): New overloaded declaration.
+       (gg_define_volatile_variable): Eliminate.
+       (gg_define_bool): Eliminate.
+       (gg_define_char): Eliminate.
+       (gg_define_uchar): Eliminate.
+       (gg_define_int): Eliminate.
+       (gg_define_size_t): Eliminate.
+       (gg_define_int128): Eliminate.
+       (gg_define_longdouble): Eliminate.
+       (gg_define_void_star): Eliminate.
+       (gg_define_char_star): Eliminate.
+       (gg_define_uchar_star): Eliminate.
+       (gg_get_address_of): Formatting.
+       * genmath.cc (set_up_compute_error_label): Use gg_define_variable().
+       (add_litN_to_numdisp): Likewise.
+       * lexio.cc (skip_quoted_literal): Eliminate.
+       (remove_inline_comment): Change the algorithm.
+       * parse.y: CDF processing changes.
+       * scan.l: Likewise.
+       * scan_ante.h (yyinput): Likewise.
+       (yyunput): Likewise.
+       (skip_string): Likewise.
+       (is_refmod): Likewise.
+       * show_parse.h (TRACE1_INDENT): Use gg_define_variable().
+       * structs.cc: Change comment.
+       * token_names.h: Updated for CDF changes.
+
 2026-08-04  Jakub Jelinek  <[email protected]>
 
        * parse.y (selected_name): Use %<-dialect ibm%> instead of just
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 42a37d91ac8d..1779fa1f2d59 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,980 @@
+2026-08-07  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-forever-stack.h: Declare new cache API.
+       * resolve/rust-forever-stack.hxx: Implement it and use it within
+       dfs_cache.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-base.cc
+       (HIRCompileBase::compile_function): Create separate argument and
+       function body drop scopes. Register parameter drop candidates in
+       the argument scope and clean up the function body before the arguments.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * expand/rust-macro-builtins.cc: Made it more explicit that cfg_select! 
is
+       backported.
+       * rust-session-manager.h (Session::should_support_cfg_select): New 
function to
+       check whether cfg_select! should be compiled.
+       * resolve/rust-early-name-resolver-2.0.cc 
(Early::visit(MacroInvocation)):
+       Conditionally resolve cfg_select!.
+       * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): Ditto.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * expand/rust-macro-builtins.h (BuiltinMacro::CfgSelect): New enum 
variant.
+       (MacroBuiltin::cfg_select_handler): New function definition.
+       * expand/rust-macro-builtins.cc (MacroBuiltin::builtins): New 
cfg_select entry.
+       (MacroBuiltin::builtin_transcribers): New cfg_select_handler entry.
+       * expand/rust-macro-builtins-utility.cc 
(MacroBuiltin::cfg_select_handler): Implement
+       parsing of compilation configuration predicates and expansion of block 
expressions based
+       on which predicate was matched.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * backend/rust-compile-type.cc
+       (TyTyResolveCompile::visit): If type contains unsafe_cell type,
+       do not mark it as const.
+       * typecheck/rust-tyty.cc (ADTType::contains_unsafe_cell): New
+       function.
+       (TupleType::contains_unsafe_cell): Likewise.
+       (ArrayType::contains_unsafe_cell): Likewise.
+       (SliceType::contains_unsafe_cell): Likewise.
+       * typecheck/rust-tyty.h (contains_unsafe_cell): New declaration.
+       * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add
+       unsafe_cell to the BiMap.
+       * util/rust-lang-item.h (class LangItem): Add UNSAFE_CELL to the
+       Kind enum.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * ast/rust-ast-collector.cc
+       (TokenCollector::visit (SlicePatternItemsNoRest)): Remove
+       function definition.
+       (TokenCollector::visit (SlicePatternItemsHasRest)): Likewise.
+       (TokenCollector::visit (SlicePattern)): Handle sub-patterns.
+       * ast/rust-ast-collector.h
+       (TokenCollector::visit (SlicePatternItemsNoRest)): Remove
+       function declaration.
+       (TokenCollector::visit (SlicePatternItemsHasRest)): Likewise.
+       * ast/rust-ast-full-decls.h (class SlicePatternItemsNoRest):
+       Remove forward declaration.
+       (class SlicePatternItemsHasRest): Likewise.
+       * ast/rust-ast-pointer-visitor.cc
+       (PointerVisitor::visit (SlicePatternItemsNoRest)): Remove
+       function definition.
+       (PointerVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       (PointerVisitor::visit (SlicePattern)): New function
+       definition.
+       * ast/rust-ast-pointer-visitor.h
+       (PointerVisitor::visit (SlicePatternItemsNoRest)): Remove
+       function declaration.
+       (PointerVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       (PointerVisitor::visit (SlicePattern)): New function
+       declaration.
+       * ast/rust-ast-visitor.cc
+       (DefaultASTVisitor::visit (SlicePatternItemsNoRest)): Remove
+       function definition.
+       (DefaultASTVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       (DefaultASTVisitor::visit (SlicePattern)): Handle sub-patterns.
+       * ast/rust-ast-visitor.h
+       (ASTVisitor::visit (SlicePatternItemsNoRest)): Remove function
+       declaration.
+       (ASTVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       (DefaultASTVisitor::visit (SlicePatternItemsNoRest)): Likewise.
+       (DefaultASTVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       * ast/rust-pattern.cc (SlicePatternItemsNoRest::as_string):
+       Remove function definition.
+       (SlicePatternItemsHasRest::as_string): Likewise.
+       (SlicePattern::as_string): Use as_string on sub patterns
+       directly.
+       (SlicePatternItemsNoRest::accept_vis): Remove function
+       definition.
+       (SlicePatternItemsHasRest::accept_vis): Likewise.
+       * ast/rust-pattern.h (class SlicePatternItems): Remove.
+       (class SlicePatternItemsNoRest): Remove.
+       (class SlicePatternItemsHasRest): Remove.
+       (SlicePattern::items): Remove member variable.
+       (SlicePattern::patterns): New member variable.
+       (SlicePattern::SlicePattern): Adjust to match member variable
+       adjustments.
+       (SlicePattern::get_items): Remove function.
+       (SlicePattern::get_patterns): New function.
+       (class CloneableDelegate<std::unique_ptr<SlicePatternItems>>):
+       Remove specialization.
+       * checks/errors/rust-ast-validation.cc
+       (ASTValidation::visit (SlicePattern)): New function to check for
+       too many RestPattern sub-patterns.
+       * checks/errors/rust-ast-validation.h
+       (ASTValidation::visit (SlicePattern)): New function declaration.
+       * expand/rust-cfg-strip.cc
+       (CfgStrip::visit (SlicePatternItemsNoRest)): Remove function
+       definition.
+       (CfgStrip::visit (SlicePatternItemsHasRest)): Likewise.
+       (CfgStrip::visit (SlicePattern)): Directly visit sub-patterns.
+       * expand/rust-cfg-strip.h
+       (CfgStrip::visit (SlicePatternItemsNoRest)): Remove function
+       declaration.
+       (CfgStrip::visit (SlicePatternItemsHasRest)): Likewise.
+       * expand/rust-derive.h
+       (DeriveVisitor::visit (SlicePatternItemsNoRest)): Remove
+       function.
+       (DeriveVisitor::visit (SlicePatternItemsHasRest)): Likewise.
+       * hir/rust-ast-lower-base.cc
+       (ASTLoweringBase::visit (SlicePatternItemsNoRest)): Remove
+       function definition.
+       (ASTLoweringBase::visit (SlicePatternItemsHasRest)): Likewise.
+       (ASTLoweringBase::lower_slice_pattern_no_rest): Likewise.
+       (ASTLoweringBase::lower_slice_pattern_has_rest): Likewise.
+       * hir/rust-ast-lower-base.h
+       (ASTLoweringBase::visit (SlicePatternItemsNoRest)): Remove
+       function declaration.
+       (ASTLoweringBase::visit (SlicePatternItemsHasRest)): Likewise.
+       (ASTLoweringBase::lower_slice_pattern_no_rest): Likewise.
+       (ASTLoweringBase::lower_slice_pattern_has_rest): Likewise.
+       * hir/rust-ast-lower-pattern.cc (lower_pattern_seq): New
+       function.
+       (ASTLoweringPattern::visit (SlicePattern)): Handle changes to
+       AST SlicePattern.
+       * parse/rust-parse-impl-pattern.hxx
+       (Parser::parse_slice_pattern): Likewise.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * hir/rust-ast-lower-base.cc (warn_if_stub_lang_item): New
+       function.
+       (ASTLoweringBase::handle_lang_item_attribute): Emit a warning
+       if lang item is stub.
+       * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add new
+       lang items to the BiMap.
+       * util/rust-lang-item.h (class LangItem): Add new lang items
+       to Kind enum.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * expand/rust-derive-clone.cc (DeriveClone::clone_call): Use the
+       canonical path to Clone.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast-dump.cc (Dump::Dump): Add a default indentation level of
+       four and dump newlines.
+       * ast/rust-ast-dump.h: Add newline and indentation level configuration
+       options.
+       * metadata/rust-export-metadata.cc (ExportContext::emit_crate): Do not
+       export indentation and newlines.
+       * rust-session-manager.cc (Session::dump_ast_pretty_internal): Use an
+       indentation level of 4 and dump newlines.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-collect-lang-items.cc (CollectLangItems::visit): Visit
+       extern crate's content when collecting lang items.
+       * ast/rust-collect-lang-items.h: Add function protototype.
+       * metadata/rust-export-metadata.cc (ExportContext::push_module_scope):
+       Remove.
+       (ExportContext::emit_crate): Add a function to export the whole crate.
+       (ExportContext::pop_module_scope): Remove.
+       (ExportContext::emit_trait): Likewise.
+       (ExportContext::emit_use_declaration): Likewise.
+       (ExportContext::emit_function): Likewise.
+       (ExportContext::emit_extern_block): Likewise.
+       (ExportContext::emit_module): Likewise.
+       (class ExportVisItems): Likewise.
+       (PublicInterface::gather_export_data): Dump the AST.
+       * metadata/rust-export-metadata.h: Update prototypes.
+
+2026-08-07  Aiman Najjar  <[email protected]>
+
+       * checks/lints/unused/rust-unused-context.cc
+       (UnusedContext::remove_assign): Fix issue with duplicate
+       removal of unused-assignment for the same id.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-default-resolver.cc
+       (DefaultResolver::visit (Crate)): Call maybe_prelude_import.
+       (DefaultResolver::visit (Module)): Likewise.
+       * resolve/rust-default-resolver.h
+       (DefaultResolver::maybe_prelude_import): New virtual member
+       function.
+       * resolve/rust-early-name-resolver-2.0.cc
+       (Early::maybe_prelude_import): New member function definition.
+       (Early::finalize_glob_import): Mark visitor as dirty when
+       first setting ctx.prelude.
+       * resolve/rust-early-name-resolver-2.0.h
+       (Early::maybe_prelude_import): New member function declaration.
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit (IdentifierExpr)): Remove ad-hoc prelude import
+       handling.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-finalize-imports-2.0.cc
+       (GlobbingVisitor::glob_definitions): Offload details to
+       Rib::insert_globbed.
+       (GlobbingVisitor::glob_definition): Remove member function
+       definition.
+       * resolve/rust-finalize-imports-2.0.h
+       (GlobbingVisitor::glob_definition): Remove member function
+       declaration.
+       * resolve/rust-rib.cc (Rib::insert_globbed): New member function
+       definition.
+       * resolve/rust-rib.h (Rib::insert_globbed): New member function
+       declaration.
+
+2026-08-07  Utkarsh Bahuguna  <[email protected]>
+
+       * checks/lints/rust-lint-marklive.cc (MarkLive::visit_path_segment):
+       Mark types in generic arguments as live.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-early-name-resolver-2.0.cc
+       (Early::resolve_glob_import): Handle glob imports that appear
+       after other imports in a use declaration.
+       * resolve/rust-early-name-resolver-2.0.h
+       (Early::ImportMappings::insert): Remove member functions, as
+       they're both broken and unused.
+       * resolve/rust-toplevel-name-resolver-2.0.cc (flatten): Remove
+       redundant break statement.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * backend/rust-compile-block.h: Remove RangeFromToInclExpr visit.
+       * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+       * backend/rust-compile-expr.h: Likewise.
+       * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+       (ExprStmtBuilder::visit): Likewise.
+       * checks/errors/borrowck/rust-bir-builder-expr-stmt.h: Likewise.
+       * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h:
+       Likewise.
+       * checks/errors/borrowck/rust-bir-builder-struct.h: Likewise.
+       * checks/errors/borrowck/rust-function-collector.h: Likewise.
+       * checks/errors/privacy/rust-privacy-reporter.cc
+       (PrivacyReporter::visit): Likewise.
+       * checks/errors/privacy/rust-privacy-reporter.h: Likewise.
+       * checks/errors/rust-const-checker.cc (ConstChecker::visit):
+       Likewise.
+       * checks/errors/rust-const-checker.h: Likewise.
+       * checks/errors/rust-hir-pattern-analysis.cc
+       (PatternChecker::visit): Likewise.
+       * checks/errors/rust-hir-pattern-analysis.h: Likewise.
+       * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit):
+       Likewise.
+       * checks/errors/rust-unsafe-checker.h: Likewise.
+       * hir/rust-hir-dump.cc (Dump::visit): Likewise.
+       * hir/rust-hir-dump.h: Likewise.
+       * hir/tree/rust-hir-expr.cc
+       (RangeFromToInclExpr::RangeFromToInclExpr): Likewise.
+       (RangeFromToInclExpr::operator=): Likewise.
+       * hir/tree/rust-hir-expr.h (class RangeFromToInclExpr): Remove
+       class.
+       * hir/tree/rust-hir-full-decls.h (class RangeFromToInclExpr):
+       Remove forward declaration.
+       * hir/tree/rust-hir-visitor.cc (DefaultHIRVisitor::walk): Remove
+       RangeFromToInclExpr visit.
+       * hir/tree/rust-hir-visitor.h: Likewise.
+       * hir/tree/rust-hir.cc (RangeFromToInclExpr::to_string): Remove.
+       (RangeFromToInclExpr::accept_vis): Remove.
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+       Remove.
+       * typecheck/rust-hir-type-check-expr.h: Remove
+       RangeFromToInclExpr visit.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Add
+       desugaring for range_inclusive_new lang item.
+       * util/rust-lang-item.cc (Rust::LangItem::lang_items): Add
+       range_inclusive_new to the BiMap.
+       * util/rust-lang-item.h (class LangItem): Add RANGE_INCLUSIVE_NEW
+       to the Kind enum.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-drop-builder.cc
+       (DropBuilder::get_block_drop_candidate_stack): Remove.
+       * backend/rust-compile-drop-builder.h
+       (DropBuilder::get_block_drop_candidate_stack): Remove declaration.
+       * backend/rust-compile-expr.cc
+       (CompileExpr::visit (HIR::ReturnExpr &)): Stop emitting drops manually.
+       Store the return statement in translated.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-drop-builder.cc
+       (DropBuilder::get_block_drop_candidate_stack): New function returning 
all
+       active block drop candidate scopes.
+       * backend/rust-compile-drop-builder.h
+       (DropBuilder::get_block_drop_candidate_stack): Declare.
+       * backend/rust-compile-drop.h:
+       (CompileDrop::emit_drop_candidate_calls): Declare.
+       * backend/rust-compile-expr.cc (CompileExpr::visit): Save return values 
and
+       emit drops before explicit return statements.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * expand/rust-derive.cc (DeriveVisitor::setup_impl_generics):
+       Create a constant generic argument from a constant generic
+       parameter.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * typecheck/rust-hir-type-check-item.cc 
(TypeCheckItem::visit(StructStruct)): Update
+       E0690 error message to use the correct variable for number of fields.
+       * typecheck/rust-tyty.cc (ArrayType::is_zero_sized): Catch edge case of 
array's element
+       type being a ZST with capacity is more than 0.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-early-name-resolver-2.0.cc
+       (Early::finalize_glob_import): Check if the globbing visitor was
+       marked dirty.
+       * resolve/rust-finalize-imports-2.0.cc
+       (GlobbingVisitor::glob_definitions): Mark dirty if a definition
+       was inserted.
+       (GlobbingVisitor::glob_definition): Replace silent failure with
+       assertion.
+       * resolve/rust-finalize-imports-2.0.h
+       (GlobbingVisitor::GlobbingVisitor): Initialize dirty member
+       variable.
+       (GlobbingVisitor::is_dirty): New member function.
+       (GlobbingVisitor::dirty): New member variable.
+
+2026-08-07  Islam-Imad  <[email protected]>
+
+       * backend/rust-compile-context.h (RUST_COMPILE_CONTEXT): loop
+       labels context functions.
+       - insert_break_label
+       - lookup_break_label
+       - insert_continue_label
+       - lookup_continue_label
+       - push/pop/peek end_label (similar to begin_label).
+       * backend/rust-compile-expr.cc (CompileExpr::visit): handle loop
+       labels construction in WhileExpr, ForExpr, ContinueExpr and BreakExpr.
+       (CompileExpr::construct_block_label): construct break label
+       instead of normal label to unify handling break statement.
+       (CompileExpr::construct_loop_labels): construct while/for loops
+       labels (continue label before loop, break label after loop).
+       * backend/rust-compile-expr.h (RUST_COMPILE_EXPR):
+       construct_loop_labels function header.
+       * resolve/rust-default-resolver.cc (DefaultResolver::visit): Fix
+       labels.
+       * resolve/rust-default-resolver.h: Fix labels.
+       * resolve/rust-name-resolution-context.cc 
(NameResolutionContext::insert): Fix labels.
+       (NameResolutionContext::insert_shadowable): Fix labels.
+       (NameResolutionContext::insert_globbed): Fix labels.
+       (NameResolutionContext::scoped): Fix labels.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-base.cc (HIRCompileBase::compile_function_body):
+       Stop emitting drops directly in functions.
+       (HIRCompileBase::compile_function): Use try-finally drop cleanup.
+       (HIRCompileBase::compile_constant_item): Use try-finally drop cleanup.
+       * backend/rust-compile-drop.cc
+       (CompileDrop::emit_current_scope_drop_calls): Remove.
+       * backend/rust-compile-drop.h: Remove the unused function declaration.
+       * backend/rust-compile-expr.cc
+       (CompileExpr::generate_closure_function): Use try-finally drop cleanup.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+       Warn on a no-mangle generic function.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+       Warn on unnecessary braces around an assigned value.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * checks/lints/rust-lint-scan-deadcode.h
+       (ScanDeadcode::visit(HIR::ConstantItem))
+       (ScanDeadcode::visit(HIR::StaticItem)): New.
+       * checks/lints/unused/rust-unused-checker.cc
+       (UnusedChecker::visit(HIR::ConstantItem)): Remove unused-item check,
+       keep visibility lint.
+       (UnusedChecker::visit(HIR::StaticItem)): Remove unused-item check,
+       keep naming lint.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * typecheck/rust-tyty.h (BaseType::is_zero_sized): New function.
+       (TupleType::is_zero_sized): New function.
+       (ArrayType::is_zero_sized): New function.
+       (ADTType::is_zero_sized): New function.
+       * typecheck/rust-tyty.cc (BaseType::is_zero_sized): Implement checking 
of
+       whether a type is zero-sized.
+       (TupleType::is_zero_sized): Ditto.
+       (ArrayType::is_zero_sized): Ditto.
+       (ADTType::is_zero_sized): Ditto.
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit 
(StructStruct)): Update
+       transparent repr type-checking to check for zero-sized members.
+       * backend/rust-compile-type.cc (TyTyResolveCompile::visit 
(TyTy::ADTType)): Support
+       compilation of transparent repr structs with more than 1 fields.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust-session-manager.h (Session::LoadedCrate): Add explicit 
constructor.
+
+2026-08-07  Egas Ribeiro  <[email protected]>
+           João Novo  <[email protected]>
+
+       * checks/errors/rust-hir-pattern-analysis.cc
+       (PatternChecker::visit): Diagnose refutable patterns in Function
+       parameters and LetStmt bindings.
+       * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): Remove
+       pattern kind whitelist; only error on bare literal patterns at
+       lowering.
+
+2026-08-07  Egas Ribeiro  <[email protected]>
+           João Novo  <[email protected]>
+
+       * Make-lang.in: Add rust-hir-pattern-abstract.o.
+       * hir/tree/rust-hir-path.h: Add is_refutable overrides.
+       * hir/tree/rust-hir-pattern-abstract.h (class BaseType): Add
+       typed is_refutable virtual method.
+       * hir/tree/rust-hir-pattern.h: Add is_refutable to all pattern
+       kinds.
+       * hir/tree/rust-hir-pattern-abstract.cc: New file. Implement
+       typed is_refutable for PathPattern, SlicePattern,
+       TupleStructPattern.
+
+2026-08-07  Egas Ribeiro  <[email protected]>
+           João Novo  <[email protected]>
+
+       * hir/tree/rust-hir-pattern.h: Add const overloads.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * expand/rust-macro-expand.cc (transcribe_expression 
(Parser<MacroInvocLexer>)):
+       Prevent the same trailing semicolon warning from being generated at the 
same loc.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * checks/errors/rust-builtin-attribute-checker.cc
+       (attribute_checking_handlers): Add rustc_conversion_suggestion
+       attribute to map.
+       (check_valid_attribute_for_item): Add warning for new attribute.
+       * util/rust-attribute-values.h (class Attributes): Add
+       RUSTC_CONVERSION_SUGGESTION constexpr.
+       * util/rust-attributes.cc (__definitions): Add
+       BuiltinAttrDefinition for new attribute.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * checks/errors/rust-builtin-attribute-checker.cc
+       (check_inner_attribute): Add warning for needs_allocator.
+       * util/rust-attribute-values.h (class Attributes): Add
+       NEEDS_ALLOCATOR constexpr.
+       * util/rust-attributes.cc (__definitions): Add
+       BuiltinAttrDefinition for new attribute.
+
+2026-08-07  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-08-07  Enes Cevik  <[email protected]>
+
+       * backend/rust-compile-intrinsic.cc (generic_intrinsics): Add
+       assert_zero_valid to map.
+       * backend/rust-intrinsic-handlers.cc
+       (assert_zero_valid_handler): New function.
+       * backend/rust-intrinsic-handlers.h (assert_zero_valid_handler):
+       New declaration.
+       * typecheck/rust-hir-type-check-intrinsic.cc
+       (IntrinsicChecker::intrinsic_rules): Add new signature rule for
+       assert_zero_valid.
+       * util/rust-intrinsic-values.h (class Intrinsics): Add
+       ASSERT_ZERO_VALID constexpr.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-forever-stack.hxx
+       (ForeverStack::find_starting_point): Handle a final super
+       segment and super segments after a lowercase self segment.
+       * resolve/rust-name-resolution-context.hxx
+       (NameResolutionContext::resolve_path): Handle cases where
+       find_starting_point resolves the final segment.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-context.h:
+       (Context::pop_block_impl): Wrap Drop cleanup in an EH_ELSE_EXPR.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-block.cc
+       (CompileBlock::visit): Build current scope drop cleanup and
+       pass it when popping the block.
+       * backend/rust-compile-context.h
+       (Context::pop_block): Use pop_block_impl.
+       (Context::pop_block_with_cleanup): New function for popping
+       a block with cleanup code.
+       (Context::pop_block_impl): New helper that adds the block
+       statements directly, or wraps them in TRY_FINALLY_EXPR when
+       cleanup is present.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-drop.cc
+       (CompileDrop::build_current_scope_drop_cleanup): New function to
+       build current scope drop calls as a statement tree.
+       (CompileDrop::emit_current_scope_drop_calls): Use it.
+       * backend/rust-compile-drop.h
+       (CompileDrop::build_current_scope_drop_cleanup): Declare.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): Warn on
+       a trait object with a `Drop` bound.
+       * rust-lang.cc (grs_langhook_init_options_struct): Enable warn_unused.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit (ExternalTypeItem)): New function definition.
+       * resolve/rust-toplevel-name-resolver-2.0.h
+       (TopLevel::visit (ExternalTypeItem)): New function declaration.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-base.cc (HIRCompileBase::compile_function):
+       Track droppable function parameters in the function scope.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-base.cc
+       (HIRCompileBase::compile_function_body): Emit current scope drops
+       for unit tail expressions.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * backend/rust-compile-base.cc
+       (HIRCompileBase::compile_function_body): Store non-unit tail expression
+       results before emitting current scope drops.
+
+2026-08-07  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-08-07  Yap Zhi Heng  <[email protected]>
+
+       * typecheck/rust-hir-type-check-base.cc 
(TypeCheckBase::parse_repr_options): New
+       check for `#[repr(align)]` to enforce having a parameter that is a 
power of 2.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * backend/rust-compile-expr.h 
(CompileExpr::compile_transparent_field_access): New
+       helper function.
+       * backend/rust-compile-expr.cc 
(CompileExpr::compile_transparent_field_access):
+       Implement helper function for accessing the field of 
#[repr(transparent)] ADTs.
+       (CompileExpr::visit (HIR::StructExprStructFields)): Support struct 
field construction
+       properly for #[repr(transparent)] structs.
+       (CompileExpr::visit (HIR::FieldAccessExpr)): Implement proper 
compilation of field
+       access for #[repr(transparent)] ADTs.
+       * backend/rust-compile-type.cc (TyTyResolveCompile::visit 
(TyTy::ADTType)): Implement
+       proper compilation of typing for #[repr(transparent)] ADTs.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * typecheck/rust-tyty.h (TyTy::ADTType::ReprKind): Add TRANSPARENT 
variant.
+       * typecheck/rust-hir-type-check-base.cc 
(TypeCheckBase::parse_repr_options):
+       Add parsing of transparent repr, throw error for invalid repr.
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit 
(StructStruct)):
+       Throw error if #[repr(transparent)] struct/enum has more than 1 field.
+
+2026-08-07  Arthur Cohen  <[email protected]>
+
+       * expand/rust-macro-expand.h (struct MacroExpander): Make `crate` 
member public for
+       sub-expanders to access its inner attributes.
+       * ast/rust-ast-builder.h: Add `Source` enum to discriminate between AST 
node generation
+       within `core` and within other crates.
+       * ast/rust-ast-builder.cc: Use the new enum for building paths properly.
+       * ast/rust-desugar-for-loops.cc (DesugarForLoops::desugar): Likewise.
+       (DesugarForLoops::go): Likewise.
+       * ast/rust-desugar-for-loops.h: Likewise.
+       * ast/rust-desugar-question-mark.cc (DesugarQuestionMark::go): Likewise.
+       (DesugarQuestionMark::desugar): Likewise.
+       * ast/rust-desugar-question-mark.h: Likewise.
+       * ast/rust-desugar-try-block.cc (DesugarTryBlock::go): Likewise.
+       (DesugarTryBlock::desugar): Likewise.
+       * ast/rust-desugar-try-block.h: Likewise.
+       * ast/rust-desugar-while-let.cc (DesugarWhileLet::desugar): Likewise.
+       (DesugarWhileLet::go): Likewise.
+       * ast/rust-desugar-while-let.h: Likewise.
+       * ast/rust-expression-yeast.cc (ExpressionYeast::go): Likewise.
+       (ExpressionYeast::dispatch_loops): Likewise.
+       (ExpressionYeast::reseat): Likewise.
+       * ast/rust-expression-yeast.h (RUST_EXPRESSION_YEAST): Likewise.
+       * expand/rust-derive-clone.cc (DeriveClone::DeriveClone): Likewise.
+       * expand/rust-derive-clone.h: Likewise.
+       * expand/rust-derive-copy.cc (DeriveCopy::DeriveCopy): Likewise.
+       * expand/rust-derive-copy.h: Likewise.
+       * expand/rust-derive-debug.cc (DeriveDebug::DeriveDebug): Likewise.
+       (DeriveDebug::stub_debug_fn): Likewise.
+       * expand/rust-derive-debug.h: Likewise.
+       * expand/rust-derive-default.cc (DeriveDefault::DeriveDefault): 
Likewise.
+       (DeriveDefault::default_call): Likewise.
+       * expand/rust-derive-default.h: Likewise.
+       * expand/rust-derive-eq.cc (get_eq_trait_path): Likewise.
+       (DeriveEq::DeriveEq): Likewise.
+       * expand/rust-derive-eq.h: Likewise.
+       * expand/rust-derive-hash.cc (DeriveHash::DeriveHash): Likewise.
+       (DeriveHash::hash_call): Likewise.
+       (DeriveHash::hash_fn): Likewise.
+       * expand/rust-derive-hash.h: Likewise.
+       * expand/rust-derive-ord.cc (DeriveOrd::DeriveOrd): Likewise.
+       (DeriveOrd::cmp_call): Likewise.
+       (DeriveOrd::cmp_fn): Likewise.
+       (DeriveOrd::make_equal): Likewise.
+       (DeriveOrd::recursive_match): Likewise.
+       * expand/rust-derive-ord.h: Likewise.
+       * expand/rust-derive-partial-eq.cc (DerivePartialEq::DerivePartialEq): 
Likewise.
+       * expand/rust-derive-partial-eq.h: Likewise.
+       * expand/rust-derive.cc (DeriveVisitor::DeriveVisitor): Likewise.
+       (DeriveVisitor::derive): Likewise.
+       * expand/rust-derive.h: Likewise.
+       * expand/rust-expand-format-args.cc (format_arg): Likewise.
+       (expand_format_args): Likewise.
+       * expand/rust-expand-visitor.cc (builtin_derive_item): Likewise.
+       (ExpandVisitor::expand_inner_stmts): Likewise.
+       * expand/rust-macro-builtins-log-debug.cc 
(MacroBuiltin::assert_handler): Likewise.
+       * expand/rust-macro-builtins-utility.cc 
(MacroBuiltin::option_env_handler): Likewise.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-finalize-imports-2.0.cc (GlobbingVisitor::go):
+       Use visit_container.
+       (GlobbingVisitor::visit_crate_container)
+       (GlobbingVisitor::visit_module_container)
+       (GlobbingVisitor::visit_enum_container, GlobbingVisitor::visit):
+       Remove member functions.
+       (GlobbingVisitor::visit_container)
+       (GlobbingVisitor::glob_definitions)
+       (GlobbingVisitor::glob_definition): New member functions.
+       * resolve/rust-finalize-imports-2.0.h (class GlobbingVisitor):
+       Remove DefaultASTVisitor as base class.
+       (GlobbingVisitor::visit_crate_container)
+       (GlobbingVisitor::visit_module_container)
+       (GlobbingVisitor::visit_enum_container, GlobbingVisitor::visit):
+       Remove member functions.
+       (GlobbingVisitor::visit_container)
+       (GlobbingVisitor::glob_definitions)
+       (GlobbingVisitor::glob_definition): New member functions.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * checks/errors/feature/rust-feature-collector.cc: Include
+       "rust-session-manager.h".
+       (FeatureCollector::collect): Automatically enable
+       EXTENDED_KEY_VALUE_ATTRIBUTES when targeting compatibility with
+       rust versions before 1.50.
+       * expand/rust-macro-expand.cc: Include "rust-session-manager.h".
+       (MacroExpander::expand_invoc): Use Session to determine whether
+       offset_of is supported.
+       * lang.opt (frust-assume-builtin-offset-of): Remove option,
+       superseded by...
+       (frust-compat-version): ...new option.
+       * resolve/rust-early-name-resolver-2.0.cc: Include
+       "rust-session-manager.h".
+       (Early::visit (MacroInvocation)): Use Session to determine
+       whether offset_of is supported.
+       * rust-session-manager.cc (Session::handle_option): Handle
+       frust-compat-version.
+       * rust-session-manager.h (CompileOptions::compat_version): New
+       member variable.
+       (CompileOptions::set_compat_version): New member function.
+       (CompileOptions::get_compat_version): Likewise.
+       (Session::get_compat_version): Likewise.
+       (Session::should_support_offset_of): Likewise.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-forever-stack.h (ForeverStackBase::Node::Node):
+       Initialize all namespace ribs with a Rib::Kind.
+       (ForeverStackBase::Node::rib): Replace member variable with member
+       function taking namespace.
+       (ForeverStackBase::Node::rib_values): New member variable.
+       (ForeverStackBase::Node::rib_types): New member variable.
+       (ForeverStackBase::Node::rib_labels): New member variable.
+       (ForeverStackBase::Node::rib_macros): New member variable.
+       (ForeverStackBase::ForeverStackBase): New constructor taking
+       references to top-level nodes.
+       (ForeverStack::root): Move member variable to...
+       (ForeverStackBase::root): ...here and make it a reference.
+       (ForeverStack::lang_prelude): Move member variable to...
+       (ForeverStackBase::lang_prelude): ...here and make it a
+       reference.
+       (ForeverStack::extern_prelude): Move member variable to...
+       (ForeverStackBase::extern_prelude): ...here and make it a
+       reference.
+       (ForeverStack::ForeverStack): Initialize ForeverStackBase
+       and take top-level nodes as by-reference arguments.
+       (ForeverStack::push_inner): Take Rib::Kind instead of Rib.
+       * resolve/rust-forever-stack.hxx (ForeverStackBase::is_prelude):
+       Use value rib to get rib kind.
+       (ForeverStack::push_inner): Take Rib::Kind instead of Rib.
+       (ForeverStack::pop): Use namespace specific ribs.
+       (ForeverStack::insert_at_root): Likewise.
+       (ForeverStack::insert_lang_prelude): Likewise.
+       (ForeverStack::peek): Likewise.
+       (ForeverStack::get): Likewise.
+       (ForeverStack::get_lang_prelude): Likewise.
+       (ForeverStack::find_closest_module): Likewise.
+       (ForeverStack::dfs): Likewise.
+       (ForeverStack::dfs_rib): Likewise.
+       (ForeverStack::stream_node): Likewise.
+       * resolve/rust-name-resolution-context.cc
+       (NameResolutionContext::merge): Likewise.
+       (NameResolutionContext::NameResolutionContext): Initialize
+       top-level nodes and construct ForeverStack instances with
+       references.
+       * resolve/rust-name-resolution-context.h
+       (NameResolutionContext::Node): New type alias to
+       ForeverStackBase::Node.
+       (NameResolutionContext::root): New member variable.
+       (NameResolutionContext::lang_prelude): New member variable.
+       (NameResolutionContext::extern_prelude): New member variable.
+       * resolve/rust-name-resolution-context.hxx
+       (NameResolutionContext::should_search_prelude): Use namespace
+       specific rib.
+       (NameResolutionContext::resolve_path): Simplify mapping to and
+       from type namespace nodes (now a no-op). Also, use namespace
+       specific ribs for looking up final segments.
+       (NameResolutionContext::resolve_segments): Use namespace
+       specific ribs.
+       (NameResolutionContext::resolve_final_segment): Likewise.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-identifier-path.cc
+       (IdentifierPathPass::reseat (Pattern)): Remember to visit a
+       pattern's sub-patterns, if we didn't convert it into a
+       PathInExpression.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * ast/rust-ast-collector.cc
+       (TokenCollector::visit (TypePathSegmentGeneric)): Remove
+       duplicate push of segment identifier.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * typecheck/rust-hir-type-check-base.cc 
(TypeCheckBase::resolve_generic_params):
+       Warn on `Drop` bounds on generic parameters.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * checks/errors/rust-builtin-attribute-checker.cc (no_mangle):
+       Remove function.
+       (rustc_std_internal_symbol): Likewise.
+       (rustc_allocator): Likewise.
+       (rustc_allocator_nounwind): Likewise.
+       (expect_no_input): New function.
+       (attribute_checking_handlers): Use expect_no_input, new entry
+       for GLOBAL_ALLOCATOR.
+       (check_valid_attribute_for_item): Verify that GLOBAL_ALLOCATOR
+       attributes only appear on static items.
+       * util/rust-attribute-values.h (Attributes::GLOBAL_ALLOCATOR):
+       New static constexpr member variable.
+       * util/rust-attributes.cc (__definitions): New entry for
+       GLOBAL_ALLOCATOR.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-default-resolver.cc
+       (DefaultResolver::visit (TypeParam)): Visit bounds outside of
+       ForwardTypeParamBan rib.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * resolve/rust-forever-stack.h (class ForeverStackBase): New.
+       (class ForeverStack): Use ForeverStackBase as a base class.
+       (class ForeverStack::Link): Move to...
+       (class ForeverStackBase::Link): ...here.
+       (class ForeverStack::LinkCmp): Move to...
+       (class ForeverStackBase::LinkCmp): ...here.
+       (class ForeverStack::Node): Move to...
+       (class ForeverStackBase::Node): ...here.
+       (ForeverStackBase::Node::is_root): Mark inline.
+       (ForeverStackBase::Node::is_prelude): Likewise.
+       (ForeverStackBase::Node::is_leaf): Likewise.
+       (ForeverStackBase::Node::insert_child): Likewise.
+       * resolve/rust-forever-stack.hxx (ForeverStack::Node::is_root):
+       Move to...
+       (ForeverStackBase::Node::is_root): ...here.
+       (ForeverStack::Node::is_prelude): Move to...
+       (ForeverStackBase::Node::is_prelude): ...here.
+       (ForeverStack::Node::is_leaf): Move to...
+       (ForeverStackBase::Node::is_leaf): ...here.
+       (ForeverStack::Node::insert_child): Move to...
+       (ForeverStackBase::Node::insert_child): ...here.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * Make-lang.in (GRS_OBJS): Remove rust-forever-stack.o.
+       * resolve/rust-forever-stack.h (class ForeverStackStore):
+       Remove.
+       * resolve/rust-forever-stack.cc: Removed.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast-builder.cc (Builder::type_path_segment): Remove name.
+       (Builder::type_path_segment_generic): Likewise.
+       (Builder::single_generic_type_path): Likewise.
+       (Builder::type_path): Likewise.
+       * ast/rust-ast-builder.h: Update function prototypes.
+       * expand/rust-derive-clone.cc (DeriveClone::visit_union): do not inject
+       trait name.
+       * expand/rust-derive-copy.cc: Likewise.
+       * expand/rust-derive-eq.cc (DeriveEq::assert_param_is_eq): Likewise.
+       * expand/rust-derive-partial-eq.cc: Likewise.
+       * util/rust-hir-map.cc (Mappings::get_lang_item_identifier): Add a
+       function to retrieve a lang item identifier from it's kind.
+       * util/rust-hir-map.h: Add function prototype.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast.h (class Identifier): Move from here to
+       rust-ast-identifiers.h.
+       (operator<<): Likewise.
+       * ast/rust-ast-identifier.h: New file.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * rust-session-manager.cc (Session::dump_hir_pretty): Update error type
+       name.
+       (Session::load_extern_crate): Likewise.
+       * rust-session-manager.h: Change error type name.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * metadata/rust-export-metadata.cc (ExportContext::begin_extern_block):
+       Delete function.
+       (ExportContext::end_extern_block): Likewise.
+       (ExportContext::begin_module): Likewise.
+       (ExportContext::end_module): Likewise.
+       (ExportContext::emit_extern_block): Merge both begin/end within one
+       function that calls the visitor in between.
+       (ExportContext::emit_module): Likewise.
+       * metadata/rust-export-metadata.h: Update function prototypes.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * metadata/rust-export-metadata.cc (ExportContext::begin_extern_block):
+       Dump the prefix of an extern block.
+       (ExportContext::end_extern_block): Likewise with extern block suffix.
+       * metadata/rust-export-metadata.h: Add function prototypes.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * resolve/rust-resolve-builtins.cc (class LangPreludeSingleton): Add a
+       singleton to store node and hir ids.
+       (setup_lang_prelude): Use the new singleton store.
+       (TYPE0): Change reference to singleton.
+       (TYPE1): Likewise.
+       (setup_type_ctx): Use the new singleton store.
+       (find_builtin_node_id): Likewise.
+       * rust-session-manager.cc (Session::load_extern_crate): Setup builtin
+       types.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * resolve/rust-name-resolution-context.cc 
(CanonicalPathRecordNormal::as_path):
+       Use context and retrieve parent from its node id.
+       (CanonicalPathRecordImpl::as_path): Likewise.
+       (CanonicalPathRecordTraitImpl::as_path): Likewise.
+       (NameResolutionContext::merge): Merge both record map.
+       * resolve/rust-name-resolution-context.h: Change parent handle
+       representation from reference to node id.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * resolve/rust-name-resolution-context.cc 
(NameResolutionContext::merge):
+       Merge nr usage binding when merging nr contexts.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * rust-session-manager.cc (Session::load_extern_crate): Run late name
+       resolver on extern crates.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast-builder.cc (Builder::type_path_segment): Add segment
+       name argument.
+       (Builder::type_path_segment_generic): Likewise.
+       (Builder::single_generic_type_path): Likewise.
+       (Builder::type_path): Likewise.
+       * ast/rust-ast-builder.h: Add segment name string to ctor.
+       * ast/rust-path.h: Make segment name mandatory.
+       * expand/rust-derive-clone.cc (DeriveClone::visit_union): Forward
+       segment name.
+       * expand/rust-derive-copy.cc: Likewise.
+       * expand/rust-derive-eq.cc (DeriveEq::assert_param_is_eq): Likewise.
+       * expand/rust-derive-partial-eq.cc: Likewise.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * Make-lang.in: Add a new file with a visitor to collect and load
+       extern crates.
+       * expand/rust-cfg-strip.cc (CfgStrip::visit): Remove extern crate
+       loading from cfgstrip step.
+       * resolve/rust-default-resolver.cc 
(DefaultResolver::visit_extern_crate):
+       Do not visit the extern crate. We do not need to resolve it since it is
+       already done.
+       * resolve/rust-forever-stack.hxx: Do not assign unused result.
+       * resolve/rust-name-resolution-context.cc 
(NameResolutionContext::merge):
+       Add a function to merge an extern crate's nr context at some location
+       within another name resolution context.
+       * resolve/rust-name-resolution-context.h: Add function prototype.
+       * resolve/rust-toplevel-name-resolver-2.0.cc 
(TopLevel::visit_extern_crate):
+       Do not visit extern crate.
+       * rust-session-manager.cc (Session::expansion): Collect extern crates,
+       load them and merge them into the main crate.
+       (Session::dump_hir_pretty): Change function return type.
+       (Session::load_extern_crate): Change return type to collect extern
+       crates name resolution context.
+       * rust-session-manager.h: Update function prototype.
+       * expand/rust-extern-crate-loader.cc: New file.
+       * expand/rust-extern-crate-loader.h: New file.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * metadata/rust-export-metadata.cc (ExportContext::emit_trait): Use
+       AST node instead.
+       (ExportContext::emit_function): Likewise.
+       (ExportContext::emit_use_declaration): likewise.
+       (ExportContext::begin_module): Likewise.
+       (ExportContext::end_module): Likewise.
+       (class ExportVisItems): Use DefaultASTVisitor instead.
+       (PublicInterface::gather_export_data): Lookup the AST crate and visit
+       its items.
+       * metadata/rust-export-metadata.h: Update function prototys with AST
+       nodes.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * metadata/rust-export-metadata.cc (ExportContext::begin_module):
+       Add a function to emit the module preamble.
+       (ExportContext::end_module): Add function to emit public module brace
+       suffix.
+       * metadata/rust-export-metadata.h: Add function prototypes.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * lex/rust-lex.h: Return an empty file name when file is missing.
+
 2026-07-08  Philip Herron  <[email protected]>
 
        * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): respect 
context for labels
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9d3b4e77bbfe..b93f51928ec4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,337 @@
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR tree-optimization/126534
+       * gcc.dg/pr126534.c: New test.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/120681
+       * gcc.target/powerpc/pr120681.c: New test.
+
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR target/126667
+       * gcc.dg/pr126667.c: New test.
+       * gcc.target/s390/pr126667.c: New test.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/120528
+       * gcc.target/powerpc/pr120528.c: New test.
+
+2026-08-07  Richard Biener  <[email protected]>
+
+       PR tree-optimization/110935
+       * gcc.dg/vect/bb-slp-reduc-pr110935.c: New testcase.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/execute/torture/cfg_select1.rs: Add new dg-additional-options, 
remove
+       the no-longer-needed cfg_select! declaration.
+       * rust/execute/torture/cfg_select2.rs: Ditto.
+       * rust/compile/c_string_null_byte_check.rs: Ditto.
+       * rust/execute/torture/c_string.rs: Ditto.
+       * rust/execute/torture/c_string_ensure_null_term.rs: Ditto.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/c_string_null_byte_check.rs: Update definition of 
`c_char`.
+       * rust/execute/torture/c_string_ensure_null_term.rs: Ditto.
+       * rust/execute/torture/c_string.rs: Ditto.
+       * rust/execute/torture/cfg_select1.rs: New file.
+       * rust/execute/torture/cfg_select2.rs: New file.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/unsafe_cell.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/slice_rest_pattern.rs: Verify that too many rest
+       patterns in a slice pattern does not produce an error, if that
+       slice pattern is cfg'd out.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/core/core.exp: Compile until lowering phase, avoid
+       spamming the logs with debug messages in an attempt to speed up
+       compilation, and increase test timeout from 600 seconds to 1200
+       seconds.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/lang-items-stub.rs: New test.
+       * rust/compile/lang-items-symbol.rs: New test.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * rust/compile/derive_clone_enum2.rs: Fix test with a clone module
+       to mimic the core library.
+       * rust/compile/derive_clone_enum3.rs: Likewise.
+       * rust/compile/issue-3139-1.rs: Likewise.
+       * rust/compile/issue-3144.rs: Likewise.
+       * rust/execute/torture/derive_clone_enum1.rs: Likewise.
+       * rust/execute/torture/derive_macro3.rs: Likewise.
+       * rust/execute/torture/derive_macro4.rs: Likewise.
+
+2026-08-07  Pierre-Emmanuel Patry  <[email protected]>
+
+       * rust/link/simple_function_0.rs: Remove bogus match.
+
+2026-08-07  Aiman Najjar  <[email protected]>
+
+       * rust/compile/issue-4674.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/glob-import-ambiguous.rs: New test.
+
+2026-08-07  Utkarsh Bahuguna  <[email protected]>
+
+       * rust/compile/generic_args_deadcode.rs: New test.
+       * rust/compile/torture/traits8.rs: Remove dg-warning.
+       * rust/compile/v0-mangle1.rs: Remove dg-warning.
+       * rust/execute/torture/impl_desugar.rs: Remove dg-warning.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/glob_import_brace.rs: New test.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/torture/range-lang-item1.rs: Update test to use
+       the new lang item.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * rust/execute/drop-explicit-return.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/derive_macro9.rs: New test.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/repr_transparent_fields.rs: Add more test cases.
+
+2026-08-07  Islam-Imad  <[email protected]>
+
+       * rust/execute/cf-break-continue.rs: New test.
+       * rust/execute/cf-label-shadowing.rs: New test.
+       * rust/execute/cf-labeled-break-nested.rs: New test.
+       * rust/execute/cf-labeled-continue-nested.rs: New test.
+       * rust/execute/cf-labeled-loops.rs: New test.
+       * rust/execute/cf-loop-break-continue.rs: New test.
+       * rust/execute/cf-mixed-labeled-unlabeled.rs: New test.
+       * rust/execute/cf-nested-loops.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/no-mangle-generic-items_0.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/unused-braces_0.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/static_item_0.rs: Change warning description.
+       * rust/compile/static-mut-refs_0.rs: Make static public.
+       * rust/compile/const_item_0.rs: New test.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/repr_transparent_fields.rs: Add new test case with 
PhantomData.
+
+2026-08-07  Egas Ribeiro  <[email protected]>
+           João Novo  <[email protected]>
+
+       * rust/compile/irrefutable-alt.rs: New test.
+       * rust/compile/irrefutable-basic.rs: New test.
+       * rust/compile/irrefutable-identifier-binding.rs: New test.
+       * rust/compile/irrefutable-nested.rs: New test.
+       * rust/compile/irrefutable-path.rs: New test.
+       * rust/compile/irrefutable-range.rs: New test.
+       * rust/compile/irrefutable-reference.rs: New test.
+       * rust/compile/irrefutable-slice.rs: New test.
+       * rust/compile/irrefutable-struct.rs: New test.
+       * rust/compile/irrefutable-tuple.rs: New test.
+       * rust/compile/refutable-alt.rs: New test.
+       * rust/compile/refutable-binding.rs: New test.
+       * rust/compile/refutable-literal-let.rs: New test.
+       * rust/compile/refutable-literal-parameter.rs: New test.
+       * rust/compile/refutable-path.rs: New test.
+       * rust/compile/refutable-range.rs: New test.
+       * rust/compile/refutable-reference.rs: New test.
+       * rust/compile/refutable-struct.rs: New test.
+       * rust/compile/refutable-tuple.rs: New test.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/rustc_conversion_suggestion.rs: New test.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/needs_allocator.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/static-mut-refs_0.rs: New test.
+
+2026-08-07  Enes Cevik  <[email protected]>
+
+       * rust/compile/assert_zero_valid.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/name_resolution29.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/dyn-drop_0.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/extern_type_item_resolve.rs: New test.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * rust/execute/drop-function-params.rs: New test.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * rust/execute/drop-function-scope-unit-tail.rs: New test.
+
+2026-08-07  Lishin  <[email protected]>
+
+       * rust/execute/drop-function-scope-non-unit-tail.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/unused-doc-comment_0.rs: New test.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/invalid_repr_hint.rs: Update existing and add new 
`align` test cases.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/execute/torture/c_string.rs: Fix missing #[repr(transparent)]
+       * rust/execute/torture/c_string_ensure_null_term.rs: Ditto.
+       * rust/compile/c_string_null_byte_check.rs: Ditto.
+       * rust/compile/repr_transparent_fields2.rs: New file.
+       * rust/compile/transparent_struct_deref.rs: New file.
+
+2026-08-07  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/invalid_repr_hint.rs: New file.
+       * rust/compile/repr_transparent_fields.rs: New file.
+
+2026-08-07  Arthur Cohen  <[email protected]>
+
+       * rust/compile/derive-debug1.rs: Adapt module structure to make it more 
core-like.
+       * rust/compile/derive-default1.rs: Likewise.
+       * rust/compile/derive-eq-invalid.rs: Likewise.
+       * rust/compile/derive-hash1.rs: Likewise.
+       * rust/compile/derive_partial_ord1.rs: Likewise.
+       * rust/compile/format_args_basic_expansion.rs: Likewise.
+       * rust/compile/format_args_concat.rs: Likewise.
+       * rust/compile/format_args_extra_comma.rs: Likewise.
+       * rust/compile/issue-4090-1.rs: Likewise.
+       * rust/compile/issue-4090-2.rs: Likewise.
+       * rust/execute/torture/derive-default1.rs: Likewise.
+       * rust/execute/torture/derive-partialeq2.rs: Likewise.
+       * rust/execute/torture/issue-2005.rs: Likewise.
+       * rust/execute/torture/issue-3836.rs: Likewise.
+       * rust/execute/torture/partial-eq-4.rs: Likewise.
+       * rust/execute/torture/partial-ord-5.rs: Likewise.
+       * rust/execute/torture/partial-ord-6.rs: Likewise.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/glob-import-import.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/early_feature_gate_in_macro.rs: Change test
+       options.
+       * rust/compile/offset_of1.rs: Likewise.
+       * rust/compile/offset_of2.rs: Likewise.
+       * rust/compile/parse_time_feature_gate.rs: Likewise.
+       * rust/execute/torture/offset_of1.rs: Likewise.
+
+2026-08-07  Arthur Cohen  <[email protected]>
+
+       * rust/compile/issue-4116.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/execute/ident_pat_vs_path_3.rs: New test.
+
+2026-08-07  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/drop-bounds_0.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/global-allocator.rs: New test.
+
+2026-08-07  Owen Avery  <[email protected]>
+
+       * rust/compile/generics15.rs: New test.
+
+2026-08-07  Dylan Rees  <[email protected]>
+
+       * gcc.target/i386/pr124407-1.c: Removed x86_cse rtl flag
+       and scans. Replaced with assembly scan for specific
+       'movabsq' instruction.
+       * gcc.target/i386/pr81501-9b.c: Removed check-function-bodies
+       and replaced with orderless assembly scans.
+
+2026-08-07  Eikansh Gupta  <[email protected]>
+
+       PR tree-optimization/109843
+       PR tree-optimization/112472
+       * gcc.dg/tree-ssa/pr109843.c: Add -msse2 -mfpmath=sse for ilp32 x86.
+       * gcc.dg/tree-ssa/pr112472.c: Likewise.
+
+2026-08-07  Jakub Jelinek  <[email protected]>
+
+       PR tree-optimization/126641
+       * gcc.dg/pr126641.c: New test.
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.dg/tree-ssa/avg-1.c: New test.
+       * gcc.target/aarch64/sve/pr89007-2.c: Update the expected loop body.
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.dg/tree-ssa/modmod-1.c: New test.
+       * gcc.dg/tree-ssa/modmod-2.c: Likewise.
+       * gcc.dg/tree-ssa/modmod-3.c: Likewise.
+       * gcc.dg/tree-ssa/modmod-4.c: Likewise.
+       * gcc.dg/tree-ssa/modmod-5.c: Likewise.
+
+2026-08-07  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.dg/tree-ssa/minmax-offset-absorb-1.c: New test.
+       * gcc.dg/tree-ssa/minmax-offset-absorb-2.c: Likewise.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/99293
+       * gcc.target/powerpc/pr99293.c: New test.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       PR target/117487
+       * gcc.target/powerpc/pr117487.c: New test.
+
+2026-08-07  Michael Meissner  <[email protected]>
+
+       * gcc.target/powerpc/future-3.c: New test.
+
 2026-08-06  Kyrylo Tkachov  <[email protected]>
 
        * gcc.dg/tree-ssa/signbit-1.c: New test.
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index bb857a849693..69bb6c0e439a 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,30 @@
+2026-08-07  Robert Dubner  <[email protected]>
+           James K. Lowden  <[email protected]>
+
+       * gmath.cc (__gg__pow): Use exponentiation_helper().
+       (exponentiation_helper): New routine.
+       (__gg__process_compute_error): Formatting.
+       (multiply_int128_by_int128): Use new int128 structure.
+       (divide_int128_by_int128): Formatting.
+       (multiply_int256_by_int256): New routine.
+       (divide_int256_by_int256): New routine.
+       (compute_fixed_add): New routine to implement RPN COMPUTE.
+       (compute_fixed_subtract): Likewise.
+       (compute_fixed_multiply): Likewise.
+       (compute_fixed_divide): Likewise.
+       (compute_fixed_negate): Likewise.
+       (compute_float_add): Likewise.
+       (compute_float_subtract): Likewise.
+       (compute_float_multiply): Likewise.
+       (compute_float_divide): Likewise.
+       (compute_float_pow): Likewise.
+       (compute_float_negate): Likewise.
+       (__gg__compute_fixed): Likewise.
+       (__gg__compute_float): Likewise.
+       * libgcobol.cc (__gg__prohibited): New routine tests value and
+       target for ROUNDING MODE PROHIBITED compliance.
+       * libgcobol.h: Formatting.
+
 2026-08-01  Robert Dubner  <[email protected]>
 
        * gmath.cc (get_int256_from_qualified_field): Use int128 structure.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2b062f70597d..3bf7d6d6a9f7 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,17 @@
+2026-08-07  Tomasz Kamiński  <[email protected]>
+
+       * config/os/djgpp/error_constants.h (errc::no_message_available)
+       (errc::no_stream_resources, errc:not_a_stream)
+       (errc::stream_timeout): Mark as _GLIBCXX23_DEPRECATED
+       * config/os/generic/error_constants.h
+       (errc::no_message_available, errc::no_stream_resources)
+       (errc:not_a_stream, errc::stream_timeout): Likewise.
+       * config/os/mingw32-w64/error_constants.h
+       (errc::no_message_available, errc::no_stream_resources)
+       (errc:not_a_stream, errc::stream_timeout): Likewise.
+       * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
+       Add dg-warning attributes for expected deprecation warnings.
+
 2026-08-05  Tomasz Kamiński  <[email protected]>
 
        PR libstdc++/119739

Reply via email to