diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2025-03-20 00:20:10 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2025-03-20 00:20:10 +0000 |
commit | c675c9dcb4eb006131f6a86d2e763a955c9b2fc8 (patch) | |
tree | e700eac10527850ba75f14c42afff79b96bf2ab2 /gcc/rust | |
parent | b93e60e7901526d7df2d8c0f5e0e46c57e8e3771 (diff) | |
download | gcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.zip gcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.tar.gz gcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/ChangeLog | 1189 |
1 files changed, 1189 insertions, 0 deletions
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index ba6430a..b871717 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,1192 @@ +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 |