+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle ExternalStaticItem.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/errors/rust-hir-pattern-analysis.cc: Add includes.
+ (PatternChecker::visit): Use name resolver 2.0 when enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * backend/rust-compile-expr.cc
+ (CompileExpr::visit): Use name resolver 2.0 to lookup label
+ definitions for break and continue statements when name
+ resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/errors/rust-const-checker.cc: Add includes.
+ (ConstChecker::visit): Use name resolver 2.0 to lookup
+ function definitions when name resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Load unloaded modules before attempting to
+ visit their items.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-forever-stack.h
+ (ForeverStack::to_canonical_path): Make const.
+ (ForeverStack::to_rib): Add const overload.
+ (ForeverStack::reverse_iter): Add const overloads.
+ (ForeverStack::ConstDfsResult): Add.
+ (ForeverStack::dfs): Add const overload.
+ (ForeverStack::dfs_rib): Likewise.
+ * resolve/rust-forever-stack.hxx
+ (ForeverStack::reverse_iter): Add const overloads.
+ (ForeverStack::dfs): Add const overload.
+ (ForeverStack::to_canonical_path): Make const.
+ (ForeverStack::dfs_rib): Likewise.
+ (ForeverStack::to_rib): Add const overload.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/lints/rust-lint-marklive.cc
+ (MarkLive::visit_path_segment): Use name resolver 2.0 when
+ enabled.
+ (MarkLive::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle ConstGenericParam.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Visit GenericArgs and GenericArg, the former
+ because the latter involves a non-virtual member function call.
+ * resolve/rust-late-name-resolver-2.0.h
+ (Late::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in): Fix
+ compiler error on ast wrong implicit construct push_back
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_inputs):
+ Provide input operand for gccrs
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in):
+ Move expr to In
+ (expand_inline_asm_strings):
+ Add comments to debug strings
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * typecheck/rust-hir-type-check-pattern.cc: Add includes.
+ (TypeCheckPattern::visit): Use name resolver 2.0 if enabled.
+ * resolve/rust-name-resolution-context.cc
+ (NameResolutionContext::lookup): Make const qualified.
+ * resolve/rust-name-resolution-context.h
+ (NameResolutionContext::lookup): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Allow IdentifierExpr and PathInExpression to
+ reference types as well as values, remove ability for
+ IdentifierExpr to reference labels.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-ast-visitor.cc
+ (DefaultASTVisitor::visit): Visit fields of InlineAsm.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * backend/rust-compile-item.cc
+ (CompileItem::visit): Check canonical path of StaticItem
+ properly when name resolution 2.0 is enabled.
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Insert static items into the value namespace.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-expr.h
+ (InlineAsmOperand): Replace multiple mutually-exclusive tl::optional
+ fields with a std::unique_ptr and modify nested classes to allow
+ this. Also, make getters return references where possible.
+ * expand/rust-macro-builtins-asm.cc
+ (parse_reg_operand_out): Pass location when constructing
+ InlineAsmOperand.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle TypeAlias.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * typecheck/rust-hir-type-check-enumitem.cc: Add includes.
+ (TypeCheckEnumItem::visit): Fetch canonical paths properly when
+ name resolution 2.0 is enabled.
+ * typecheck/rust-hir-type-check-implitem.cc: Add includes.
+ (TypeCheckImplItem::visit): Fetch canonical paths properly when
+ name resolution 2.0 is enabled.
+ * typecheck/rust-hir-type-check-item.cc: Add include.
+ (TypeCheckItem::visit): Fetch canonical paths properly when name
+ resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-finalize-imports-2.0.cc
+ (GlobbingVisitor::visit): Replace calls to insert_shadowable with
+ insert_globbed.
+ * resolve/rust-forever-stack.h
+ (ForeverStack::insert_globbed): Add.
+ * resolve/rust-forever-stack.hxx
+ (ForeverStack::insert_globbed): Add.
+ (ForeverStack::dfs): Handle modifications to Rib::Definition
+ fields.
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Make IdentifierPattern-based declarations
+ shadowable.
+ * resolve/rust-name-resolution-context.cc
+ (NameResolutionContext::insert_globbed): Add.
+ * resolve/rust-name-resolution-context.h
+ (NameResolutionContext::insert_globbed): Add.
+ * resolve/rust-rib.cc
+ (Rib::Definition::Definition): Use Rib::Definition::Mode to
+ indicate shadowing mode instead of boolean, handle modifications
+ to Rib::Definition fields.
+ (Rib::Definition::is_ambiguous): Handle modifications to
+ Rib::Definition fields.
+ (Rib::Definition::to_string): Likewise.
+ (Rib::Definition::Shadowable): Handle changed constructor
+ signature.
+ (Rib::Definition::NonShadowable): Likewise.
+ (Rib::Definition::Globbed): Add.
+ (Rib::insert): Handle changes to Rib::Definition fields.
+ * resolve/rust-rib.h
+ (Rib::Definition::Globbed): Add.
+ (Rib::Definition::ids): Remove.
+ (Rib::Definition::ids_shadowable): Add.
+ (Rib::Definition::ids_non_shadowable): Add.
+ (Rib::Definition::ids_globbed): Add.
+ (Rib::Definition::get_node_id): Handle modifications to
+ Rib::Definition fields.
+ (Rib::Definition::Mode): Add.
+ (Rib::Definition::Definition): Use Rib::Definition::Mode to
+ indicate shadowing mode instead of boolean.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_path_to_trait):
+ use error handling instead of assertion
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): reuse trait reference
+ * typecheck/rust-hir-type-check-item.h: update prototype
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * resolve/rust-ast-resolve-type.cc (ResolveTypeToCanonicalPath::visit): add unit-type catch
+ * resolve/rust-ast-resolve-type.h: likewise
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * Make-lang.in: new objects
+ * ast/rust-ast-builder.cc (Builder::generic_type_path_segment): new helper
+ (Builder::single_generic_type_path): likewise
+ (Builder::new_type): likewise
+ (Builder::new_lifetime_param): likewise
+ (Builder::new_type_param): likewise
+ (Builder::new_lifetime): likewise
+ (Builder::new_generic_args): likewise
+ * ast/rust-ast-builder.h: new helper decls
+ * ast/rust-ast.h: new const getters
+ * ast/rust-path.h: likewise
+ * ast/rust-type.h: likewise
+ * expand/rust-derive-clone.cc (DeriveClone::clone_impl): take the types generics
+ (DeriveClone::visit_tuple): likewise
+ (DeriveClone::visit_struct): likewise
+ (DeriveClone::visit_union): likewise
+ * expand/rust-derive-clone.h: update header
+ * expand/rust-derive-copy.cc (DeriveCopy::copy_impl): similarly take type generics
+ (DeriveCopy::visit_struct): likewise
+ (DeriveCopy::visit_tuple): likewise
+ (DeriveCopy::visit_enum): likewise
+ (DeriveCopy::visit_union): likewise
+ * expand/rust-derive-copy.h: likewse
+ * ast/rust-ast-builder-type.cc: New file.
+ * ast/rust-ast-builder-type.h: New file.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust-session-manager.cc (Session::expansion): Break on error after
+ top level name resolution.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Resolve
+ TypeParam.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add visit function
+ prototype.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast.h: Node id getter could be const.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.h: Add visit function prototype.
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Change resolved
+ type segment.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Remove
+ assertion and explicitely tells why we ignore the insertion result.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * Make-lang.in: Add new rust-bir-builder-pattern file.
+ * checks/errors/borrowck/rust-bir-builder-pattern.h: Remove
+ implementation.
+ * checks/errors/borrowck/rust-bir-builder-pattern.cc: New file.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast-visitor.h: Make visit functions public.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-finalize-imports-2.0.h: Add parent member functions
+ from default resolver.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Use
+ default visitor instead.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ default visit code and replace it with call to default visitor.
+ * resolve/rust-default-resolver.h: Remove removed function's
+ prototypes.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ empty visit function implementations.
+ * resolve/rust-default-resolver.h: Remove corresponding prototypes.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.h: Make most visit function override.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::Early): Add dirty
+ flag initialization.
+ (Early::go): Set dirty flag using top level resolver.
+ * resolve/rust-early-name-resolver-2.0.h: Add dirty flag.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::TopLevel):
+ Initialize dirty flag.
+ (TopLevel::insert_or_error_out): Set dirty flag on successful
+ namespace modification.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add dirty flag.
+ * rust-session-manager.cc (Session::expansion): Modify fixed point
+ condition to include name resolution modifications.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-rib.cc (Rib::insert): Emit an error when trying to
+ insert an already inserted node.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.h: New class for imports.
+ * resolve/rust-finalize-imports-2.0.cc (finalize_simple_import): Use
+ the new API.
+ (finalize_glob_import): Likewise.
+ (finalize_rebind_import): Likewise.
+ (FinalizeImports::FinalizeImports): Likewise.
+ (FinalizeImports::visit): Likewise.
+ * resolve/rust-finalize-imports-2.0.h: Likewise.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import): Likewise.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_simple_import):
+ Insert import in all namespaces where they were resolved.
+ (Early::resolve_rebind_import): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Improve APIs, make them
+ accept multiple resolutions.
+ * resolve/rust-finalize-imports-2.0.cc: Handle multiple resolutions.
+ * resolve/rust-name-resolution-context.h (resolve_path): Remove function.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes):
+ Store errors for later.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-finalize-imports-2.0.cc (FinalizeImports::go): Turn
+ static method into method.
+ (FinalizeImports::visit): New.
+ * resolve/rust-finalize-imports-2.0.h (class FinalizeImports): Make
+ FinalizeImports a visitor.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::go): Use new FinalizeImports API.
+ (Early::resolve_glob_import): Use new API.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add debug call.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Store
+ imports using the new classes.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Use new classes.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import):
+ Use ImportData class.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Likewise.
+ * resolve/rust-finalize-imports-2.0.cc (finalize_simple_import): Likewise.
+ (finalize_glob_import): Likewise.
+ (finalize_rebind_import): Likewise.
+ (FinalizeImports::go): Likewise.
+ * resolve/rust-finalize-imports-2.0.h: Likewise.
+ * resolve/rust-name-resolution-context.h: Likewise.
+ * resolve/rust-rib.h: Define ImportData class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Add new object file.
+ * ast/rust-item.h: Constify method.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::go): Call into
+ the imports finalizer.
+ (Early::resolve_glob_import): Remove old resolution.
+ (Early::resolve_rebind_import): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::go):
+ New function.
+ (GlobbingVisitor::visit): Likewise.
+ (TopLevel::visit): Do not call into handle_use_* functions anymore.
+ * resolve/rust-toplevel-name-resolver-2.0.h (class GlobbingVisitor):
+ New.
+ * resolve/rust-finalize-imports-2.0.cc: New file.
+ * resolve/rust-finalize-imports-2.0.h: New file.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import): New function.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Add declarations and list of imports to
+ resolve.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_glob): Remove function,
+ which is now being handled by the Early name resolver.
+ (TopLevel::handle_use_dec): Likewise.
+ (TopLevel::handle_rebind): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise, and add functions for creating
+ import list and fetching it.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc: Comment out handle_use
+ call and error emission.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Create ImportKind class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_dec):
+ Add notes on the problem.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Do not
+ visit self's type if it does not have one.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * hir/rust-ast-lower-type.cc (ASTLowerQualifiedPathInType::visit):
+ check for valid as segment
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * resolve/rust-ast-resolve-type.cc (ResolveType::visit):
+ handle never type
+ (ResolveTypeToCanonicalPath::visit): likewise
+ * resolve/rust-ast-resolve-type.h: missing never type
+ * resolve/rust-name-resolver.cc (Resolver::generate_builtins):
+ track never type node_id
+ (Resolver::setup_builtin): likewise
+ * resolve/rust-name-resolver.h: new never type getter
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-default-resolver.cc
+ (DefaultResolver::visit): Remove some empty overloads which
+ DefaultASTVisitor::visit should be able to handle.
+ * resolve/rust-default-resolver.h
+ (DefaultResolver::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/optional.h
+ (optional): Add assertions to dereference operator overloads
+ when C++14 is available.
+
+2025-03-19 Marc Poulhiès <dkm@kataplop.net>
+
+ * hir/rust-hir-dump.cc (Dump::visit): Add missing fields.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): the polarity was reversed
+ * typecheck/rust-hir-type-check-item.cc: check the polarity
+
+2025-03-19 benjamin.thos <benjamin.thos@epita.fr>
+
+ * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Add
+ implementation of error propagation visitor
+ * resolve/rust-ast-resolve-expr.h: Add prototype of error
+ propagation
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add optional
+ check.
+
+2025-03-19 JoanVC <github-91yu@joanvc.cat>
+
+ * backend/rust-compile-expr.cc
+
+2025-03-19 JoanVC <github-91yu@joanvc.cat>
+
+ * backend/rust-compile-expr.cc: Fix range checking for both integers and floats.
+ * hir/tree/rust-hir-expr.h: Add "negative_number" boolean to LiteralExpr class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust-session-manager.cc (Session::compile_crate): Use less repetition,
+ fix a typo in `reports`, fix word order.
+
+2025-03-19 benjamin.thos <benjamin.thos@epita.fr>
+
+ * checks/errors/rust-feature-gate.cc (FeatureGate::visit): Emit error
+ on trait when auto field member true.
+ * checks/errors/rust-feature-gate.h: add prototype of trait visitor.
+ * checks/errors/rust-feature.cc (Feature::create): add
+ optin_builtin_traits in match of feature.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * Make-lang.in: Add rust-hir-pattern-analysis.o.
+ * rust-session-manager.cc (Session::compile_crate):
+ Add pattern analysis pass.
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Do typecheck for subpatterns.
+ * checks/errors/rust-hir-pattern-analysis.cc: New file.
+ * checks/errors/rust-hir-pattern-analysis.h: New file.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * backend/rust-compile.cc:
+ Modify compute_address_for_trait_item to support supertraits
+ * typecheck/rust-tyty.cc:
+ Remove auto
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Use strong
+ type instead of size_t.
+ (Dump::visit_place): Likewise.
+ (Dump::visit_scope): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.h (class Dump): Use
+ IndeVec for place_map.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Used `IndexVec` for bb_fold_map.
+ (Dump::go): Use strong type as index instead of value as now we
+ are using `IndexVec`.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.h (class Dump): Use
+ `IndexVec` for bb_fold_map.
+ * checks/errors/borrowck/rust-bir-place.h: Add constructor for
+ `IndexVec` that can reserve size.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h: Use strong types as
+ index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::visit): Use strong type as index and
+ remove access to numeric value.
+ * checks/errors/borrowck/rust-bir-builder-internal.h
+ (struct BuilderContext): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Likewise.
+ (Dump::go): Likewise.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h
+ (class FactCollector): Likewise.
+ (points): Likewise.
+ * checks/errors/borrowck/rust-bir.h (struct BasicBlockId): Used
+ IndexVec for BasicBlocks.
+ (struct Function): Likewise.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::get_statement): Change the extracted
+ index to strong type.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h: Used `IndexVec` with
+ ScopeId as index.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::get_loan): Convert Polonius::Loan to
+ BIR::Loan, so we can use it as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h:
+ Used `IndexVec` with ScopeId as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h (struct Loan):
+ Introduce new class `IndexVec` inspired from IndexVec of rust.
+ It acts as a wrapper around `std::vector` and lets user specify
+ a strong type to use as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Use value of BasicBlockId as index.
+ * checks/errors/borrowck/rust-bir-builder-internal.h (struct BuilderContext):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h:
+ Initialize with ENTRY_BASIC_BLOCK.
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Use value of BasicBlockId as index.
+ (Dump::go): Likewise.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (class FactCollector):
+ Initialize with ENTRY_BASIC_BLOCK.
+ (points): Use value of BasicBlockId as index.
+ * checks/errors/borrowck/rust-bir.h (struct BasicBlockId):
+ BasicBlockId is a struct now.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::setup_loop): Use value of ScopeId.
+ (ExprStmtBuilder::visit): Use continue scope id instead of
+ continue basic block id.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use value
+ of ScopeId.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Use
+ ROOT_VALUE instead of hardcoded 0.
+ (Dump::visit_scope): Use value of ScopeId.
+ * checks/errors/borrowck/rust-bir-place.h (struct ScopeId):
+ ScopeId is now a struct.
+ (std::numeric_limits::max): Set invalid ScopeId.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit): Use new
+ API, i.e get_loan_id() instead of get_loan().
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points): Use
+ value of LoanId in Polonius facts.
+ * checks/errors/borrowck/rust-bir-place.h (struct LoanId):
+ LoanId is a struct now.
+ * checks/errors/borrowck/rust-bir.h (class AbstractExpr): Use
+ new API, as we are getting a LoanId and not a loan itself.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use
+ FreeRegions instead of making a temporary vector of FreeRegion.
+ * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (class FactCollector):
+ Likewise.
+ (points): Likewise.
+ * checks/errors/borrowck/rust-bir-free-region.h: Remove obsolete
+ set_from() helpers, add push_back().
+ * checks/errors/borrowck/rust-bir-place.h: Use FreeRegions
+ instead of making a temporary vector of Origin.
+ * typecheck/rust-tyty-variance-analysis-private.h: Change type
+ of `regions`.
+ * typecheck/rust-tyty-variance-analysis.cc (CrateCtx::query_type_regions):
+ Use new type.
+ (GenericTyPerCrateCtx::query_generic_variance): Likewise.
+ (TyVisitorCtx::add_constraints_from_generic_args): Likewise.
+ (FieldVisitorCtx::add_constraints_from_region): Likewise.
+ (FieldVisitorCtx::add_constrints_from_param): Likewise.
+ * typecheck/rust-tyty-variance-analysis.h: Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use
+ STATIC_FREE_REGION, use value of FreeRegion for origin.
+ * checks/errors/borrowck/rust-bir-builder.h: Use free region
+ value.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit_scope):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-free-region.h (struct FreeRegion):
+ Make FreeRegion a struct.
+ * checks/errors/borrowck/rust-bir-place.h: Use FreeRegion
+ instead of Origin in PlaceDB.
+ * typecheck/rust-tyty-variance-analysis.cc (FieldVisitorCtx::add_constraints_from_region):
+ Use value of FreeRegion for origin.
+ (FieldVisitorCtx::add_constrints_from_param): Likewise.
+ (Term::make_transform): Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (renumber_places):
+ Use value of PlaceId as index.
+ (Dump::visit_place): Likewise.
+ (Dump::visit_scope): Likewise.
+ (Dump::go): Refill `place_map` with for loop instead of
+ using std::iota().
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points): Use
+ value as index.
+ * checks/errors/borrowck/rust-bir-place.h (struct PlaceId):
+ PlaceId is now a class holding a uint32_t value. Overloaded
+ comparision operators for easier comparision.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-ast-resolve-pattern.cc
+ (PatternDeclaration::check_bindings_consistency): Check if
+ outer_bindings_map contains an entry before indexing.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/rust-canonical-path.h
+ (CanonicalPath::CanonicalPath): Properly initialize crate_num
+ with copy constructor.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::visit):
+ Change API, public/private, comments, formatting from code
+ review
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::tree_codegen_asm): Likewise.
+ * backend/rust-compile-asm.h (class CompileAsm): Likewise.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+ * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise.
+ * expand/rust-macro-builtins-asm.cc (strip_double_quotes): Likewise.
+ (parse_options): Likewise.
+ (parse_asm_arg): Likewise.
+ (expand_inline_asm_strings): Likewise.
+ (parse_asm): Likewise.
+ * expand/rust-macro-builtins-asm.h (strip_double_quotes): Likewise.
+ (expand_inline_asm_strings): Likewise.
+ (expand_inline_asm_string): Likewise.
+ * hir/tree/rust-hir-expr.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Remove debug
+ * expand/rust-macro-builtins-asm.cc (expand_inline_asm_strings):
+ properly formatted via rust instead of c
+ (parse_asm): formatted comment
+ (parse_format_strings): formatted comment
+ * hir/tree/rust-hir-expr.h: fix is_simple_asm()
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Use's array type when constring string tree
+ (CompileAsm::asm_construct_string_tree):
+ Use's array type when constring string tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Added noreturn checking for nevertype
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Add debug comment
+ (CompileAsm::asm_construct_outputs):
+ Perform lowering hir output operand to tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Perform type check on InlineAsm's operand
+ (typecheck_inline_asm_operand): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_outputs):
+ Lower the HIR to tree with CompileExpr
+ * backend/rust-compile-asm.h: Remove static from method
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (strip_double_quotes):
+ Move strip double quotes to parse phase
+ (CompileAsm::asm_construct_string_tree): Likewise
+ * backend/rust-compile-asm.h (strip_double_quotes): Likewise
+ * expand/rust-macro-builtins-asm.cc (strip_double_quotes):
+ Likewise
+ (expand_inline_asm): Renamed to expand_inline_asm_strings
+ (expand_inline_asm_strings): Renamed from expand_inline_asm
+ (parse_asm): Move strip double quotes to parse phase
+ (parse_format_strings): Likewise
+ * expand/rust-macro-builtins-asm.h (strip_double_quotes):
+ Likewise
+ (expand_inline_asm_strings): Inline asm expansion fn
+ (expand_inline_asm_string): Inline asm expansion fn
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Remove warnings
+ (parse_reg_operand_out): Remove warnings
+ (expand_inline_asm): New function for eventual expansion
+ (parse_asm): Use expand_inline_asm
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_outputs):
+ Set up counting to check
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Use expr's is_simple_asm and is_inline_asm
+ (CompileAsm::asm_is_simple): removed
+ (CompileAsm::asm_is_inline): removed
+ * backend/rust-compile-asm.h: Add docs to ASM_TREE_ARRAY_LENGTH
+ * hir/tree/rust-hir-expr.h: Add is_simple_asm, is_inline_asm
+ and remove #include tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (strip_double_quotes):
+ Refactor compile-asm for first round review
+ (CompileAsm::asm_build_asm_stmt): Likewise.
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::asm_get_locus): Likewise.
+ (CompileAsm::asm_construct_string_tree): Likewise.
+ (CompileAsm::asm_construct_outputs): Likewise.
+ (CompileAsm::asm_construct_inputs): Likewise.
+ (CompileAsm::asm_construct_clobber_tree): Likewise.
+ (CompileAsm::asm_construct_label_tree): Likewise.
+ (CompileAsm::asm_is_simple): Likewise.
+ (CompileAsm::asm_is_inline): Likewise.
+ * backend/rust-compile-asm.h (strip_double_quotes): Likewise.
+ (class CompileAsm): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::add_stmt):
+ Deleted
+ (CompileAsm::CompileAsm):
+ Successfully produce pseudo-nop
+ (CompileAsm::visit): Likewise
+ (CompileAsm::asm_build_asm_stmt): Likewise
+ (CompileAsm::asm_construct_string_tree): Likewise
+ (CompileAsm::asm_is_inline): Likewise
+ * backend/rust-compile-asm.h (class CompileAsm): Likewise
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::add_stmt):
+ Scaffolding code.
+ (CompileAsm::asm_build_asm_stmt): Likewise.
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::asm_construct_string_tree): Likewise.
+ * backend/rust-compile-asm.h: Likewise.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * Make-lang.in:
+ Scaffolding new compile-asm files
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise
+ * hir/tree/rust-hir-expr.h: Likewise
+ * backend/rust-compile-asm.cc: New file. Likewise
+ * backend/rust-compile-asm.h: New file. Likewise
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit):
+ Setting up interfaces for codegen
+ * hir/tree/rust-hir-expr.h: Likewise.
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit):
+ Local testing for build_string and debug()
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * hir/tree/rust-hir.cc (InlineAsm::accept_vis):
+ Make sure CompileExpr::visit is reached
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Likewise
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-block.h:
+ Scaffolding asm codegen
+ * 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/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise.
+ * checks/errors/privacy/rust-privacy-reporter.h: Likewise.
+ * hir/tree/rust-hir-expr.h: Likewise.
+ * hir/tree/rust-hir-visitor.h: Likewise.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise.
+ * typecheck/rust-hir-type-check-expr.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Fix parsing logic & reassignment logic
+ (parse_reg_operand_in): Fix parsing
+ (parse_reg_operand_out): Fix parsing
+ (parse_reg_operand_inout): Fix parsing
+ (parse_reg_operand_unexpected): Remove rust_unreachable()
+ (parse_asm_arg): Fix parsing logic
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check.h:
+ Add pop guard for binder
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * resolve/rust-ast-resolve.cc (NameResolution::go):
+ Fix warnings from const auto& to const auto
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * lex/rust-lex.cc (Lexer::build_token): Emit error code.
+ * lex/rust-lex.h: Fix comment.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * hir/tree/rust-hir.cc (Item::item_kind_string): New function.
+ * hir/tree/rust-hir.h: New function.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Modify to check all arms in match expressions even if some of them
+ has errors.
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Add and fix check for path patterns.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Add check for union patterns.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/rust-feature.cc (Feature::create): Reuse variable,
+ remove now optional parameters from constructor.
+ * checks/errors/rust-feature.h: Cleanup class definition.
+ * checks/errors/rust-feature-gate.cc (FeatureGate::gate): Use optional.
+ * checks/errors/rust-feature-gate.h: Cleanup visitor implementation.
+ * checks/errors/borrowck/ffi-polonius/Cargo.lock: New file.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/rust-feature-gate.cc (FeatureGate::visit): Add base
+ feature gating for `#[feature(prelude_import)]`.
+ * checks/errors/rust-feature-gate.h: Likewise.
+ * checks/errors/rust-feature.cc (Feature::create): Likewise.
+ * checks/errors/rust-feature.h: Likewise.
+ * util/rust-attribute-values.h: Add base handling for `#[prelude_import]`
+ attribute.
+ * util/rust-attributes.cc: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-ast-full-decls.h (struct InlineAsmOperand):
+ Change to class
+ (class InlineAsmOperand): Change from struct
+ * hir/tree/rust-hir-full-decls.h (struct InlineAsmRegOrRegClass):
+ Removed from decl, used from AST
+ (struct AnonConst): new decl from rust-hir-expr.h
+ (class InlineAsmOperand): new decl from rust-hir-expr.h
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-full-decls.h (class PathPattern): Rename PathPattern to...
+ (class Path): ...Path
+ * ast/rust-ast-collector.cc (TokenCollector::visit): Add required methods
+ for LangItemPath and RegularPath.
+ * ast/rust-ast-collector.h: Likewise.
+ * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Likewise.
+ * ast/rust-ast-visitor.h: Likewise.
+ * ast/rust-path.cc (PathPattern::as_string): Likewise.
+ (RegularPath::as_string): Likewise.
+ (LangItemPath::as_string): Likewise.
+ (PathPattern::convert_to_simple_path): Likewise.
+ (RegularPath::convert_to_simple_path): Likewise.
+ (RegularPath::accept_vis): Likewise.
+ (LangItemPath::accept_vis): Likewise.
+ (PathInExpression::as_string): Likewise.
+ (QualifiedPathInExpression::as_string): Likewise.
+ * ast/rust-path.h (class PathPattern): Likewise.
+ (class Path): Likewise.
+ (class RegularPath): Likewise.
+ (class LangItemPath): Likewise.
+ (class PathInExpression): Likewise.
+ (class QualifiedPathInExpression): Likewise.
+ * ast/rust-pattern.h (class PathPattern): Likewise.
+ (class Path): Likewise.
+ * expand/rust-derive.h: Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise.
+ * hir/rust-ast-lower-base.h: Likewise.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Likewise.
+ * resolve/rust-ast-resolve-base.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast.h (class PathExpr): Remove class.
+ * ast/rust-path.h (class PathInExpression): Inherit from ExprWithoutBlock.
+ (class QualifiedPathInExpression): Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-path.h (class PathInExpression): Remove `remove_all_segments`
+ method, add a `marked_for_strip` flag instead.
+
+2025-03-19 Muhammad Mahad <mahadtxt@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Add error code and update error message
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_move_errors): Specify
+ locations for code causing errors and related moves.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_subset_errors): Highlight
+ lifetime locations while reporting subset errors.
+ (BorrowCheckerDiagnostics::get_lifetime_param): Helper function
+ to fetch HIR::Lifetime node from Polonius::Origin.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.h:
+ Definition of helper function.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder.h: Map regions to
+ their respective HIR nodes.
+ * checks/errors/borrowck/rust-bir.h (struct Function):
+ Add unordered_map to maintain the mapping.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * typecheck/rust-hir-type-check-pattern.cc:
+ Emit E0532 when trying to reference a Tuple or Struct variant
+ using a non Tuple or Struct pattern.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * expand/rust-expand-visitor.h:
+ remove auto keyword
+ * expand/rust-macro-builtins-helpers.cc:
+ allow for changing macro invoc types on eager expansions to
+ semicoloned macros
+ * expand/rust-macro-builtins-helpers.h:
+ add default semicoloned argument
+ * expand/rust-macro-builtins-include.cc:
+ allow for eager expansion for include and include_bytes
+ allow for parsing include invocations as items instead of
+ expressions, which allows invocations at global scope
+ * expand/rust-macro-expand.cc:
+ push Expr type for eager invocations
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h:
+ Use `make_*` functions to create BIR::Statements.
+ * checks/errors/borrowck/rust-bir.h: Make a complete constructor
+ and introduce `make_*` functions to create various
+ BIR::Statements.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_loan_errors): Add label to
+ where the borrow occurs and where the invalid access occurs.
+ (BorrowCheckerDiagnostics::get_statement):
+ Fetch BIR::Statement from Polonius::Point
+ (BorrowCheckerDiagnostics::get_loan):
+ Fetch BIR::Loan from Polonius::Loan
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.h:
+ Function definition of helpers.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Add location parameter.
+ * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Add helper
+ function for pushing return statements.
+ * checks/errors/borrowck/rust-bir.h: Remove `expr` parameter as
+ it is only needed for ASSIGNMENT statements, for which we
+ already have a constructor.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit):
+ Implement resolve expr for inline asm ast
+ (translate_operand): Likewise.
+ * resolve/rust-ast-resolve-expr.h: Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h:
+ Fill location for loan.
+ * checks/errors/borrowck/rust-bir-place.h (struct Loan):
+ Add location field.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::visit): Added location parameter.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: 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.h: Likewise.
+ * checks/errors/borrowck/rust-bir.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * hir/rust-ast-lower-expr.cc (translate_operand_in):
+ Turn to switch case, use new helper functions
+ (translate_operand_out): Likewise.
+ (translate_operand_inout): Likewise.
+ (translate_operand_split_in_out): Likewise.
+ (translate_operand_const): Likewise.
+ (translate_operand_sym): Likewise.
+ (translate_operand_label): Likewise.
+ (from_operand): Likewise.
+ (ASTLoweringExpr::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * hir/rust-ast-lower-expr.cc (from_operand):
+ Set up the lowering for operand
+ (ASTLoweringExpr::visit): Likewise
+ * hir/tree/rust-hir-expr.h (struct InlineAsmRegOrRegClass):
+ Not necessary, kept from ast
+ (struct AnonConst): Set up lowering for operand
+ (class InlineAsmOperand): Likewise, add getters
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/polonius/rust-polonius.h (struct FullPoint):
+ Added comments and made extraction of statement more verbose for
+ better understanding.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-expr.h (struct InlineAsmOperand): changed to class
+ (class InlineAsmOperand): Have appropriate constructor,
+ and getter
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Use the new implement constructors and new control flow.
+ (parse_reg_operand_in): Likewise
+ (parse_reg_operand_out): Likewise
+ (parse_reg_operand_inout): Likewise
+ (parse_reg_operand_const): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-expr.h (struct InlineAsmOperand):
+ Add construction for register_type
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Fix parsing logic & reassignment logic
+ (parse_reg_operand_in): Fix parsing
+ (parse_reg_operand_out): Fix parsing
+ (parse_reg_operand_inout): Fix parsing
+ (parse_reg_operand_unexpected): Remove rust_unreachable()
+ (parse_asm_arg): Fix parsing logic
+ * expand/rust-macro-builtins-asm.h: Add = operator overloading
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/polonius/rust-polonius.h (struct FullPoint):
+ This is the correct way of extracting the required bits.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/borrowck/ffi-polonius/src/gccrs_ffi.rs: Remove extern
+ type feature.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: Define FFIVector
+ per the nomicon's recommendation
+ https://doc.rust-lang.org/nomicon/ffi.html#representing-opaque-structs
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * ast/rust-ast.cc:
+ Fix Attribute constructors to copy inner_attribute
+ * checks/errors/rust-unsafe-checker.cc:
+ Add pass for #[may_dangle] in safe impl's
+ * hir/rust-ast-lower-item.cc:
+ Add support for unsafe impl's
+ * hir/rust-ast-lower-type.cc:
+ Lower attributes in impl's from AST to HIR
+ * hir/rust-hir-dump.cc:
+ Change single attribute to AttrVec
+ * hir/tree/rust-hir-item.h:
+ Add unsafe support to Impl blocks in HIR
+ * hir/tree/rust-hir.cc:
+ Change single attribute to AttrVec
+ * hir/tree/rust-hir.h:
+ Add has/get_outer_attribute to GenericParam
+
+2025-03-19 Antonio Gomes <antoniospg100@gmail.com>
+
+ * expand/rust-cfg-strip.cc:
+ Strip struct expr fields and strip fields in struct definition
+ * expand/rust-cfg-strip.h:
+ Signatures for new function maybe_strip_struct_expr_fields
+
2025-03-18 Marc Poulhiès <dkm@kataplop.net>
PR rust/119333
+2025-03-19 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/116706
+ * gfortran.dg/bounds_check_27.f90: New test.
+
+2025-03-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/119316
+ * g++.dg/abi/mangle-new1.C: New test.
+
+2025-03-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/119366
+ * gcc.dg/Wfatal-bad-attr-pr119366.c: New test.
+
+2025-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/119350
+ * gcc.dg/pr119350-1.c: New test.
+ * gcc.dg/pr119350-2.c: New test.
+ * gcc.dg/pr119350-3.c: New test.
+
+2025-03-19 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/113634
+ * gcc.dg/Wfree-nonheap-object-7.c: Adjust calloc and realloc
+ declarations, remove -std=gnu17.
+
+2025-03-19 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * gcc.target/s390/zvector/autovec-double-signaling-eq-z13.c:
+ Honour sNaNs.
+
+2025-03-19 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * gcc.target/s390/vector/vcond-shift.c: Adapt to new match.pd
+ rule and change scan-assembler-times for shifts.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove issue-1089.rs.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_parse_operand.rs:
+ Remove inout, functionality not supported. Remove redundant {}
+ * rust/execute/torture/inline_asm_mov_x_5_ARM.rs: Add operand in
+ * rust/execute/torture/inline_asm_mov_x_5_x86_64.rs: Likewise
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove
+ inline_asm_parse_output_operand.rs.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove type-alias1.rs.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove shadow1.rs.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 cant handle this
+ * rust/compile/issue-2499.rs: New test.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude:
+ * rust/compile/issue-2203.rs: New test.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 is crashing here
+ * rust/compile/issue-2951.rs: New test.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 cant handle this
+ * rust/compile/issue-3036.rs: New test.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/issue-3139-1.rs: New test.
+ * rust/compile/issue-3139-2.rs: New test.
+ * rust/compile/issue-3139-3.rs: New test.
+ * rust/compile/nr2/exclude: these all break nr2
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/nr2/exclude: Remove cast_generics.rs, issue-1131.rs,
+ issue-1383.rs and unsafe10.rs
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/box_syntax_feature_gate.rs: Add box land item
+ definition.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/functions_without_body.rs: Add compile step argument.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/nr2/exclude: Remove working tests from nr2 exclude list.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/name_resolution21.rs: Move to...
+ * rust/compile/xfail/name_resolution21.rs: ...here.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 cant handle this
+ * rust/compile/issue-3082.rs: New test.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 cant handle this
+ * rust/compile/issue-3035.rs: New test.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/exclude: Remove entries.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * rust/compile/nr2/exclude: nr2 cant handle this
+ * rust/compile/issue-3030.rs: New test.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/nr2/compile.exp: New test.
+ * rust/compile/nr2/exclude: New.
+
+2025-03-19 JoanVC <github-91yu@joanvc.cat>
+
+ * rust/compile/issue-3141.rs: New test.
+
+2025-03-19 benjamin.thos <benjamin.thos@epita.fr>
+
+ * rust/compile/auto_trait_super_trait.rs: Add feature attribute.
+ * rust/compile/generic_auto_trait.rs: likewise.
+ * rust/compile/auto_trait.rs: add test for error without
+ feature attribute
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * rust/compile/exhaustiveness1.rs: New test.
+ * rust/compile/exhaustiveness2.rs: New test.
+ * rust/compile/exhaustiveness3.rs: New test.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * rust/compile/trait13.rs:
+ Add test for supertraits of supertraits
+ * rust/compile/trait14.rs:
+ Diamond problem with supertraits test
+ * rust/execute/torture/trait14.rs:
+ Add test for dynamic dispatch with supertraits
+ * rust/execute/torture/trait15.rs:
+ Add test for dynamic dispatch with generics
+ * rust/execute/torture/trait16.rs:
+ Add test for dynamic dispatch with lifetime params 1
+ * rust/execute/torture/trait17.rs:
+ Add test for dynamic dispatch with lifetime params 2
+ * rust/execute/torture/trait18.rs:
+ Add test for default implementations with dynamic dispatch and
+ supertraits
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * rust/compile/v0-mangle1.rs: Make v0-mangle test more crate_num
+ agnostic.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/execute/torture/inline_asm_mov_x_5.rs: Move to...
+ * rust/execute/torture/inline_asm_mov_x_5_ARM.rs: ...here.
+ * rust/execute/torture/inline_asm_mov_x_5_x86_64.rs: New test.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_typecheck.rs: Change comments
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/execute/inline_asm_mov_x_5.rs: Move to...
+ * rust/execute/torture/inline_asm_mov_x_5.rs: ...here.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_parse_operand.rs: Fix format asm
+ * rust/compile/inline_asm_parse_output_operand.rs:
+ Fix format asm
+ * rust/execute/torture/inline_asm_mov_x_5.rs: Move to...
+ * rust/execute/inline_asm_mov_x_5.rs: ...here.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_typecheck.rs: New test.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/execute/torture/inline_asm_mov_x_5.rs: New test.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_parse_output_operand.rs: New test.
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_compile_nop.rs: New test.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * rust/compile/issue-2324-2.rs: Fix error message.
+ * rust/compile/match9.rs: New test.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * rust/compile/match8.rs: New test.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/assume.rs: Add missing feature attribute.
+ * rust/compile/issue-1901.rs: Likewise.
+ * rust/compile/issue-1981.rs: Likewise.
+ * rust/compile/sizeof-stray-infer-var-bug.rs: Likewise.
+ * rust/compile/torture/intrinsics-8.rs: Likewise.
+ * rust/compile/torture/transmute-size-check-1.rs: Likewise.
+ * rust/compile/torture/transmute1.rs: Likewise.
+ * rust/compile/torture/uninit-intrinsic-1.rs: Likewise.
+ * rust/execute/torture/issue-1436.rs: Likewise.
+ * rust/execute/torture/issue-2583.rs: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/prelude_import.rs: New test.
+
+2025-03-19 Muhammad Mahad <mahadtxt@gmail.com>
+
+ * rust/compile/nonexistent-field.rs: New test.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * rust/borrowck/test_move.rs: Test rich-errors related to moves.
+ * rust/borrowck/test_move_conditional.rs: Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * rust/borrowck/subset.rs: Better subset errors.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * rust/borrowck/test_move.rs: Assigning `a` to `c` is the
+ correct way to test the behaviour.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * rust/compile/issue-2324-1.rs:
+ add test for E0532 with tuple enum variant
+ * rust/compile/issue-2324-2.rs:
+ add test for E0532 with struct enum variant
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * rust/compile/macros/builtin/include1.rs:
+ add basic include test at global scope
+ * rust/compile/macros/builtin/include2.rs:
+ add basic include test at local scope with expression
+ * rust/compile/macros/builtin/include3.rs:
+ add eager expansion test at global scope
+ * rust/compile/macros/builtin/include4.rs:
+ add eager expansion test at local scope with expression
+ * rust/compile/macros/builtin/include_bytes.rs:
+ add eager expansion test at global scope
+ * rust/compile/macros/builtin/include_rs:
+ supporting test file with dummy function
+ * rust/compile/macros/builtin/include_rs2:
+ supporting test file with dummy string
+ * rust/compile/macros/builtin/include_str.rs:
+ add eager expansion test at global scope
+ * rust/execute/torture/builtin_macro_include_bytes.rs:
+ clean up old test logic, add permutations for eager expansion
+ * rust/execute/torture/builtin_macro_include_str.rs:
+ add eager expansion permutations
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * rust/borrowck/reference.rs: Test rich errors for
+ borrow-checker.
+ * rust/borrowck/return_ref_to_local.rs: Likewise.
+ * rust/borrowck/tmp.rs: Likewise.
+ * rust/borrowck/use_while_mut.rs: Likewise.
+ * rust/borrowck/use_while_mut_fr.rs: Likewise.
+ * rust/borrowck/well_formed_function_inputs.rs: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * rust/compile/inline_asm_illegal_operands.rs: Test now passing
+ * rust/compile/inline_asm_parse_operand.rs: Remove _, not
+ supported right now
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/macro-delim.rs: Move to...
+ * rust/compile/macros/mbe/macro-delim.rs: ...here.
+ * rust/compile/macro-issue1053-2.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1053-2.rs: ...here.
+ * rust/compile/macro-issue1053.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1053.rs: ...here.
+ * rust/compile/macro-issue1224.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1224.rs: ...here.
+ * rust/compile/macro-issue1233.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1233.rs: ...here.
+ * rust/compile/macro-issue1395-2.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1395-2.rs: ...here.
+ * rust/compile/macro-issue1395.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1395.rs: ...here.
+ * rust/compile/macro-issue1400-2.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1400-2.rs: ...here.
+ * rust/compile/macro-issue1400.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue1400.rs: ...here.
+ * rust/compile/macro-issue2092.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2092.rs: ...here.
+ * rust/compile/macro-issue2192.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2192.rs: ...here.
+ * rust/compile/macro-issue2194.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2194.rs: ...here.
+ * rust/compile/macro-issue2229.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2229.rs: ...here.
+ * rust/compile/macro-issue2264.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2264.rs: ...here.
+ * rust/compile/macro-issue2268.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2268.rs: ...here.
+ * rust/compile/macro-issue2273.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2273.rs: ...here.
+ * rust/compile/macro-issue2653.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2653.rs: ...here.
+ * rust/compile/macro-issue2983_2984.rs: Move to...
+ * rust/compile/macros/mbe/macro-issue2983_2984.rs: ...here.
+ * rust/compile/macro1.rs: Move to...
+ * rust/compile/macros/mbe/macro1.rs: ...here.
+ * rust/compile/macro10.rs: Move to...
+ * rust/compile/macros/mbe/macro10.rs: ...here.
+ * rust/compile/macro11.rs: Move to...
+ * rust/compile/macros/mbe/macro11.rs: ...here.
+ * rust/compile/macro12.rs: Move to...
+ * rust/compile/macros/mbe/macro12.rs: ...here.
+ * rust/compile/macro13.rs: Move to...
+ * rust/compile/macros/mbe/macro13.rs: ...here.
+ * rust/compile/macro14.rs: Move to...
+ * rust/compile/macros/mbe/macro14.rs: ...here.
+ * rust/compile/macro15.rs: Move to...
+ * rust/compile/macros/mbe/macro15.rs: ...here.
+ * rust/compile/macro16.rs: Move to...
+ * rust/compile/macros/mbe/macro16.rs: ...here.
+ * rust/compile/macro17.rs: Move to...
+ * rust/compile/macros/mbe/macro17.rs: ...here.
+ * rust/compile/macro18.rs: Move to...
+ * rust/compile/macros/mbe/macro18.rs: ...here.
+ * rust/compile/macro19.rs: Move to...
+ * rust/compile/macros/mbe/macro19.rs: ...here.
+ * rust/compile/macro2.rs: Move to...
+ * rust/compile/macros/mbe/macro2.rs: ...here.
+ * rust/compile/macro20.rs: Move to...
+ * rust/compile/macros/mbe/macro20.rs: ...here.
+ * rust/compile/macro21.rs: Move to...
+ * rust/compile/macros/mbe/macro21.rs: ...here.
+ * rust/compile/macro22.rs: Move to...
+ * rust/compile/macros/mbe/macro22.rs: ...here.
+ * rust/compile/macro23.rs: Move to...
+ * rust/compile/macros/mbe/macro23.rs: ...here.
+ * rust/compile/macro25.rs: Move to...
+ * rust/compile/macros/mbe/macro25.rs: ...here.
+ * rust/compile/macro26.rs: Move to...
+ * rust/compile/macros/mbe/macro26.rs: ...here.
+ * rust/compile/macro27.rs: Move to...
+ * rust/compile/macros/mbe/macro27.rs: ...here.
+ * rust/compile/macro28.rs: Move to...
+ * rust/compile/macros/mbe/macro28.rs: ...here.
+ * rust/compile/macro29.rs: Move to...
+ * rust/compile/macros/mbe/macro29.rs: ...here.
+ * rust/compile/macro3.rs: Move to...
+ * rust/compile/macros/mbe/macro3.rs: ...here.
+ * rust/compile/macro30.rs: Move to...
+ * rust/compile/macros/mbe/macro30.rs: ...here.
+ * rust/compile/macro31.rs: Move to...
+ * rust/compile/macros/mbe/macro31.rs: ...here.
+ * rust/compile/macro32.rs: Move to...
+ * rust/compile/macros/mbe/macro32.rs: ...here.
+ * rust/compile/macro33.rs: Move to...
+ * rust/compile/macros/mbe/macro33.rs: ...here.
+ * rust/compile/macro34.rs: Move to...
+ * rust/compile/macros/mbe/macro34.rs: ...here.
+ * rust/compile/macro35.rs: Move to...
+ * rust/compile/macros/mbe/macro35.rs: ...here.
+ * rust/compile/macro36.rs: Move to...
+ * rust/compile/macros/mbe/macro36.rs: ...here.
+ * rust/compile/macro37.rs: Move to...
+ * rust/compile/macros/mbe/macro37.rs: ...here.
+ * rust/compile/macro38.rs: Move to...
+ * rust/compile/macros/mbe/macro38.rs: ...here.
+ * rust/compile/macro39.rs: Move to...
+ * rust/compile/macros/mbe/macro39.rs: ...here.
+ * rust/compile/macro4.rs: Move to...
+ * rust/compile/macros/mbe/macro4.rs: ...here.
+ * rust/compile/macro40.rs: Move to...
+ * rust/compile/macros/mbe/macro40.rs: ...here.
+ * rust/compile/macro41.rs: Move to...
+ * rust/compile/macros/mbe/macro41.rs: ...here.
+ * rust/compile/macro42.rs: Move to...
+ * rust/compile/macros/mbe/macro42.rs: ...here.
+ * rust/compile/macro43.rs: Move to...
+ * rust/compile/macros/mbe/macro43.rs: ...here.
+ * rust/compile/macro44.rs: Move to...
+ * rust/compile/macros/mbe/macro44.rs: ...here.
+ * rust/compile/macro45.rs: Move to...
+ * rust/compile/macros/mbe/macro45.rs: ...here.
+ * rust/compile/macro46.rs: Move to...
+ * rust/compile/macros/mbe/macro46.rs: ...here.
+ * rust/compile/macro47.rs: Move to...
+ * rust/compile/macros/mbe/macro47.rs: ...here.
+ * rust/compile/macro48.rs: Move to...
+ * rust/compile/macros/mbe/macro48.rs: ...here.
+ * rust/compile/macro49.rs: Move to...
+ * rust/compile/macros/mbe/macro49.rs: ...here.
+ * rust/compile/macro5.rs: Move to...
+ * rust/compile/macros/mbe/macro5.rs: ...here.
+ * rust/compile/macro50.rs: Move to...
+ * rust/compile/macros/mbe/macro50.rs: ...here.
+ * rust/compile/macro51.rs: Move to...
+ * rust/compile/macros/mbe/macro51.rs: ...here.
+ * rust/compile/macro52.rs: Move to...
+ * rust/compile/macros/mbe/macro52.rs: ...here.
+ * rust/compile/macro53.rs: Move to...
+ * rust/compile/macros/mbe/macro53.rs: ...here.
+ * rust/compile/macro54.rs: Move to...
+ * rust/compile/macros/mbe/macro54.rs: ...here.
+ * rust/compile/macro55.rs: Move to...
+ * rust/compile/macros/mbe/macro55.rs: ...here.
+ * rust/compile/macro56.rs: Move to...
+ * rust/compile/macros/mbe/macro56.rs: ...here.
+ * rust/compile/macro57.rs: Move to...
+ * rust/compile/macros/mbe/macro57.rs: ...here.
+ * rust/compile/macro6.rs: Move to...
+ * rust/compile/macros/mbe/macro6.rs: ...here.
+ * rust/compile/macro7.rs: Move to...
+ * rust/compile/macros/mbe/macro7.rs: ...here.
+ * rust/compile/macro8.rs: Move to...
+ * rust/compile/macros/mbe/macro8.rs: ...here.
+ * rust/compile/macro9.rs: Move to...
+ * rust/compile/macros/mbe/macro9.rs: ...here.
+ * rust/compile/macro_call_statement.rs: Move to...
+ * rust/compile/macros/mbe/macro_call_statement.rs: ...here.
+ * rust/compile/macro_export_1.rs: Move to...
+ * rust/compile/macros/mbe/macro_export_1.rs: ...here.
+ * rust/compile/macro_return.rs: Move to...
+ * rust/compile/macros/mbe/macro_return.rs: ...here.
+ * rust/compile/macro_rules_macro_rules.rs: Move to...
+ * rust/compile/macros/mbe/macro_rules_macro_rules.rs: ...here.
+ * rust/compile/macro_use1.rs: Move to...
+ * rust/compile/macros/mbe/macro_use1.rs: ...here.
+ * rust/compile/macros/mbe/mbe_macro.exp: New test.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/builtin_macro_compile_error.rs: Move to...
+ * rust/compile/macros/builtin/compile_error.rs: ...here.
+ * rust/compile/builtin_macro_concat.rs: Move to...
+ * rust/compile/macros/builtin/concat.rs: ...here.
+ * rust/compile/builtin_macro_eager1.rs: Move to...
+ * rust/compile/macros/builtin/eager1.rs: ...here.
+ * rust/compile/builtin_macro_eager2.rs: Move to...
+ * rust/compile/macros/builtin/eager2.rs: ...here.
+ * rust/compile/builtin_macro_eager3.rs: Move to...
+ * rust/compile/macros/builtin/eager3.rs: ...here.
+ * rust/compile/builtin_macro_env.rs: Move to...
+ * rust/compile/macros/builtin/env.rs: ...here.
+ * rust/compile/builtin_macro_include_bytes.rs: Move to...
+ * rust/compile/macros/builtin/include_bytes.rs: ...here.
+ * rust/compile/builtin_macro_include_bytes_location_info.rs: Move to...
+ * rust/compile/macros/builtin/include_bytes_location_info.rs: ...here.
+ * rust/compile/builtin_macro_include_str.rs: Move to...
+ * rust/compile/macros/builtin/include_str.rs: ...here.
+ * rust/compile/builtin_macro_include_str_location_info.rs: Move to...
+ * rust/compile/macros/builtin/include_str_location_info.rs: ...here.
+ * rust/compile/builtin_macro_not_found.rs: Move to...
+ * rust/compile/macros/builtin/not_found.rs: ...here.
+ * rust/compile/builtin_macro_recurse2.rs: Move to...
+ * rust/compile/macros/builtin/recurse2.rs: ...here.
+ * rust/compile/macros/builtin/builtin_macro.exp: New test.
+ * rust/compile/invalid_utf8: Move invalid-utf8 data to...
+ * rust/compile/macros/builtin/invalid_utf8: ...here.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust/compile/macros/proc/proc_macro.exp: New deja gnu file to execute
+ proc-macro tests.
+ * rust/compile/proc_macro_attribute_crate_type.rs: Move to...
+ * rust/compile/macros/proc/attribute_crate_type.rs: ...here.
+ * rust/compile/proc_macro_attribute_non_function.rs: Move to...
+ * rust/compile/macros/proc/attribute_non_function.rs: ...here.
+ * rust/compile/proc_macro_attribute_non_root_function.rs: Move to...
+ * rust/compile/macros/proc/attribute_non_root_function.rs: ...here.
+ * rust/compile/proc_macro_attribute_non_root_method.rs: Move to...
+ * rust/compile/macros/proc/attribute_non_root_method.rs: ...here.
+ * rust/compile/proc_macro_attribute_non_root_module.rs: Move to...
+ * rust/compile/macros/proc/attribute_non_root_module.rs: ...here.
+ * rust/compile/proc_macro_attribute_private.rs: Move to...
+ * rust/compile/macros/proc/attribute_private.rs: ...here.
+ * rust/compile/proc_macro_crate_type.rs: Move to...
+ * rust/compile/macros/proc/crate_type.rs: ...here.
+ * rust/compile/proc_macro_derive_crate_type.rs: Move to...
+ * rust/compile/macros/proc/derive_crate_type.rs: ...here.
+ * rust/compile/proc_macro_derive_malformed.rs: Move to...
+ * rust/compile/macros/proc/derive_malformed.rs: ...here.
+ * rust/compile/proc_macro_derive_non_function.rs: Move to...
+ * rust/compile/macros/proc/derive_non_function.rs: ...here.
+ * rust/compile/proc_macro_derive_non_root_function.rs: Move to...
+ * rust/compile/macros/proc/derive_non_root_function.rs: ...here.
+ * rust/compile/proc_macro_derive_non_root_module.rs: Move to...
+ * rust/compile/macros/proc/derive_non_root_module.rs: ...here.
+ * rust/compile/proc_macro_derive_private.rs: Move to...
+ * rust/compile/macros/proc/derive_private.rs: ...here.
+ * rust/compile/proc_macro_non_function.rs: Move to...
+ * rust/compile/macros/proc/non_function.rs: ...here.
+ * rust/compile/proc_macro_non_root_function.rs: Move to...
+ * rust/compile/macros/proc/non_root_function.rs: ...here.
+ * rust/compile/proc_macro_non_root_method.rs: Move to...
+ * rust/compile/macros/proc/non_root_method.rs: ...here.
+ * rust/compile/proc_macro_non_root_module.rs: Move to...
+ * rust/compile/macros/proc/non_root_module.rs: ...here.
+ * rust/compile/proc_macro_derive_non_root_method.rs: Move to...
+ * rust/compile/macros/proc/non_root_trait_method.rs: ...here.
+ * rust/compile/proc_macro_private.rs: Move to...
+ * rust/compile/macros/proc/private.rs: ...here.
+ * rust/compile/proc_macro_pub_function.rs: Move to...
+ * rust/compile/macros/proc/pub_function.rs: ...here.
+ * rust/compile/proc_macro_pub_module.rs: Move to...
+ * rust/compile/macros/proc/pub_module.rs: ...here.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * rust/compile/issue-3045-1.rs:
+ Add test for #[may_dangle] Generic Type triggering error
+ * rust/compile/issue-3045-2.rs:
+ Add test for #[may_dangle] Lifetime triggering error
+
+2025-03-19 Muhammad Mahad <mahadtxt@gmail.com>
+
+ * rust/rustc/README.md: information about
+ rustc external directory.
+ * rust/rustc/rustc.exp: New test.
+
+2025-03-19 Antonio Gomes <antoniospg100@gmail.com>
+
+ * rust/compile/macro-issue2983_2984.rs:
+ Add test to check for correct stripped fields
+
+2025-03-19 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/119272
+ * gfortran.dg/associate_74.f90: New test.
+
+2025-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/119357
+ * gcc.target/i386/avx512vlbw-pr119357.c: New test.
+
+2025-03-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/119286
+ * gcc.dg/vect/bb-slp-41.c: Add pragma novector.
+ * gcc.dg/vect/vect-early-break_133_pfa11.c: Should never vectorize today
+ as indexes can be out of range.
+ * gcc.dg/vect/vect-early-break_128.c: Require load_lanes as well.
+ * gcc.dg/vect/vect-early-break_133_pfa10.c: Likewise.
+ * gcc.dg/vect/vect-early-break_133_pfa8.c: Likewise.
+ * gcc.dg/vect/vect-early-break_133_pfa9.c: Likewise.
+ * gcc.dg/vect/vect-early-break_22.c: Likewise.
+ * gcc.dg/vect/vect-early-break_26.c: Likewise.
+ * gcc.dg/vect/vect-early-break_43.c: Likewise.
+ * gcc.dg/vect/vect-early-break_44.c: Likewise.
+ * gcc.dg/vect/vect-early-break_6.c: Likewise.
+ * gcc.dg/vect/vect-early-break_56.c: Expect failures on group misalign.
+
+2025-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/pr: Remove.
+
+2025-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/118068
+ * g++.target/i386/pr118068.C: New test.
+
+2025-03-19 Martin Uecker <uecker@tugraz.at>
+
+ PR c/118765
+ * gcc.dg/pr118765.c: New test.
+
+2025-03-19 Martin Uecker <uecker@tugraz.at>
+
+ PR c/118061
+ * gcc.dg/pr118061.c: New test.
+
+2025-03-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/generic_inst14.adb: New test.
+ * gnat.dg/generic_inst14_pkg.ads: New helper.
+ * gnat.dg/generic_inst14_pkg-child.ads: Likewise.
+
+2025-03-19 Xi Ruoyao <xry111@xry111.site>
+
+ * gcc.target/loongarch/regname-float-abi.c: New test.
+
+2025-03-19 liuhongt <hongtao.liu@intel.com>
+
+ PR target/117069
+ * gcc.target/i386/apx-ndd-tls-1b.c: Add xfail.
+
2025-03-18 Marek Polacek <polacek@redhat.com>
PR c++/119344