https://gcc.gnu.org/g:7a6bbab6ae5c472aa09f4c19a0fc6959367829ab

commit r15-8663-g7a6bbab6ae5c472aa09f4c19a0fc6959367829ab
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Mar 22 09:25:44 2025 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           |   99 ++++
 gcc/DATESTAMP           |    2 +-
 gcc/c-family/ChangeLog  |    5 +
 gcc/c/ChangeLog         |    6 +
 gcc/cobol/ChangeLog     |   47 ++
 gcc/cp/ChangeLog        |   14 +
 gcc/fortran/ChangeLog   |   66 +++
 gcc/po/ChangeLog        |    4 +
 gcc/rust/ChangeLog      | 1315 +++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog |  346 +++++++++++++
 include/ChangeLog       |    6 +
 libgfortran/ChangeLog   |   10 +
 libgomp/ChangeLog       |   61 +++
 libstdc++-v3/ChangeLog  |   45 ++
 14 files changed, 2025 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1a8273aebdb0..f9a2590f9e80 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,102 @@
+2025-03-22  Jakub Jelinek  <ja...@redhat.com>
+
+       * gimplify.cc (warn_switch_unreachable_and_auto_init_r): Add missing
+       space in the middle of diagnostics.
+       * tree-vect-stmts.cc (vectorizable_load): Add missing space in the
+       middle of debug dump message.
+       * sym-exec/sym-exec-state.cc (state::check_args_compatibility):
+       Likewise.
+
+2025-03-21  Surya Kumari Jangala  <jskum...@linux.ibm.com>
+           Jakub Jelinek  <ja...@redhat.com>
+
+       PR rtl-optimization/116028
+       PR rtl-optimization/118615
+       * lra-constraints.cc (first_call_insn): New variable.
+       (split_reg): Spill register before first_call_insn if call_save_p
+       and the call is in a different bb in the ebb.
+       (split_if_necessary): Formatting fix.
+       (inherit_in_ebb): Set first_call_insn when handling a CALL_INSN.
+       For successful split_if_necessary with before_p, only change
+       use_insn if it emitted any new instructions before curr_insn.
+       Clear first_call_insn before returning.
+
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * builtin-types.def
+       (BT_FN_VOID_INT_INT_PTR_PTR_PTR_INT_PTR_INT_PTR_UINT_PTR): New.
+       * gimple-low.cc (lower_stmt): Handle GIMPLE_OMP_INTEROP.
+       * gimple-pretty-print.cc (dump_gimple_omp_interop): New function.
+       (pp_gimple_stmt_1): Handle GIMPLE_OMP_INTEROP.
+       * gimple.cc (gimple_build_omp_interop): New function.
+       (gimple_copy): Handle GIMPLE_OMP_INTEROP.
+       * gimple.def (GIMPLE_OMP_INTEROP): Define.
+       * gimple.h (gimple_build_omp_interop): Declare.
+       (gimple_omp_interop_clauses): New function.
+       (gimple_omp_interop_clauses_ptr): Likewise.
+       (gimple_omp_interop_set_clauses): Likewise.
+       (gimple_return_set_retval): Handle GIMPLE_OMP_INTEROP.
+       * gimplify.cc (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_INIT,
+       OMP_CLAUSE_USE and OMP_CLAUSE_DESTROY.
+       (gimplify_omp_interop): New function.
+       (gimplify_expr): Replace sorry with call to gimplify_omp_interop.
+       * omp-builtins.def (BUILT_IN_GOMP_INTEROP): Define.
+       * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_INIT,
+       OMP_CLAUSE_USE and OMP_CLAUSE_DESTROY.
+       (scan_omp_1_stmt): Handle GIMPLE_OMP_INTEROP.
+       (lower_omp_interop_action_clauses): New function.
+       (lower_omp_interop): Likewise.
+       (lower_omp_1): Handle GIMPLE_OMP_INTEROP.
+
+2025-03-21  Jason Merrill  <ja...@redhat.com>
+
+       PR c++/114992
+       * multiple_target.cc (create_dispatcher_calls):
+       remove_from_same_comdat_group before add_to_same_comdat_group.
+
+2025-03-21  Dhruv Chawla  <dhr...@nvidia.com>
+
+       * config/aarch64/aarch64-cores.def (olympus): New entry.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi (AArch64 Options): Document the above.
+
+2025-03-21  Antoni Boucher  <boua...@zoho.com>
+
+       * config/i386/i386-rust-and-jit.inc: New file.
+       * config/i386/i386-rust.cc: Move code to i386-rust-and-jit.inc.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * ipa-icf-gimple.cc (func_checker::compare_gimple_call): Return false
+       for gimple_call_must_tail_p mismatches.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * ipa-split.cc (split_function): Call gimple_call_set_must_tail
+       on the call to outlined partition if has_musttail and
+       !add_tsan_func_exit.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * tree-inline.cc (remap_gimple_stmt): Silently clear
+       gimple_call_must_tail_p on inlined call stmts if id->call_stmt
+       is a call without that flag set.
+
+2025-03-21  Stefan Schulze Frielinghaus  <stefa...@gcc.gnu.org>
+
+       PR target/119235
+       * config/s390/s390.cc (s390_hard_regno_mode_ok): Accept only
+       Pmode for registers AP/FP/RA.
+
+2025-03-21  Richard Biener  <rguent...@suse.de>
+
+       * cgraphunit.cc (symbol_table::finalize_compilation_unit):
+       Put early debug generation under TV_SYMOUT.
+
 2025-03-21  Andrew Pinski  <quic_apin...@quicinc.com>
 
        PR rtl-optimization/118914
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 2340aa0f8622..a03cb0179d37 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250321
+20250322
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 01ce574e1262..8eea7b80aa15 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2025-03-22  Jakub Jelinek  <ja...@redhat.com>
+
+       * c.opt (Wdeprecated-literal-operator): Use \"\" rather than ""
+       in option description.
+
 2025-03-18  Jakub Jelinek  <ja...@redhat.com>
 
        PR c/116545
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 8e5c4f740513..e6eb7f84576f 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * c-parser.cc (c_parser_omp_clause_destroy): Make addressable.
+       (c_parser_omp_clause_init): Make addressable.
+
 2025-03-19  Jakub Jelinek  <ja...@redhat.com>
 
        PR c/119350
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 2be9a15528b0..3067f2471d7e 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,50 @@
+2025-03-21  Iain Sandoe  <i...@sandoe.co.uk>
+
+       * gcobolspec.cc (lang_specific_driver): Add libstdc++
+       for any link line.
+
+2025-03-21  Iain Sandoe  <i...@sandoe.co.uk>
+
+       * gcobolspec.cc (add_arg_lib): Fix typo.
+       (lang_specific_driver): Arrange to append both -lgcobol
+       and -static-libgcobol for targets without
+       HAVE_LD_STATIC_DYNAMIC.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       * parse.y: Rename COB_BLOCK to BLOCK_kw, COB_SIGNED to SIGNED_kw and
+       COB_UNSIGNED to UNSIGNED_kw.
+       * scan.l: Likewise.
+       * token_names.h: Regenerate.
+
+2025-03-21  Richard Biener  <rguent...@suse.de>
+
+       * symbols.cc (empty_float, empty_comp5, empty_literal,
+       empty_conditional, debug_registers, special_registers): Move
+       global cbl_field_t typed data to ...
+       (symbol_table_init): ... local scope here.
+
+2025-03-21  Richard Biener  <rguent...@suse.de>
+
+       PR cobol/119241
+       * symbols.h: Do not typedef tree.
+       * cdf.y: Include coretypes.h and tree.h.
+       * symbols.cc: Likewise.
+       * symfind.cc: Likewise.
+       * util.cc: Likewise.
+       * parse.y: Include coretypes.h and tree.h where appropriate.
+       Rename BLOCK to COB_BLOCK, SIGNED to COB_SIGNED, UNSIGNED
+       to COB_UNSIGNED.
+       * scan.l: Likewise.
+       * token_names.h: Likewise.
+       * cobol1.cc: Do not define HOWEVER_GCC_DEFINES_TREE.
+       * except.cc: Likewise.
+       * genapi.cc: Likewise.
+       * gengen.cc: Likewise.
+       * genmath.cc: Likewise.
+       * genutil.cc: Likewise.
+       * structs.cc: Likewise.
+
 2025-03-20  Iain Sandoe  <i...@sandoe.co.uk>
 
        * cdfval.h (struct cdfval_t): Overload long instead of int64_t.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 17f0569de270..f15752f89495 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,17 @@
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * parser.cc (cp_parser_omp_clause_init): Make addressable.
+
+2025-03-21  Jason Merrill  <ja...@redhat.com>
+
+       * init.cc (throw_bad_array_new_length): Returns void.
+
+2025-03-21  Thomas Schwinge  <tschwi...@baylibre.com>
+
+       * rtti.cc (throw_bad_cast): Adjust implicit '__cxa_bad_cast'
+       prototype to reality.
+
 2025-03-20  Richard Biener  <rguent...@suse.de>
 
        * module.cc (trees_out::core_bools): Convert scoped enum
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index db74f2c5a024..32ec915c3742 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,69 @@
+2025-03-22  Jakub Jelinek  <ja...@redhat.com>
+
+       * resolve.cc (resolve_procedure_expression): Remove extraneous space
+       from the middle of diagnostics.
+
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * trans-openmp.cc (gfc_trans_omp_clauses): Make OMP_CLAUSE_DESTROY and
+       OMP_CLAUSE_INIT addressable.
+       * types.def (BT_FN_VOID_INT_INT_PTR_PTR_PTR_INT_PTR_INT_PTR_UINT_PTR):
+       New.
+
+2025-03-21  Jerry DeLisle  <jvdeli...@gcc.gnu.org>
+
+       PR fortran/119406
+       * resolve.cc (resolve_locality_spec): Add space in error
+       message.
+
+2025-03-21  Jerry DeLisle  <jvdeli...@gcc.gnu.org>
+
+       PR fortran/119403
+       * interface.cc (compare_parameter): Fix typo.
+
+2025-03-21  Paul Thomas  <pa...@gcc.gnu.org>
+
+       PR fortran/85836
+       * check.cc (get_ul_from_cst_cl): New function used in
+       check_operation.
+       (check_operation): New function used in check_reduce and
+       check_co_reduce.
+       (gfc_check_co_reduce): Use it.
+       (gfc_check_reduce): New function.
+       (gfc_check_rename): Add prototype for intrinsic with 6 arguments.
+       * gfortran.h : Add isym id for reduce and prototype for f6.
+       * intrinsic.cc (do_check): Add another argument expression and use
+       it in the call to the six argument specific check.
+       (add_sym_6): New function.
+       (add_functions): Add the discription of the reduce intrinsic and
+       add it to the intrinsic list.
+       * intrinsic.h : Add prototypes for gfc_check_reduce and
+       gfc_resolve_reduce.
+       * iresolve.cc (generate_reduce_op_wrapper): Generate a wrapper
+       subroutine for the 'operation' function to enable the library
+       implementation to be type agnostic and use pointer arithmetic
+       throughout.
+       (gfc_resolve_reduce): New function.
+       * trans-expr.cc (gfc_conv_procedure_call): Add flag for scalar
+       reduce. Generate a return variable 'sr' for scalar reduce, pass its
+       address to the library function and return it as the scalar result.
+       * trans-intrinsic.cc (gfc_conv_intrinsic_function): Array valued
+       reduce is called in same way as reshape. Fall through for call to
+       the scalar version.
+
+2025-03-21  Andre Vehreschild  <ve...@gcc.gnu.org>
+
+       PR fortran/119380
+       * trans-array.cc (structure_alloc_comps): Prevent freeing of
+       procedure pointer components.
+
+2025-03-21  Andre Vehreschild  <ve...@gcc.gnu.org>
+
+       PR fortran/119349
+       * trans-expr.cc (gfc_conv_procedure_call): Prevent deallocation
+       of array temporary for polymorphic temporary argument.
+
 2025-03-19  Harald Anlauf  <anl...@gmx.de>
 
        PR fortran/116706
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 816efe747bd6..1fd7f51ea0e6 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2025-03-21  Joseph Myers  <josmy...@redhat.com>
+
+       * de.po, fr.po: Update.
+
 2025-03-20  Joseph Myers  <josmy...@redhat.com>
 
        * hr.po: Update.
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index b8717174124c..545ea9d4eced 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,1318 @@
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Improve 
formatting.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc (DeriveClone::clone_enum_struct): New 
function for deriving
+       enum struct variants.
+       (DeriveClone::visit_enum): Call into the new function.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc (DeriveClone::variant_match_path): New 
function.
+       (DeriveClone::clone_enum_identifier): Rename.
+       (DeriveClone::clone_enum_tuple): New function.
+       (DeriveClone::visit_enum): Visit tuple variants properly.
+       * expand/rust-derive-clone.h: Declare new functions.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-builder.cc: Add new methods for constructing struct 
exprs.
+       * ast/rust-ast-builder.h: Mention how to build tuple expressions.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc: Clone enum identifier variants properly
+       * expand/rust-derive-clone.h: Declare new functions used.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc (DeriveClone::clone_call): Mention using 
`clone_fn`
+       lang item in the future.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc (DeriveClone::visit_union): Create a lang 
item path
+       instead of a regular path.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-builder.cc: New functions.
+       * ast/rust-ast-builder.h: Declare them.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-copy.cc: Use lang item path.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-clone.cc (DeriveClone::visit_union): Manually 
generate
+       the struct used for asserting a union implements Copy.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-builder.cc (Builder::struct_struct): New function.
+       * ast/rust-ast-builder.h (vec): New function.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-collector.cc (TokenCollector::visit): Visit tuple 
pattern items as
+       separated by commas.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-collector.cc (TokenCollector::visit): Fix collector to 
better
+       handle lang item type path segments.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-hir-map.cc (Mappings::get_lang_item_node): New.
+       * util/rust-hir-map.h: New function.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-lang-item.cc (LangItem::PrettyString): New.
+       * util/rust-lang-item.h: New.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-collect-lang-items.cc (CollectLangItems::visit): New.
+       * ast/rust-collect-lang-items.h: New.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * hir/rust-ast-lower-type.cc (ASTLowerTypePath::visit): Adapt code to 
lang item
+       type path segments.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * typecheck/rust-hir-type-check-type.cc 
(TypeCheckType::resolve_root_path): Adapt
+       code to handle lang item type paths.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-path.h: Rework how lang item paths are represented.
+       * ast/rust-path.cc: Likewise.
+       * ast/rust-item.h: Likewise.
+       * ast/rust-ast.cc: Likewise.
+       * ast/rust-ast-collector.cc: Adapt to new lang item path system.
+       * ast/rust-ast-collector.h: Likewise.
+       * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Likewise.
+       * ast/rust-ast-visitor.h: Likewise.
+       * expand/rust-derive-copy.cc: Likewise.
+       * expand/rust-derive.h: Likewise.
+       * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise.
+       * hir/rust-ast-lower-base.h: Likewise.
+       * hir/rust-ast-lower-type.cc (ASTLowerTypePath::translate): Likewise.
+       (ASTLowerTypePath::visit): Likewise.
+       * hir/rust-ast-lower-type.h: Likewise.
+       * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Likewise.
+       * resolve/rust-ast-resolve-base.h: Likewise.
+       * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Likewise.
+       * resolve/rust-ast-resolve-type.h: Likewise.
+       * resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go): 
Likewise.
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Likewise.
+       * resolve/rust-late-name-resolver-2.0.h: Likewise.
+       * hir/tree/rust-hir-path.cc (TypePathSegment::TypePathSegment): 
Likewise.
+       (TypePathSegmentGeneric::TypePathSegmentGeneric): Likewise.
+       * hir/tree/rust-hir-path.h: Likewise.
+       * typecheck/rust-hir-type-check-type.cc 
(TypeCheckType::resolve_root_path): Likewise.
+       * ast/rust-ast-builder.cc: Likewise.
+       * ast/rust-ast-builder.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-collect-lang-items.cc (get_lang_item_attr): Show unknown 
attribute upon error.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-attribute-values.h: Declare new attribute value.
+       * util/rust-attributes.cc: Use it.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast.cc (BlockExpr::normalize_tail_expr): Remove overzealous
+       std::move
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-ast-collector.cc
+       (TokenCollector::visit): Remove visitor for NamedFunctionParam.
+       * ast/rust-ast-collector.h
+       (TokenCollector::visit): Likewise.
+       * ast/rust-ast-full-decls.h
+       (class NamedFunctionParam): Remove forward declaration.
+       * ast/rust-ast-visitor.cc
+       (DefaultASTVisitor::visit): Remove visitor for
+       NamedFunctionParam.
+       * ast/rust-ast-visitor.h
+       (DefaultASTVisitor::visit): Likewise.
+       * ast/rust-ast.cc
+       (NamedFunctionParam::as_string): Remove.
+       * ast/rust-item.h
+       (class NamedFunctionParam): Remove.
+       (class ExternalFunctionItem): Remove.
+       * parse/rust-parse-impl.h
+       (Parser::parse_named_function_param): Remove.
+       (Parser::parse_named_function_params): Remove.
+       * parse/rust-parse.h
+       (Parser::parse_named_function_param): Remove.
+       (Parser::parse_named_function_params): Remove.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-early-name-resolver-2.0.cc
+       (Early::visit): Resolve the pending eager invocations inside
+       builtin macro invocations.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): hir lowering
+       * hir/rust-ast-lower-stmt.h: likewise
+       * resolve/rust-ast-resolve-stmt.cc (ResolveStmt::visit): name resolution
+       * resolve/rust-ast-resolve-stmt.h: likewise
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * Make-lang.in: Handle rust-forever-stack.cc.
+       * resolve/rust-forever-stack.h
+       (class ForeverStackStore): Add.
+       * resolve/rust-forever-stack.cc: New file, based on
+       rust-forever-stack.hxx.
+
+2025-03-21  Om Swaroop Nayak  <96killera...@gmail.com>
+
+       * ast/rust-collect-lang-items.cc (get_lang_item_attr): "removed checker 
fn"
+       * util/rust-attributes.cc (Attributes::is_lang_item): "added fn"
+       * util/rust-attributes.h: "added fn"
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * checks/errors/rust-readonly-check.cc (check_decl): improve mut check
+       (emit_error): helper
+       (check_modify_expr): likewise
+       (readonly_walk_fn): reuse helper
+       (ReadonlyCheck::Lint): cleanup context each run
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-ast-visitor.cc
+       (DefaultASTVisitor::visit): When visiting a TraitImpl, visit its
+       trait path.
+
+2025-03-21  liushuyu  <liushuyu...@gmail.com>
+
+       * backend/rust-compile-intrinsic.cc: add the new `catch_unwind` variant
+       of the `try` intrinsic: this variant can be seen on Rust 1.78+
+       and returns `()` instead of `i32`.
+
+2025-03-21  liushuyu  <liushuyu...@gmail.com>
+
+       * backend/rust-compile-intrinsic.cc: add `try` intrinsic handler.
+       * lang.opt: add `-frust-panic` option.
+       * rust-lang.cc: enable exception handler code generation.
+       * rust-session-manager.cc: add getter and setter for panic
+       strategy option.
+       * rust-session-manager.h: Likewise.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-expr.cc (CompileExpr::visit): implement coercion
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): this is 
an LUB
+       * typecheck/rust-unify.cc (UnifyRules::go): remove unify ! coercion
+
+2025-03-21  Nobel  <nobel2...@gmail.com>
+
+       * typecheck/rust-casts.cc (TypeCastRules::cast_rules): Add rule.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-expr.cc (CompileExpr::visit): new layout
+       * backend/rust-compile-pattern.cc (CompilePatternCheckExpr::visit): 
likewise
+       (CompilePatternBindings::visit): likewise
+       * backend/rust-compile-resolve-path.cc: likewise
+       * backend/rust-compile-type.cc (TyTyResolveCompile::visit): implement 
new layout
+       * rust-gcc.cc (constructor_expression): get rid of useless assert
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Insert a definition for Self when visiting
+       InherentImpl and TraitImpl instances.
+       * resolve/rust-toplevel-name-resolver-2.0.h
+       (TopLevel::visit): Add visitors for InherentImpl and TraitImpl.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-hir-dump.cc (Dump::visit): add null guard
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-expr.cc (CompileExpr::visit): handle partial_eq 
possible call
+       * backend/rust-compile-expr.h: handle case where lang item calls differ 
from name
+       * hir/tree/rust-hir-expr.cc (OperatorExprMeta::OperatorExprMeta): new 
helper
+       * hir/tree/rust-hir-expr.h: likewise
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): handle 
partial_eq
+       (TypeCheckExpr::resolve_operator_overload): likewise
+       * typecheck/rust-hir-type-check-expr.h: likewise
+       * util/rust-lang-item.cc (LangItem::ComparisonToLangItem): map 
comparison to lang item
+       (LangItem::ComparisonToSegment): likewise
+       * util/rust-lang-item.h: new lang items PartialOrd and Eq
+       * util/rust-operators.h (enum class): likewise
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): check 
for error
+       * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): likewise and 
remove debug error
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-default-resolver.cc
+       (DefaultResolver::visit): Make sure to scope visitation of the
+       children of type definition items.
+       * resolve/rust-default-resolver.h
+       (DefaultResolver::visit): Add overrides for TupleStruct, Union,
+       and TypeAlias.
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Remove override for Enum.
+       * resolve/rust-late-name-resolver-2.0.h
+       (Late::visit): Likewise.
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Rely more on DefaultResolver::visit.
+       * resolve/rust-toplevel-name-resolver-2.0.h
+       (TopLevel::visit): Remove override for BlockExpr.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-hir-dump.cc (Dump::do_qualifiedpathtype): add guard
+       (Dump::do_traitfunctiondecl): likewise
+       (Dump::visit): likewise
+
+2025-03-21  Prajwal S N  <prajwalnadi...@gmail.com>
+
+       * typecheck/rust-hir-type-check.h (class TypeCheckContext): add
+       header file and use StackedContexts for blocks
+       * typecheck/rust-typecheck-context.cc: update methods
+       * typecheck/rust-hir-trait-resolve.cc: refactor function calls
+       * typecheck/rust-hir-type-check-implitem.cc: refactor function calls
+       * typecheck/rust-hir-type-check-type.cc: refactor function calls
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast.h: Add new Kind enums, remove Node class.
+       * ast/rust-builtin-ast-nodes.h: Use new Kind enums.
+       * ast/rust-expr.h (class LoopLabel): Likewise.
+       * ast/rust-item.h: Likewise.
+       * ast/rust-macro.h: Likewise.
+       * ast/rust-path.h: Likewise.
+       * expand/rust-macro-builtins-helpers.cc: Likewise.
+       * expand/rust-macro-builtins-utility.cc (MacroBuiltin::concat_handler): 
Likewise.
+       (MacroBuiltin::stringify_handler): Likewise.
+       * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Likewise.
+       * resolve/rust-early-name-resolver.cc: Likewise.
+       * hir/rust-ast-lower.cc (ASTLoweringBlock::visit): Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Add visitor for TraitItemType.
+       * resolve/rust-toplevel-name-resolver-2.0.h
+       (TopLevel::visit): Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * resolve/rust-ast-resolve-type.cc (ResolveType::visit): New visitor to 
handle
+       ParenthesizedType.
+       * resolve/rust-ast-resolve-type.h: Likewise.
+       * typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): 
Likewise.
+       * typecheck/rust-hir-type-check-type.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * hir/rust-ast-lower-type.cc (ASTLoweringType::visit): Add 
implementation for
+       ParenthesizedType.
+       * hir/rust-ast-lower-type.h: Declare that new visitor.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-ast-builder-type.cc: Remove inclusion of
+       rust-make-unique.h.
+       * ast/rust-ast-builder.cc: Likewise.
+       (Builder::array): Use std::make_unique instead of
+       Rust::make_unique.
+       * ast/rust-ast.cc (Attribute::get_traits_to_derive): Likewise.
+       * ast/rust-macro.h: Remove inclusion of rust-make-unique.h.
+       (MacroRulesDefinition::mbe): Use std::make_unique instead of
+       Rust::make_unique.
+       (MacroRulesDefinition::decl_macro): Likewise.
+       * ast/rust-path.h
+       (PathInExpression::PathInExpression): Likewise.
+       (QualifiedPathInExpression::QualifiedPathInExpression):
+       Likewise.
+       * backend/rust-compile-pattern.cc
+       (CompilePatternCheckExpr::visit): Likewise.
+       * expand/rust-derive-copy.cc
+       (DeriveCopy::copy_impl): Likewise.
+       * expand/rust-expand-format-args.cc
+       (expand_format_args): Likewise.
+       * expand/rust-macro-builtins-asm.cc: Remove inclusion of
+       rust-make-unique.h.
+       (parse_asm): Use std::make_unique instead of Rust::make_unique.
+       * hir/rust-ast-lower-expr.cc
+       (ASTLoweringExpr::visit): Likewise.
+       * hir/tree/rust-hir-expr.cc
+       (StructExprStructFields::StructExprStructFields): Likewise.
+       (StructExprStructFields::operator=): Likewise.
+       * hir/tree/rust-hir.cc
+       (TypePath::to_trait_bound): Likewise.
+       * lex/rust-token.h: Remove inclusion of rust-make-unique.h.
+       (Token::Token): Use std::make_unique instead of
+       Rust::make_unique.
+       * metadata/rust-import-archive.cc: Remove inclusion of
+       rust-make-unique.h.
+       (Import::find_archive_export_data): Use std::make_unique instead
+       of Rust::make_unique.
+       * metadata/rust-imports.cc: Remove inclusion of
+       rust-make-unique.h.
+       (Import::find_export_data): Use std::make_unique instead of
+       Rust::make_unique.
+       (Import::find_object_export_data): Likewise.
+       * parse/rust-parse-impl.h: Remove inclusion of
+       rust-make-unique.h.
+       (Parser::parse_function_param): Use std::make_unique instead of
+       Rust::make_unique.
+       (Parser::parse_self_param): Likewise.
+       (Parser::parse_array_expr): Likewise.
+       * typecheck/rust-hir-type-check-enumitem.cc
+       (TypeCheckEnumItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-implitem.cc
+       (TypeCheckTopLevelExternItem::visit): Likewise.
+       (TypeCheckImplItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-type.cc
+       (TypeResolveGenericParam::visit): Likewise.
+       * typecheck/rust-hir-type-check.cc: Remove inclusion of
+       rust-make-unique.h.
+       (TraitItemReference::get_type_from_fn): Use std::make_unique
+       instead of Rust::make_unique.
+       * typecheck/rust-tyty-bounds.cc
+       (TypeCheckBase::get_predicate_from_bound): Likewise.
+       * util/rust-make-unique.h: Removed.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-item.h: Add EnumItem::Kind for differentiating all variants 
that may be
+       used inside an enum declaration.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-ast-visitor.cc
+       (DefaultASTVisitor::visit): Visit implicit Self parameters of
+       traits.
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Resolve implicit Self parameters of traits.
+       * resolve/rust-late-name-resolver-2.0.h:
+       (Late::visit): Add trait visitor.
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Insert resolutions for Self type parameters
+       as well.
+
+2025-03-21  Liam Naddell  <liamn...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc:
+       Change the late name resolver to enter proper lexical scope during 
typechecking
+       * resolve/rust-late-name-resolver-2.0.h:
+       Add needed prototype to header
+       * resolve/rust-toplevel-name-resolver-2.0.cc:
+       Add generic parameters to enum's scoped RIB to allow for proper name 
resolution on types.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-builder.cc: Add new functions.
+       * ast/rust-ast-builder.h: Declare them.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-path.h: Add two new constructors.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-collect-lang-items.cc (CollectLangItems::visit): Add visitor 
for collecting
+       functions that might be lang items.
+       * ast/rust-collect-lang-items.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-lang-item.h: Add new lang items.
+       * util/rust-lang-item.cc: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-lang-item.h: Add Sync marker trait.
+       * util/rust-lang-item.cc: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * typecheck/rust-hir-type-check-type.cc: Add TODO note.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * resolve/rust-ast-resolve-type.cc (ResolveTypeToCanonicalPath::visit): 
Resolve additional
+       trait bounds.
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Error out 
properly on unresolved
+       type-path instead of crashing.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * typecheck/rust-hir-path-probe.cc: Fix typos.
+       * typecheck/rust-hir-path-probe.h: Likewise.
+       * typecheck/rust-hir-type-check-path.cc: Likewise.
+
+2025-03-21  Nobel  <nobel2...@gmail.com>
+
+       * typecheck/rust-casts.cc (TypeCastRules::cast_rules): Add rule.
+
+2025-03-21  Sri Ganesh Thota  <sriganeshthota12...@gmail.com>
+
+       * ast/rust-item.h: I have changed helper constructor for typepath
+       to be a delegating constructor.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-fnparam.cc (CompileFnParam::visit): compile 
tuple patterns
+       (CompileSelfParam::compile): update return type
+       (CompileFnParam::create_tmp_param_var): return Bvariable not tree to 
stop ICE
+       * backend/rust-compile-fnparam.h: update prototype
+       * backend/rust-compile-pattern.cc (CompilePatternBindings::visit): 
implement TuplePattern
+       * backend/rust-compile-pattern.h: update prototype
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust-gcc.cc (operator_to_tree_code): ! expressions are BIT_NOT_EXPR
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-path.h: Adapt children of Path to fix some NodeId issues.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): New.
+       * resolve/rust-late-name-resolver-2.0.h: New.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * hir/rust-ast-lower-type.cc (ASTLowerTypePath::translate): Adapt to
+       handle lang item paths.
+       (ASTLowerTypePath::visit): Likewise.
+       (ASTLowerTypePath::translate_type_path): New.
+       (ASTLowerTypePath::translate_lang_item_type_path): New.
+       * hir/rust-ast-lower-type.h: Adapt to handle lang item paths.
+       * resolve/rust-ast-resolve-type.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Adapt resolver
+       to lang item paths.
+       * resolve/rust-ast-resolve-type.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-item.h: Add new method to specifically get a type-path.
+       * ast/rust-path.cc (LangItemPath::as_string): Implement properly.
+       * hir/rust-ast-lower-type.cc (ASTLowerTypePath::translate): Adapt
+       visitor to use the new LangItemPath.
+       * hir/rust-ast-lower-type.h: Likewise.
+       * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Likewise.
+       * resolve/rust-ast-resolve-type.h: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * expand/rust-derive-copy.cc: Use new LangItemPath for derive(Copy).
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-path.h (class LangItemPath): New.
+       (class TypePath): Adapt to accomodate LangItemPath.
+       * ast/rust-ast.cc (TraitImpl::as_string): Use new checks for lang items.
+       (QualifiedPathType::as_string): Likewise.
+       (FormatArgs::set_outer_attrs): Likewise.
+       * ast/rust-item.h (class TraitImpl): Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-forever-stack.h
+       (ForeverStack::find_starting_point): Use type
+       'std::reference_wrapper<Node> &' instead of 'Node &' for
+       parameter starting_point.
+       * resolve/rust-forever-stack.hxx
+       (ForeverStack::find_starting_point): Likewise.
+       (ForeverStack::resolve_path): Handle change to
+       ForeverStack::find_starting_point.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * typecheck/rust-hir-type-check-type.cc 
(TypeCheckType::resolve_root_path):
+       Remove unused capture in lambda.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-attributes.h (class Attributes): New.
+       * util/rust-attributes.cc: Implement Attributes::is_known().
+       * ast/rust-collect-lang-items.cc (is_known_attribute): Remove.
+       (get_lang_item_attr): Call Attributes::is_known() instead.
+       * hir/rust-ast-lower-base.cc 
(ASTLoweringBase::handle_outer_attributes): Likewise.
+       (ASTLoweringBase::is_known_attribute): Remove.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * Make-lang.in: Add new object file.
+       * rust-session-manager.cc (Session::compile_crate): Call 
CollectLangItems.
+       * ast/rust-collect-lang-items.cc: New file.
+       * ast/rust-collect-lang-items.h: New file.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-hir-map.h: Keep a NodeId mappings for lang items.
+       * util/rust-hir-map.cc (Mappings::insert_lang_item_node): New function.
+       (Mappings::lookup_lang_item_node): Likewise.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-hir-dump.cc (Dump::visit): add missing check for no return 
value
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-constexpr.cc (eval_store_expression): check for null
+       (eval_call_expression): remove bad warning
+       * rust-gcc.cc (arithmetic_or_logical_expression): add warnings
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-base.cc: apply coercion site to result
+       * backend/rust-compile-base.h: update prototype
+       * backend/rust-compile-implitem.cc (CompileTraitItem::visit): send in 
coercion info
+       * backend/rust-compile-item.cc (CompileItem::visit): likewise
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): remove 
assertions
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-ast-visitor.h: Replace context with StackedContexts.
+       * ast/rust-ast-visitor.cc (ContextualASTVisitor::visit): Use new APIs.
+       * checks/errors/rust-ast-validation.cc (ASTValidation::visit): Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-stacked-contexts.h: Add new method to see what context we 
are currently in.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * hir/tree/rust-hir-item.h: Remove TraitItemFunc::has_block_defined()
+       * backend/rust-compile-implitem.cc (CompileTraitItem::visit):
+       Call TraitItemFunc::has_definition() instead.
+       * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise.
+       * checks/errors/rust-hir-pattern-analysis.cc (PatternChecker::visit): 
Likewise.
+       * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise.
+       * typecheck/rust-hir-trait-resolve.cc (ResolveTraitItemToRef::visit): 
Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-hir-map.h: Move definitions from header...
+       * util/rust-hir-map.cc: ...to source file.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * util/rust-lang-item.h: Fix comment location to align with other 
comments.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-type.cc (TyTyResolveCompile::visit): call lauout 
type directly
+       * rust-backend.h (struct_type): add optional layout parameter
+       (union_type): likewise
+       (fill_in_fields): likewise
+       * rust-gcc.cc (struct_type): likewise
+       (union_type): likewise
+       (fill_in_fields): only layout if we required
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-casts.cc (TypeCastRules::cast_rules): allow casts to 
float
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait): 
track trait
+       * typecheck/rust-hir-type-check-implitem.cc: trait block
+       * typecheck/rust-hir-type-check-path.cc 
(TypeCheckExpr::resolve_segments): dont when dyn
+       * typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): look at 
Self contenxt
+       (TypeCheckType::resolve_root_path): track if Self
+       (TypeCheckType::resolve_associated_type): look at current context for 
associated types
+       * typecheck/rust-hir-type-check-type.h: change prototype
+       * typecheck/rust-hir-type-check.h (class TypeCheckBlockContextItem):
+       new context system to track current state
+       * typecheck/rust-typecheck-context.cc 
(TypeCheckContext::have_block_context): likewise
+       (TypeCheckContext::peek_block_context): likewise
+       (TypeCheckContext::push_block_context): likewise
+       (TypeCheckContext::pop_block_context): likewise
+       (TypeCheckBlockContextItem::Item::Item): likewise
+       (TypeCheckBlockContextItem::TypeCheckBlockContextItem): likewise
+       (TypeCheckBlockContextItem::is_impl_block): likewise
+       (TypeCheckBlockContextItem::is_trait_block): likewise
+       (TypeCheckBlockContextItem::get_impl_block): likewise
+       (TypeCheckBlockContextItem::get_trait): likewise
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-hir-dump.cc (Dump::visit): add missing null checks
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * backend/rust-compile-base.cc: Prepend crate name to function's ir
+       name.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-name-resolver.cc: Include options.txt.
+       (Resolver::insert_resolved_name): Assert that name resolution
+       2.0 is disabled.
+       (Resolver::lookup_resolved_name): Likewise.
+       (Resolver::insert_resolved_type): Likewise.
+       (Resolver::lookup_resolved_type): Likewise.
+       (Resolver::insert_resolved_label): Likewise.
+       (Resolver::lookup_resolved_label): Likewise.
+       (Resolver::insert_resolved_macro): Likewise.
+       (Resolver::lookup_resolved_macro): Likewise.
+       (Resolver::insert_resolved_misc): Likewise.
+       (Resolver::lookup_resolved_misc): Likewise.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * backend/rust-compile-expr.cc (check_match_scrutinee): check for empty 
match
+       (CompileExpr::visit): fix assertion
+       * checks/errors/rust-hir-pattern-analysis.cc (check_match_usefulness): 
check for empty
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): resolve 
to !
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * hir/rust-hir-dump.cc (Dump::visit): add guards
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * ast/rust-stmt.h: Remove stdlib include and use rust-system instead.
+       * backend/rust-compile-expr.cc: Likewise.
+       * backend/rust-mangle-legacy.cc: Likewise.
+       * backend/rust-mangle-v0.cc: Likewise.
+       * hir/rust-hir-dump.cc: Likewise.
+       * typecheck/rust-hir-type-check-type.cc: Likewise.
+       * typecheck/rust-tyty.cc: Likewise.
+       * typecheck/rust-tyty.h: Likewise.
+       * util/rust-common.h: Likewise.
+       * util/rust-token-converter.cc: Likewise.
+       * util/rust-token-converter.h: Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * typecheck/rust-hir-type-check-expr.cc: Add includes.
+       (TypeCheckExpr::visit): Use name resolver 2.0.
+       (TypeCheckExpr::resolve_operator_overload): Likewise.
+       (TypeCheckExpr::resolve_fn_trait_call): Likewise.
+       * typecheck/rust-hir-type-check-path.cc
+       (TypeCheckExpr::visit): Likewise.
+       (TypeCheckExpr::resolve_segments): Likewise.
+       * typecheck/rust-hir-type-check-type.cc
+       (TypeCheckType::resolve_segments): Likewise.
+       (ResolveWhereClauseItem::visit): Likewise.
+       (TypeCheckType::visit): Avoid usage of
+       Resolver::get_unit_type_node_id when handling TupleType, use
+       name resolver 2.0 when handling QualifiedPathInType.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Call DefaultResolver::visit when visiting
+       TypePath.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * checks/errors/privacy/rust-privacy-reporter.cc
+       (PrivacyReporter::check_for_privacy_violation): Use name
+       resolver 2.0.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * backend/rust-compile-expr.cc (CompileExpr::visit): Change call.
+       (CompileExpr::resolve_operator_overload): Update function arguments.
+       * backend/rust-compile-expr.h: Change the function's prototype to use
+       a reference wrapper instead of a reference within the optional.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * typecheck/rust-tyty.h: Change initializer list to default constructor
+       call.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Add template
+       to tl::optional.
+       * hir/rust-ast-lower-type.cc (ASTLowerGenericParam::visit): Likewise.
+       * typecheck/rust-hir-type-check-type.cc 
(TypeResolveGenericParam::visit):
+       Likewise.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Do not
+       get a reference if the pattern does not exist.
+       (TypeCheckMethodCallExpr::check): Likewise.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Change the
+       ternary expression with a more readable if.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * typecheck/rust-tyty.h: Reverse monomorphization during cloning and
+       make a new function to explicitly monomorphize.
+       * typecheck/rust-tyty.cc: Use monomorphization when required.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * hir/rust-ast-lower-type.cc (ASTLowerGenericParam::visit): Forward
+       an optional to the constructor.
+       * hir/tree/rust-hir-item.cc (TypeParam::TypeParam): Use an optional
+       in the constructor.
+       (TypeParam::operator=): Ensure the TypeParam has a type properly.
+       (TypeParam::get_type_mappings): Likewise.
+       * hir/tree/rust-hir-item.h: Wrap the type smart pointer into an
+       optional.
+       * hir/tree/rust-hir.cc (TypeParam::as_string): Unwrap optional type
+       correctly.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * backend/rust-compile-expr.cc (CompileExpr::visit): Call getter
+       instead of size function.
+       * checks/errors/privacy/rust-privacy-reporter.cc 
(PrivacyReporter::visit):
+       Only check privacy if the type is present.
+       * hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Use an optional.
+       * hir/tree/rust-hir-generic-param.h: Assert type before getting it.
+       * hir/tree/rust-hir-item.h: Assert pointers before dereference, fix
+       has_type condition.
+       * hir/tree/rust-hir-path.h: Add more assertions.
+       * hir/tree/rust-hir-stmt.cc: Change constructor with optionals.
+       * hir/tree/rust-hir-stmt.h: Use optionals over smart pointers to
+       emphasize these fields might be missing.
+       * hir/tree/rust-hir.cc (LetStmt::as_string): Use getters.
+       * typecheck/rust-hir-type-check-expr.cc: Clone structures to prevent
+       parent's fields from being nulled by the move operation.
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Use
+       optionals.
+       * typecheck/rust-tyty.cc: Likewise.
+       * typecheck/rust-tyty.h: Likewise.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * Make-lang.in: Add new files.
+       * hir/tree/rust-hir-item.h: Move Item definition and remove
+       implementations to their corresponding cc file.
+       * hir/tree/rust-hir-expr.h: Move implementation to the corresponding
+       cc file.
+       * hir/tree/rust-hir-path.h: Likewise.
+       * hir/tree/rust-hir-pattern.h: Likewise.
+       * hir/tree/rust-hir-stmt.h: Likewise.
+       * hir/tree/rust-hir-type.h: Likewise.
+       * hir/tree/rust-hir-visitor.h: Likewise.
+       * hir/tree/rust-hir.h: Likewise.
+       * hir/tree/rust-hir.cc (Crate::Crate): Add implementations from Crate
+       and remove ConstGenericParam implementations to move them to their
+       own file.
+       * hir/tree/rust-hir-attrs.h: New file.
+       * hir/tree/rust-hir-bound-abstract.h: New file.
+       * hir/tree/rust-hir-bound.h: New file.
+       * hir/tree/rust-hir-expr-abstract.h: New file.
+       * hir/tree/rust-hir-expr.cc: New file.
+       * hir/tree/rust-hir-generic-param.cc: New file.
+       * hir/tree/rust-hir-generic-param.h: New file.
+       * hir/tree/rust-hir-item.cc: New file.
+       * hir/tree/rust-hir-literal.h: New file.
+       * hir/tree/rust-hir-node.h: New file.
+       * hir/tree/rust-hir-path.cc: New file.
+       * hir/tree/rust-hir-pattern-abstract.h: New file.
+       * hir/tree/rust-hir-simple-path.h: New file.
+       * hir/tree/rust-hir-stmt.cc: New file.
+       * hir/tree/rust-hir-trait-bound.h: New file.
+       * hir/tree/rust-hir-type-abstract.cc: New file.
+       * hir/tree/rust-hir-type-abstract.h: New file.
+       * hir/tree/rust-hir-type-no-bounds.h: New file.
+       * hir/tree/rust-hir-type.cc: New file.
+       * hir/tree/rust-hir-visibility.h: New file.
+       * hir/tree/rust-hir-visitable.h: New file.
+       * checks/lints/rust-lint-marklive.h: Use References.
+       * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Reformat
+       vectors.
+       * hir/rust-hir-dump.cc (Dump::visit): Use reference.
+       * typecheck/rust-hir-type-check-struct.cc 
(TypeCheckStructExpr::resolve):
+       Use references.
+       * typecheck/rust-tyty-bounds.cc: Likewise.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * backend/rust-compile-base.cc: Use FnParam getter.
+       * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+       * backend/rust-compile-intrinsic.cc: Likewise.
+       * backend/rust-compile-type.cc: Likewise.
+       * checks/errors/privacy/rust-privacy-reporter.cc 
(PrivacyReporter::visit):
+       Only visit childrens if not missing.
+       * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Use
+       a reference instead of a raw pointer.
+       * hir/tree/rust-hir-expr.h: Add presence function for return
+       expression.
+       * hir/tree/rust-hir-item.h: Remove take_param_name.
+       * hir/tree/rust-hir.h: Make mapping getter const.
+       * typecheck/rust-hir-dot-operator.cc (MethodResolver::Select): Use
+       getter.
+       * typecheck/rust-hir-type-check-expr.cc: Likewise.
+       * typecheck/rust-hir-type-check-implitem.cc: Use FnParam vector instead
+       of std::pair of Pattern and BaseType.
+       * typecheck/rust-hir-type-check-item.cc: Likewise.
+       * typecheck/rust-hir-type-check.cc: Likewise.
+       * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Use getters.
+       (TypeCheckMethodCallExpr::check): Likewise.
+       * typecheck/rust-tyty-cmp.h: Likewise.
+       * typecheck/rust-tyty.cc: Use FnParam.
+       * typecheck/rust-tyty.h (class FnParam): Add FnParam to handle function
+       parameters instead of handling std::pairs.
+       * typecheck/rust-unify.cc (UnifyRules::expect_fndef): Use getters.
+       (UnifyRules::expect_fnptr): Likewise.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * backend/rust-compile-base.cc (HIRCompileBase::compile_function_body):
+       Remove usage of get function to retrieve a raw pointer.
+       * backend/rust-compile-base.h:
+       Change API usage from raw pointer to a reference.
+       * backend/rust-compile-block.cc (CompileBlock::compile): Likewise.
+       (CompileBlock::visit): Likewise.
+       (CompileConditionalBlocks::visit): Likewise.
+       * backend/rust-compile-block.h: Likewise.
+       * backend/rust-compile-expr.cc (CompileExpr::Compile): Likewise.
+       (CompileExpr::visit): Likewise.
+       (check_match_scrutinee): Likewise.
+       (CompileExpr::array_value_expr): Likewise.
+       (CompileExpr::array_copied_expr): Likewise.
+       (CompileExpr::generate_closure_function): Likewise.
+       (CompileExpr::generate_possible_fn_trait_call): Likewise.
+       * backend/rust-compile-expr.h: Likewise.
+       * backend/rust-compile-fnparam.cc (CompileFnParam::compile): Likewise.
+       (CompileFnParam::visit): Likewise.
+       * backend/rust-compile-fnparam.h: Likewise.
+       * backend/rust-compile-implitem.cc (CompileTraitItem::visit): Likewise.
+       * backend/rust-compile-intrinsic.cc (compile_fn_params): Likewise.
+       * backend/rust-compile-item.cc (CompileItem::visit): Likewise.
+       * backend/rust-compile-pattern.cc (CompilePatternCheckExpr::visit):
+       Likewise.
+       (compile_range_pattern_bound): Likewise.
+       (CompilePatternBindings::visit): Likewise.
+       (CompilePatternLet::visit): Likewise.
+       * backend/rust-compile-pattern.h: Likewise.
+       * backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve):
+       Likewise.
+       (HIRCompileBase::query_compile): Likewise.
+       * backend/rust-compile-stmt.cc (CompileStmt::visit): Likewise.
+       * backend/rust-compile-struct-field-expr.cc 
(CompileStructExprField::Compile):
+       Likewise.
+       (CompileStructExprField::visit): Likewise.
+       * backend/rust-compile-struct-field-expr.h: Likewise.
+       * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Likewise.
+       * backend/rust-compile-var-decl.h: Likewise.
+       * backend/rust-compile.cc: Likewise.
+       * backend/rust-mangle-v0.cc (v0_inherent_or_trait_impl_path): Likewise.
+       * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc 
(ExprStmtBuilder::visit):
+       Likewise.
+       * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h: Likewise.
+       * checks/errors/borrowck/rust-bir-builder-pattern.h: Likewise.
+       * checks/errors/borrowck/rust-bir-builder-struct.h: Likewise.
+       * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+       * checks/errors/borrowck/rust-function-collector.h: Likewise.
+       * checks/errors/privacy/rust-privacy-reporter.cc 
(PrivacyReporter::check_type_privacy):
+       Likewise.
+       (PrivacyReporter::visit): Likewise.
+       * checks/errors/privacy/rust-privacy-reporter.h: Likewise.
+       * checks/errors/privacy/rust-reachability.cc 
(ReachabilityVisitor::visit):
+       Likewise.
+       * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise.
+       * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit):
+       Likewise.
+       * checks/lints/rust-lint-marklive.cc (MarkLive::visit): Likewise.
+       * checks/lints/rust-lint-marklive.h: Likewise.
+       * hir/rust-hir-dump.cc (Dump::visit): Likewise.
+       * hir/tree/rust-hir-expr.h: Likewise.
+       * hir/tree/rust-hir-item.h: Likewise.
+       * hir/tree/rust-hir-path.h: Likewise.
+       * hir/tree/rust-hir-pattern.h: Likewise.
+       * hir/tree/rust-hir-stmt.h: Likewise.
+       * hir/tree/rust-hir-type.h: Likewise.
+       * hir/tree/rust-hir.h: Likewise.
+       * typecheck/rust-autoderef.cc: Likewise.
+       * typecheck/rust-hir-dot-operator.cc (MethodResolver::select):
+       Likewise.
+       * typecheck/rust-hir-inherent-impl-overlap.h: Likewise.
+       * typecheck/rust-hir-path-probe.cc 
(PathProbeType::process_impl_item_candidate):
+       Likewise.
+       (PathProbeImplTrait::process_trait_impl_items_for_candidates): Likewise.
+       * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait):
+       Likewise.
+       (TraitItemReference::resolve_item): Likewise.
+       * typecheck/rust-hir-type-check-base.cc: Likewise.
+       * typecheck/rust-hir-type-check-base.h: Likewise.
+       * typecheck/rust-hir-type-check-enumitem.cc 
(TypeCheckEnumItem::Resolve):
+       Likewise.
+       (TypeCheckEnumItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-enumitem.h: Likewise.
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::Resolve):
+       Likewise.
+       (TypeCheckExpr::visit): Likewise.
+       (TypeCheckExpr::resolve_fn_trait_call): Likewise.
+       * typecheck/rust-hir-type-check-expr.h: Likewise.
+       * typecheck/rust-hir-type-check-implitem.cc 
(TypeCheckTopLevelExternItem::Resolve):
+       Likewise.
+       (TypeCheckTopLevelExternItem::visit): Likewise.
+       (TypeCheckImplItem::visit): Likewise.
+       (TypeCheckImplItemWithTrait::visit): Likewise.
+       * typecheck/rust-hir-type-check-implitem.h: Likewise.
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): 
Likewise.
+       (TypeCheckItem::resolve_impl_item): Likewise.
+       (TypeCheckItem::resolve_impl_block_substitutions): Likewise.
+       (TypeCheckItem::resolve_impl_block_self): Likewise.
+       * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::visit): 
Likewise.
+       (TypeCheckExpr::resolve_segments): Likewise.
+       * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::Resolve):
+       Likewise.
+       (TypeCheckPattern::visit): Likewise.
+       (ClosureParamInfer::Resolve): Likewise.
+       (ClosureParamInfer::visit): Likewise.
+       * typecheck/rust-hir-type-check-pattern.h: Likewise.
+       * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::Resolve):
+       Likewise.
+       (TypeCheckStmt::visit): Likewise.
+       * typecheck/rust-hir-type-check-stmt.h: Likewise.
+       * typecheck/rust-hir-type-check-struct-field.h: Likewise.
+       * typecheck/rust-hir-type-check-struct.cc 
(TypeCheckStructExpr::TypeCheckStructExpr):
+       Likewise.
+       (TypeCheckStructExpr::Resolve): Likewise.
+       (TypeCheckStructExpr::resolve): Likewise.
+       (TypeCheckStructExpr::visit): Likewise.
+       * typecheck/rust-hir-type-check-type.cc 
(TypeCheckResolveGenericArguments::resolve):
+       Likewise.
+       (TypeCheckType::Resolve): Likewise.
+       (TypeCheckType::visit): Likewise.
+       (TypeCheckType::resolve_root_path): Likewise.
+       (TypeResolveGenericParam::Resolve): Likewise.
+       (TypeResolveGenericParam::visit): Likewise.
+       (ResolveWhereClauseItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-type.h: Likewise.
+       * typecheck/rust-hir-type-check.cc 
(TraitItemReference::get_type_from_fn):
+       Likewise.
+       * typecheck/rust-hir-type-check.h: Likewise.
+       * typecheck/rust-type-util.cc (query_type): Likewise.
+       * typecheck/rust-typecheck-context.cc 
(TypeCheckContextItem::TypeCheckContextItem):
+       Likewise.
+       * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Likewise.
+       (TypeCheckBase::get_predicate_from_bound): Likewise.
+       * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Likewise.
+       (TypeCheckMethodCallExpr::go): Likewise.
+       (TypeCheckMethodCallExpr::check): Likewise.
+       * typecheck/rust-tyty-subst.cc: Likewise.
+       * typecheck/rust-tyty.cc (BaseType::monomorphized_clone): Likewise.
+       (VariantDef::VariantDef): Remove copy constructor.
+       (VariantDef::operator=): Change to move operator.
+       (VariantDef::get_discriminant): Replace return type to a reference
+       instead of a reference to a unique pointer.
+       (VariantDef::clone): Change to references.
+       (VariantDef::monomorphized_clone): Likewise.
+       (FnType::as_string): Likewise.
+       (FnType::clone): Likewise.
+       * typecheck/rust-tyty.h: Likewise.
+       * util/rust-hir-map.cc (Mappings::insert_hir_impl_block): Likewise.
+       * backend/rust-compile-asm.cc: Use a reference instead of the raw
+       pointer value.
+       * checks/errors/borrowck/rust-bir-builder-pattern.cc: Use references.
+       * checks/errors/rust-hir-pattern-analysis.cc: Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Use DefaultResolver::visit and avoid a call
+       to Identifier::as_string while handling instances of StaticItem.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-forever-stack.h
+       (ForeverStack::push): Accept argument of type Rib::Kind rather
+       than Rib.
+       * resolve/rust-forever-stack.hxx
+       (ForeverStack::push): Likewise.
+       * resolve/rust-name-resolution-context.cc
+       (NameResolutionContext::scoped): Likewise.
+       * resolve/rust-name-resolution-context.h
+       (NameResolutionContext::scoped): Likewise.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-type-check-item.cc 
(TypeCheckItem::resolve_impl_block_substitutions):
+       dont check for unconstrained when the self is not resolved
+       * typecheck/rust-hir-type-check-type.cc 
(TypeCheckType::resolve_root_path):
+       remove bad debug error diagnostic
+       * typecheck/rust-tyty-subst.cc: likewise
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * ast/rust-expr.h: Remove invalid usage of `struct`.
+       * backend/rust-compile-asm.h: Remove unused `translated` member.
+       * backend/rust-compile-asm.cc (CompileAsm::CompileAsm): Remove usage
+       of `translated` member.
+       * checks/errors/rust-unsafe-checker.h: Mark visitor as `override`.
+       * hir/tree/rust-hir-expr.h (struct AnonConst): Remove unused `locus`
+       member.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * typecheck/rust-tyty-call.h: Remove unused context member.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * hir/tree/rust-hir.h: Add override qualifier to overriden method.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-item.h
+       (Trait::self_param): Add.
+       (Trait::Trait): Initialize self_param.
+       (Trait::operator=): Copy self_param.
+       (Trait::insert_implicit_self): Remove.
+       (Trait::get_implicit_self): Add.
+       * hir/rust-ast-lower-item.cc
+       (ASTLoweringItem::visit): Make sure implicit self is still
+       lowered to HIR.
+       * resolve/rust-ast-resolve-item.cc
+       (ResolveItem::visit): Adjust handling of implicit self.
+       * resolve/rust-early-name-resolver.cc
+       (EarlyNameResolver::visit): Add commit to Trait visitor
+       mentioning that implicit self is not visited.
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Remove call to Trait::insert_implicit_self.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): fix the 
ty_id
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-tyty.cc (PlaceholderType::can_resolve): check for 
empty mappings
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * checks/errors/privacy/rust-privacy-reporter.cc:
+       Include rust-immutable-name-resolution-context.h.
+       (is_child_module): Use ForeverStack::is_module_descendant if name
+       resolution 2.0 is enabled.
+       * resolve/rust-forever-stack.h
+       (ForeverStack::is_module_descendant): Add.
+       (ForeverStack::dfs_node): Add.
+       * resolve/rust-forever-stack.hxx
+       (ForeverStack::dfs_rib): Use ForeverStack::dfs_node.
+       (ForeverStack::dfs_node): Add.
+       (ForeverStack::is_module_descendant): Add.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * checks/errors/privacy/rust-visibility-resolver.cc:
+       Add includes.
+       (VisibilityResolver::resolve_module_path): Use name resolver 2.0
+       (when enabled) to lookup path resolutions.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-type-check-path.cc 
(TypeCheckExpr::resolve_root_path): dont infer here
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Handle StructExprStruct and use
+       ForeverStack::resolve_path instead of ForeverStack::get to
+       resolve struct expression paths.
+       * resolve/rust-late-name-resolver-2.0.h
+       (Late::visit): Handle StructExprStruct.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * backend/rust-compile-context.cc
+       (Context::setup_builtins): Use TypeCheckContext::get_builtins
+       instead of Resolver::get_builtin_types,
+       TypeCheckContext::lookup_type_by_node_id, and
+       TypeCheckContext::lookup_type.
+       * typecheck/rust-hir-type-check.h
+       (TypeCheckContext::get_builtins): Add.
+       * typecheck/rust-typecheck-context.cc
+       (TypeCheckContext::get_builtins): Add.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-type-check-path.cc 
(TypeCheckExpr::resolve_segments): remove hack
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * typecheck/rust-tyty.cc
+       (TupleType::get_unit_type): Remove parameter, cache return
+       value.
+       * typecheck/rust-tyty.h
+       (TupleType::get_unit_type): Remove parameter.
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::setup_builtin_types): Adjust calls to get_unit_type.
+       * resolve/rust-name-resolver.cc
+       (Resolver::generate_builtins): Likewise.
+       * typecheck/rust-hir-type-check-expr.cc
+       (TypeCheckExpr::visit): Likewise.
+       * typecheck/rust-hir-type-check-implitem.cc
+       (TypeCheckTopLevelExternItem::visit): Likewise.
+       (TypeCheckImplItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-item.cc
+       (TypeCheckItem::visit): Likewise.
+       * typecheck/rust-hir-type-check-stmt.cc
+       (TypeCheckStmt::visit): Likewise.
+       * typecheck/rust-hir-type-check-type.cc
+       (TypeCheckType::visit): Likewise.
+       * typecheck/rust-hir-type-check.cc
+       (TraitItemReference::get_type_from_fn): Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Handle SelfParam.
+       * resolve/rust-late-name-resolver-2.0.h
+       (Late::visit): Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * typecheck/rust-hir-trait-resolve.cc: Add includes.
+       (TraitResolver::resolve_path_to_trait):
+       Use name resolution 2.0 resolver when enabled.
+
+2025-03-21  Marc Poulhiès  <d...@kataplop.net>
+
+       * backend/rust-compile-block.h: Adjust after removal of
+       HIR::IfLetExpr and HIR::IfLetExprConseqElse.
+       * 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-unsafe-checker.cc (UnsafeChecker::visit):
+       Likewise.
+       * checks/errors/rust-unsafe-checker.h: Likewise.
+       * hir/rust-ast-lower-block.h (ASTLoweringIfLetBlock::translate):
+       Change return type.
+       * hir/rust-ast-lower.cc (ASTLoweringIfLetBlock::desugar_iflet):
+       New.
+       (ASTLoweringIfLetBlock::visit(AST::IfLetExpr &)): Adjust and use
+       desugar_iflet.
+       * hir/rust-ast-lower.h: Add comment.
+       * hir/rust-hir-dump.cc (Dump::do_ifletexpr): Remove.
+       (Dump::visit(IfLetExpr&)): Remove.
+       (Dump::visit(IfLetExprConseqElse&)): Remove.
+       * hir/rust-hir-dump.h (Dump::do_ifletexpr): Remove.
+       (Dump::visit(IfLetExpr&)): Remove.
+       (Dump::visit(IfLetExprConseqElse&)): Remove.
+       * hir/tree/rust-hir-expr.h (class IfLetExpr): Remove.
+       (class IfLetExprConseqElse): Remove.
+       * hir/tree/rust-hir-full-decls.h (class IfLetExpr): Remove.
+       (class IfLetExprConseqElse): Remove.
+       * hir/tree/rust-hir-visitor.h: Adjust after removal of
+       HIR::IfLetExpr and HIR::IfLetExprConseqElse.
+       * hir/tree/rust-hir.cc (IfLetExpr::as_string): Remove.
+       (IfLetExprConseqElse::as_string): Remove.
+       (IfLetExpr::accept_vis): Remove.
+       (IfLetExprConseqElse::accept_vis): Remove.
+       * hir/tree/rust-hir.h: Adjust after removal of HIR::IfLetExpr and
+       HIR::IfLetExprConseqElse.
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+       Likewise.
+       * typecheck/rust-hir-type-check-expr.h: Likewise.
+       * checks/errors/rust-hir-pattern-analysis.cc
+       (PatternChecker::visit (IfLetExpr &)): Remove.
+       (PatternChecker::visit (IfLetExprConseqElse &)): Remove.
+       * checks/errors/rust-hir-pattern-analysis.h (visit(IfLetExpr &)): 
Remove.
+       (visit(IfLetExprConseqElse &)): Remove.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * checks/errors/rust-unsafe-checker.cc: Add includes.
+       (UnsafeChecker::visit): Use 2.0 version of resolver when name
+       resolution 2.0 is enabled.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * backend/rust-compile-implitem.cc
+       (CompileTraitItem::visit): Use name resolver 2.0 (when enabled)
+       to obtain canonical paths for instances of TraitItemConst and
+       TraitItemFunc.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * typecheck/rust-hir-type-check.cc: Add includes.
+       (TraitItemReference::get_type_from_fn): Use
+       ForeverStack::to_canonical_path when name resolution 2.0 is
+       enabled.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * ast/rust-path.h
+       (PathIdentSegment::is_super_segment): Rename to...
+       (PathIdentSegment::is_super_path_seg): ...here.
+       (PathIdentSegment::is_crate_segment): Rename to...
+       (PathIdentSegment::is_crate_path_seg): ...here.
+       (PathIdentSegment::is_lower_self): Rename to...
+       (PathIdentSegment::is_lower_self_seg): ...here.
+       (PathIdentSegment::is_big_self): Rename to...
+       (PathIdentSegment::is_big_self_seg): ...here.
+       (PathExprSegment::is_super_path_seg): Handle renames.
+       (PathExprSegment::is_crate_path_seg): Likewise.
+       (PathExprSegment::is_lower_self_seg): Likewise.
+       (TypePathSegment::is_crate_path_seg): Likewise.
+       (TypePathSegment::is_super_path_seg): Likewise.
+       (TypePathSegment::is_big_self_seg): Likewise.
+       (TypePathSegment::is_lower_self_seg): Likewise.
+       * ast/rust-ast-collector.cc
+       (TokenCollector::visit): Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-late-name-resolver-2.0.cc
+       (Late::visit): Visit the initialization expressions of let
+       statements before visiting their patterns.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * resolve/rust-toplevel-name-resolver-2.0.cc
+       (TopLevel::visit): Insert trait names into the type namespace.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * typecheck/rust-hir-trait-reference.h: new get locus helper
+       * typecheck/rust-hir-trait-resolve.cc (AssociatedImplTrait::get_locus): 
implemention
+       * typecheck/rust-hir-type-check-expr.cc 
(TypeCheckExpr::resolve_operator_overload):
+       fix overload
+
 2025-03-19  Owen Avery  <powerboat9.ga...@gmail.com>
 
        * resolve/rust-toplevel-name-resolver-2.0.cc
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e45ad301c29e..860e0304ca68 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,349 @@
+2025-03-21  Surya Kumari Jangala  <jskum...@linux.ibm.com>
+           Jakub Jelinek  <ja...@redhat.com>
+
+       PR rtl-optimization/116028
+       PR rtl-optimization/118615
+       * gcc.dg/ira-shrinkwrap-prep-1.c: Remove xfail for powerpc.
+       * gcc.dg/pr10474.c: Remove xfail for powerpc and arm.
+       * gcc.dg/pr118615.c: New test.
+
+2025-03-21  Patrick Palka  <ppa...@redhat.com>
+
+       PR c++/119378
+       * g++.dg/template/friend85.C: New test.
+
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * c-c++-common/gomp/interop-1.c: Remove dg-prune-output "sorry".
+       * c-c++-common/gomp/interop-2.c: Likewise.
+       * c-c++-common/gomp/interop-3.c: Likewise.
+       * c-c++-common/gomp/interop-4.c: Remove dg-message "not supported".
+       * g++.dg/gomp/interop-5.C: Likewise.
+       * gfortran.dg/gomp/interop-4.f90: Likewise.
+       * c-c++-common/gomp/interop-5.c: New test.
+       * gfortran.dg/gomp/interop-5.f90: New test.
+
+2025-03-21  Jason Merrill  <ja...@redhat.com>
+
+       PR c++/114992
+       * g++.target/i386/mangling-alias1.C: New test.
+
+2025-03-21  Paul Thomas  <pa...@gcc.gnu.org>
+
+       PR fortran/85836
+       * gfortran.dg/reduce_1.f90: New test
+       * gfortran.dg/reduce_2.f90: New test
+
+2025-03-21  Richard Earnshaw  <rearn...@arm.com>
+
+       PR target/91614
+       * gcc.target/arm/unaligned-memcpy-1.c: Make the test executable.
+       Only scan for the absence of instructions that cannot access
+       misaligned data.  Remove constraint of having unaligned accesses.
+       * gcc.target/arm/unaligned-memcpy-2.c: Likewise.
+       * gcc.target/arm/unaligned-memcpy-3.c: Likewise.
+       * gcc.target/arm/unaligned-memcpy-4.c: Likewise.
+
+2025-03-21  Richard Earnshaw  <rearn...@arm.com>
+
+       * gcc.target/arm/memcpy-aligned-1.c: Require unaligned accesses.
+
+2025-03-21  Thomas Schwinge  <tschwi...@baylibre.com>
+
+       * g++.target/nvptx/alias-g++.dg_init_dtor2-2.C: New.
+
+2025-03-21  Thomas Schwinge  <tschwi...@baylibre.com>
+
+       * gcc.target/nvptx/alias-unsupported-1.c: New.
+
+2025-03-21  Andre Vehreschild  <ve...@gcc.gnu.org>
+
+       PR fortran/119380
+       * gfortran.dg/proc_ptr_comp_54.f90: New test.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/nr2/exclude: Add failing lang item typepaths tests.
+       * rust/execute/torture/derive_macro4.rs: Mark Clone as lang item.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/nr2/exclude:
+       * rust/compile/derive_clone_enum1.rs: New test.
+       * rust/compile/derive_clone_enum2.rs: New test.
+       * rust/compile/derive_clone_enum3.rs: New test.
+       * rust/execute/torture/derive_clone_enum1.rs: New test.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/derive_macro4.rs: Mark Copy and Clone as lang items.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/derive_macro4.rs: Make PhantomData a lang item.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/derive_macro1.rs: Add #[lang = "clone"] to Clone trait.
+       * rust/compile/derive_macro3.rs: Likewise.
+       * rust/compile/derive_macro6.rs: Likewise.
+       * rust/execute/torture/derive_macro3.rs: Likewise.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-3350.rs: New test.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/macros/builtin/eager1.rs: Switch to scan-assembler 
directive as the
+       GIMPLE dump does not contain strings on LE.
+       * rust/compile/macros/builtin/recurse2.rs: Likewise.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/issue-1446.rs: Add swap_bytes function.
+       * rust/compile/iterators1.rs: Remove unused {to, from}_le functions.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/execute/torture/builtin_macro_include_bytes.rs: needs mut
+       * rust/compile/mutability_checks1.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  liushuyu  <liushuyu...@gmail.com>
+
+       * rust/compile/try-catch-unwind-old.rs: add a test to test the older
+       try intrinsics from plain old Rust to v1.78.0
+       * rust/compile/try-catch-unwind-new.rs: add a test to test the newer
+       catch_unwind instrinsics since Rust v1.78.0
+
+2025-03-21  Nobel  <nobel2...@gmail.com>
+
+       * rust/compile/cast_float_as_integer.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/cmp1.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-3046.rs: remove old error message
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-3140.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/auto_traits2.rs: New test.
+       * rust/compile/auto_traits3.rs: New test.
+       * rust/compile/nr2/exclude: Add auto_traits2 test.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/auto_traits1.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Liam Naddell  <liamn...@gmail.com>
+
+       * rust/compile/issue-3304.rs:
+       Add small test for generics+enums combination for NR2.0
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/nr2/exclude: Exclude additional-trait-bounds2 for 
different error message.
+       * rust/compile/additional-trait-bounds1.rs: New test.
+       * rust/compile/additional-trait-bounds2.rs: New test.
+       * rust/compile/additional-trait-bounds2nr2.rs: New test.
+
+2025-03-21  Arthur Cohen  <arthur.co...@embecosm.com>
+
+       * rust/compile/multiline-string.rs: New test.
+       * rust/execute/torture/multiline-string.rs: New test.
+
+2025-03-21  Nobel  <nobel2...@gmail.com>
+
+       * rust/compile/ptr_int_cast.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-2847.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-266.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-2394.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-1525.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 can't handle this
+       * rust/compile/issue-2423.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-3261.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-2907.rs: New test.
+
+2025-03-21  Pierre-Emmanuel Patry  <pierre-emmanuel.pa...@embecosm.com>
+
+       * rust/compile/nr2/exclude: Remove passing tests from exclude list.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/exhaustiveness1.rs: remove bad check
+       * rust/compile/issue-2567-1.rs: New test.
+       * rust/compile/issue-2567-2.rs: New test.
+       * rust/compile/issue-2567-3.rs: New test.
+       * rust/compile/issue-3231.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-2905-1.rs: New test.
+       * rust/compile/issue-2905-2.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/issue-1773.rs: new test case
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-3242.rs: old test ranamed to match issue.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+       * rust/link/generic_function_0.rs: No longer expect failure.
+       * rust/link/trait_import_0.rs: Likewise.
+       * rust/link/trait_import_1.rs
+       (trait Sized): Add.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle these
+       * rust/compile/issue-2953-1.rs: New test.
+       * rust/compile/issue-2953-2.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-2323.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-3009.rs: New test.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr can't handle this
+       * rust/compile/issue-3033.rs: New test.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Marc Poulhiès  <d...@kataplop.net>
+
+       * rust/compile/if_let_expr.rs: Adjust.
+       * rust/compile/if_let_expr_simple.rs: New test.
+       * rust/compile/iflet.rs: New test.
+       * rust/execute/torture/iflet.rs: New test.
+       * rust/compile/nr2/exclude: Add iflet.rs and if_let_expr_simple.rs
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/compile.exp: Handle paths using "file join"
+       and "file split".
+       * rust/compile/nr2/exclude: Remove debug-diagnostics-on.rs.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Add trailing newline along with
+       comment.
+
+2025-03-21  Owen Avery  <powerboat9.ga...@gmail.com>
+
+       * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-21  Philip Herron  <herron.phi...@googlemail.com>
+
+       * rust/compile/nr2/exclude: nr2 cant handle this
+       * rust/compile/issue-3032-1.rs: New test.
+       * rust/compile/issue-3032-2.rs: New test.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * c-c++-common/musttail27.c: New test.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * g++.dg/opt/musttail1.C: New test.
+
+2025-03-21  Jakub Jelinek  <ja...@redhat.com>
+
+       PR ipa/119376
+       * c-c++-common/musttail26.c: New test.
+
+2025-03-21  Andre Vehreschild  <ve...@gcc.gnu.org>
+
+       PR fortran/119349
+       * gfortran.dg/class_79.f90: New test.
+
 2025-03-20  Stefan Schulze Frielinghaus  <stefa...@gcc.gnu.org>
 
        Revert:
diff --git a/include/ChangeLog b/include/ChangeLog
index 8d580405bff6..8e354697da47 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * gomp-constants.h (GOMP_DEVICE_DEFAULT_OMP_61, GOMP_INTEROP_TARGET,
+       GOMP_INTEROP_TARGETSYNC, GOMP_INTEROP_FLAG_NOWAIT): Define.
+
 2025-03-18  Jose E. Marchesi  <jose.march...@oracle.com>
 
        * libiberty.h (ldirname): New function declaration.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 626c8fea414a..34b37fd53991 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,13 @@
+2025-03-21  Paul Thomas  <pa...@gcc.gnu.org>
+
+       PR libfortran/85836
+       * Makefile.am : Add reduce.c
+       * Makefile.in : Regenerated
+       * gfortran.map : Add _gfortran_reduce, _gfortran_reduce_scalar,
+       _gfortran_reduce_c and _gfortran_reduce_scalar_c to the list.
+       * intrinsics/reduce.c (reduce, reduce_scalar, reduce_c,
+       reduce_scalar_c): New functions and prototypes
+
 2025-02-27  Thomas Schwinge  <tschwi...@baylibre.com>
 
        PR target/107635
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 6507ba001511..90d06860c76a 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,64 @@
+2025-03-21  Tobias Burnus  <tbur...@baylibre.com>
+
+       * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: Use -6
+       not -5 as non-conforming device number.
+
+2025-03-21  Tobias Burnus  <tbur...@baylibre.com>
+
+       * plugin/plugin-gcn.c (_LIBGOMP_PLUGIN_INCLUDE): Define.
+       (struct hsa_runtime_fn_info): Add two queue functions.
+       (hipError_t, hipCtx_t, hipStream_s, hipStream_t): New types.
+       (struct hip_runtime_fn_info): New.
+       (hip_runtime_lib, hip_fns): New global vars.
+       (init_environment_variables): Handle hip_runtime_lib.
+       (init_hsa_runtime_functions): Load the two queue functions.
+       (init_hip_runtime_functions, GOMP_OFFLOAD_interop,
+       GOMP_OFFLOAD_get_interop_int, GOMP_OFFLOAD_get_interop_ptr,
+       GOMP_OFFLOAD_get_interop_str,
+       GOMP_OFFLOAD_get_interop_type_desc): New.
+       * plugin/plugin-nvptx.c (_LIBGOMP_PLUGIN_INCLUDE): Define.
+       (GOMP_OFFLOAD_interop, GOMP_OFFLOAD_get_interop_int,
+       GOMP_OFFLOAD_get_interop_ptr, GOMP_OFFLOAD_get_interop_str,
+       GOMP_OFFLOAD_get_interop_type_desc): New.
+       * testsuite/libgomp.c/interop-fr-1.c: New test.
+       * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: Use -6
+       not -5 as non-conforming device number.
+
+2025-03-21  Paul-Antoine Arras  <par...@baylibre.com>
+           Tobias Burnus  <tbur...@baylibre.com>
+
+       * icv-device.c (omp_set_default_device): Check
+       GOMP_DEVICE_DEFAULT_OMP_61.
+       * libgomp-plugin.h (struct interop_obj_t): New.
+       (enum gomp_interop_flag): New.
+       (GOMP_OFFLOAD_interop): Declare.
+       (GOMP_OFFLOAD_get_interop_int): Declare.
+       (GOMP_OFFLOAD_get_interop_ptr): Declare.
+       (GOMP_OFFLOAD_get_interop_str): Declare.
+       (GOMP_OFFLOAD_get_interop_type_desc): Declare.
+       * libgomp.h (_LIBGOMP_OMP_LOCK_DEFINED): Define.
+       (struct gomp_device_descr): Add interop_func, get_interop_int_func,
+       get_interop_ptr_func, get_interop_str_func, get_interop_type_desc_func.
+       * libgomp.map: Add GOMP_interop.
+       * libgomp_g.h (GOMP_interop): Declare.
+       * target.c (resolve_device): Handle GOMP_DEVICE_DEFAULT_OMP_61.
+       (omp_get_interop_int): Replace stub with actual implementation.
+       (omp_get_interop_ptr): Likewise.
+       (omp_get_interop_str): Likewise.
+       (omp_get_interop_type_desc): Likewise.
+       (struct interop_data_t): Define.
+       (gomp_interop_internal): New function.
+       (GOMP_interop): Likewise.
+       (gomp_load_plugin_for_device): Load symbols for get_interop_int,
+       get_interop_ptr, get_interop_str and get_interop_type_desc.
+       * testsuite/libgomp.c-c++-common/interop-1.c: New test.
+
+2025-03-21  Tobias Burnus  <tbur...@baylibre.com>
+
+       * testsuite/lib/libgomp.exp (libgomp_init): Add
+       -fdiagnostics-plain-output to additional_flags; remove
+       -fno-diagnostics-show-caret and -fdiagnostics-color=never.
+
 2025-03-17  Tobias Burnus  <tbur...@baylibre.com>
 
        PR fortran/115271
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7ae925ded4d0..dccfffc9ff1b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,48 @@
+2025-03-21  Jonathan Wakely  <jwak...@redhat.com>
+
+       PR libstdc++/117214
+       * configure.ac: Use AC_STRUCT_TIMEZONE.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/bits/chrono_io.h (__formatter_chrono::_M_c): Set
+       tm_isdst and tm_zone.
+       * testsuite/std/time/format/pr117214.cc: Check %c formatting of
+       zoned_time and local time.
+
+2025-03-21  XU Kailiang  <xu2k...@outlook.com>
+           Jonathan Wakely  <jwak...@redhat.com>
+
+       PR libstdc++/117214
+       * include/bits/chrono_io.h (__formatter_chrono::_M_c): Use
+       _M_locale_fmt to format %c time point.
+       * testsuite/std/time/format/pr117214.cc: New test.
+
+2025-03-21  Jonathan Wakely  <jwak...@redhat.com>
+
+       * include/bits/chrono_io.h (__formatter_chrono::_M_locale_fmt):
+       Imbue locale into ostringstream.
+       * testsuite/std/time/format/localized.cc: Check that correct
+       locale is used for call to time_put::put.
+
+2025-03-21  Jonathan Wakely  <jwak...@redhat.com>
+
+       * include/bits/stl_vector.h (vector(from_range_t, Alloc)): Use
+       delegating constructor instead of RAII guards. Use append_range
+       for unsized input range case.
+
+2025-03-21  Jonathan Wakely  <jwak...@redhat.com>
+
+       * src/c++23/std.compat.cc.in: Only export <stdbit.h> and
+       <stdckdint.h> contents for C++26 and later.
+
+2025-03-21  Jonathan Wakely  <jwak...@redhat.com>
+
+       * src/c++23/std.cc.in (tuple_element, tuple_element_t)
+       (tuple_size, tuple_size_v, get): Export.
+       (ranges::cache_latest_view, views::cache_latest): Export.
+       (ranges::to_input_view, views::to_input): Export.
+       (from_range_t, from_range): Export.
+
 2025-03-20  Tomasz Kamiński  <tkami...@redhat.com>
 
        * include/debug/unordered_map (unordered_map): Add from_range

Reply via email to