https://gcc.gnu.org/g:c675c9dcb4eb006131f6a86d2e763a955c9b2fc8
commit r15-8456-gc675c9dcb4eb006131f6a86d2e763a955c9b2fc8 Author: GCC Administrator <gccadmin@gcc.gnu.org> Date: Thu Mar 20 00:20:10 2025 +0000 Daily bump. Diff: --- gcc/ChangeLog | 58 +++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 18 + gcc/c/ChangeLog | 19 + gcc/cp/ChangeLog | 23 + gcc/fortran/ChangeLog | 12 + gcc/po/ChangeLog | 4 + gcc/rust/ChangeLog | 1189 +++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 639 +++++++++++++++++++++++++ libstdc++-v3/ChangeLog | 66 +++ 10 files changed, 2029 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f50aff777ce..86389dd74f80 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,61 @@ +2025-03-19 Vladimir N. Makarov <vmaka...@redhat.com> + + PR target/119270 + * ira-costs.cc (calculate_equiv_gains): Ignore equiv init insns + only for invariants. + +2025-03-19 David Malcolm <dmalc...@redhat.com> + + PR c/119366 + * diagnostic-format-sarif.cc (test_message_with_embedded_link): + Convert diagnostic_context from one urlifier to a stack of + urlifiers, where each node in the stack tracks whether the + urlifier is owned or borrowed. + * diagnostic.cc (diagnostic_context::initialize): Likewise. + (diagnostic_context::finish): Likewise. + (diagnostic_context::set_urlifier): Delete. + (diagnostic_context::push_owned_urlifier): New. + (diagnostic_context::push_borrowed_urlifier): New. + (diagnostic_context::pop_urlifier): New. + (diagnostic_context::get_urlifier): Reimplement in terms of stack. + (diagnostic_context::override_urlifier): Delete. + * diagnostic.h (diagnostic_context::set_urlifier): Delete decl. + (diagnostic_context::override_urlifier): Delete decl. + (diagnostic_context::push_owned_urlifier): New decl. + (diagnostic_context::push_borrowed_urlifier): New decl. + (diagnostic_context::pop_urlifier): New decl. + (diagnostic_context::get_urlifier): Make return value const; hide + implementation. + (diagnostic_context::m_urlifier): Replace with... + (diagnostic_context::urlifier_stack_node): ... this and... + (diagnostic_context::m_urlifier_stack): ...this. + * gcc-urlifier.cc + (auto_override_urlifier::auto_override_urlifier): Reimplement. + (auto_override_urlifier::~auto_override_urlifier): Reimplement. + * gcc-urlifier.h (class auto_override_urlifier): Reimplement. + (auto_urlify_attributes::auto_urlify_attributes): Update for + pass-by-reference. + * gcc.cc (driver::global_initializations): Update for + reimplementation of urlifiers in terms of a stack. + * toplev.cc (general_init): Likewise. + +2025-03-19 Jakub Jelinek <ja...@redhat.com> + + PR target/119357 + * config/i386/sse.md (pmovmskb 0xffff to ptest splitter, + *pmovsk_ptest_<mode>_avx512): Force operands[0] into a REG. + +2025-03-19 Kyrylo Tkachov <ktkac...@nvidia.com> + + * config/aarch64/aarch64-arches.def (...): Add SVE2p1. + * doc/invoke.texi (AArch64 Options): Document +sve2p1 in + -march=armv9.4-a. + +2025-03-19 Xi Ruoyao <xry...@xry111.site> + + * config/loongarch/loongarch.h (ADDITIONAL_REGISTER_NAMES): Add + fa0-fa7, ft0-ft16, and fs0-fs7. + 2025-03-18 Georg-Johann Lay <a...@gjlay.de> PR target/119355 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 22523f5c82fe..b76e7dd64105 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250319 +20250320 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6be8962d195e..7f1295f27935 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,21 @@ +2025-03-19 Eric Botcazou <ebotca...@adacore.com> + + * gnatvsn.adb (Gnat_Free_Software): Fix message formatting. + +2025-03-19 Eric Botcazou <ebotca...@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: Set + the may_alias attribute if a specific GCC type is built. + +2025-03-19 Eric Botcazou <ebotca...@adacore.com> + + * gen_il-gen-gen_nodes.adb (N_Formal_Package_Declaration): Use + N_Declaration instead of Node_Kind as ancestor. + * sem_ch12.adb (Get_Formal_Entity): Remove obsolete alternative. + (Instantiate_Formal_Package): Take into account the abbreviated + instances in the main loop running over the actuals of the local + package created for the formal package. + 2025-02-04 Eric Botcazou <ebotca...@adacore.com> PR ada/118731 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index c2528f642078..8e5c4f740513 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,22 @@ +2025-03-19 Jakub Jelinek <ja...@redhat.com> + + PR c/119350 + * c-typeck.cc (pop_init_level): Don't ignore empty brackets for + flag_isoc23, still set constructor_type to NULL in that case but + emit a pedwarn_init in that case. + +2025-03-19 Martin Uecker <uec...@tugraz.at> + + PR c/118765 + * c-decl.cc (finish_struct,finish_enum): Swap direction when + copying TYPE_STRUB_DECL in redefinitions. + +2025-03-19 Martin Uecker <uec...@tugraz.at> + + PR c/118061 + * c-typeck.cc (tagged_types_tu_compatible_p): Handle + errors in types of struct members. + 2025-03-18 Jakub Jelinek <ja...@redhat.com> PR c/119311 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d59d2427f40a..6e35a7bd71e7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,26 @@ +2025-03-19 Jason Merrill <ja...@redhat.com> + + PR c++/119316 + * mangle.cc (write_expression) [NEW_EXPR]: Avoid using + compute_array_index_type. + (write_array_type): Add checking_assert. + +2025-03-19 Jakub Jelinek <ja...@redhat.com> + + PR target/118068 + * cp-gimplify.cc (cp_fold_immediate): Use cp_walk_tree rather than + cp_walk_tree_without_duplicates. + (cp_fold_immediate_r): For IF_STMT_CONSTEVAL_P IF_STMT don't walk + into THEN_CLAUSE subtree, only ELSE_CLAUSE. For non-call related + stmts call data->pset.add and if it returns true, don't walk subtrees. + (cp_fold_r): Don't call cp_fold_immediate_r here. + (cp_fold_function): For C++20 or later call cp_walk_tree + with cp_fold_immediate_r callback first before calling cp_walk_tree + with cp_fold_r callback and call data.pset.empty () in between. + (cp_fully_fold_init): Likewise. + (cp_genericize_r) <case RETURN_EXPR>: Suppress -Wreturn-type warning + if RETURN_EXPR has erroneous argument. + 2025-03-18 Marek Polacek <pola...@redhat.com> PR c++/119344 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a61e6f536cf3..db74f2c5a024 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,15 @@ +2025-03-19 Harald Anlauf <anl...@gmx.de> + + PR fortran/116706 + * trans-array.cc (gfc_is_reallocatable_lhs): Fix check on + allocatable components of derived type or class objects. + +2025-03-19 Andre Vehreschild <ve...@gcc.gnu.org> + + PR fortran/119272 + * resolve.cc (resolve_compcall): Postpone error report when + symbol is not resolved yet for component call resolve. + 2025-03-18 Harald Anlauf <anl...@gmx.de> PR fortran/119338 diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index cc60eacea87a..b1ca1818ad74 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,7 @@ +2025-03-19 Joseph Myers <josmy...@redhat.com> + + * fr.po: Update. + 2025-03-17 Joseph Myers <josmy...@redhat.com> * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index ba6430acfb93..b8717174124c 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,1192 @@ +2025-03-19 Owen Avery <powerboat9.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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 <tanghocle...@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 <tanghocle...@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.ga...@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.ga...@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.ga...@gmail.com> + + * ast/rust-ast-visitor.cc + (DefaultASTVisitor::visit): Visit fields of InlineAsm. + +2025-03-19 Owen Avery <powerboat9.ga...@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.ga...@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.ga...@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.ga...@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.ga...@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.phi...@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.phi...@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.phi...@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.pa...@embecosm.com> + + * rust-session-manager.cc (Session::expansion): Break on error after + top level name resolution. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@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.pa...@embecosm.com> + + * ast/rust-ast.h: Node id getter could be const. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@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.pa...@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.pa...@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.pa...@embecosm.com> + + * ast/rust-ast-visitor.h: Make visit functions public. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> + + * resolve/rust-finalize-imports-2.0.h: Add parent member functions + from default resolver. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> + + * resolve/rust-default-resolver.cc (DefaultResolver::visit): Use + default visitor instead. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@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.pa...@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.pa...@embecosm.com> + + * resolve/rust-default-resolver.h: Make most visit function override. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@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.pa...@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.co...@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.co...@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.co...@embecosm.com> + + * resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes): + Store errors for later. + +2025-03-19 Arthur Cohen <arthur.co...@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.co...@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.co...@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.co...@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.co...@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.co...@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.co...@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.co...@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.phi...@googlemail.com> + + * hir/rust-ast-lower-type.cc (ASTLowerQualifiedPathInType::visit): + check for valid as segment + +2025-03-19 Philip Herron <herron.phi...@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.ga...@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.ga...@gmail.com> + + * util/optional.h + (optional): Add assertions to dereference operator overloads + when C++14 is available. + +2025-03-19 Marc Poulhiès <d...@kataplop.net> + + * hir/rust-hir-dump.cc (Dump::visit): Add missing fields. + +2025-03-19 Philip Herron <herron.phi...@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.t...@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.pa...@embecosm.com> + + * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add optional + check. + +2025-03-19 JoanVC <github-9...@joanvc.cat> + + * backend/rust-compile-expr.cc + +2025-03-19 JoanVC <github-9...@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.co...@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.t...@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 <tamaron1...@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.nadd...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@gmail.com> + + * checks/errors/borrowck/rust-bir-place.h: Use strong types as + index. + +2025-03-19 Kushal Pal <kushalpal...@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 <kushalpal...@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 <kushalpal...@gmail.com> + + * checks/errors/borrowck/rust-bir-place.h: + Used `IndexVec` with ScopeId as index. + +2025-03-19 Kushal Pal <kushalpal...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@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.ga...@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.ga...@gmail.com> + + * util/rust-canonical-path.h + (CanonicalPath::CanonicalPath): Properly initialize crate_num + with copy constructor. + +2025-03-19 badumbatish <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@gmail.com> + + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): + Added noreturn checking for nevertype + +2025-03-19 badumbatish <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@gmail.com> + + * backend/rust-compile-asm.cc (CompileAsm::asm_construct_outputs): + Set up counting to check + +2025-03-19 badumbatish <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@gmail.com> + + * backend/rust-compile-expr.cc (CompileExpr::visit): + Local testing for build_string and debug() + +2025-03-19 jjasmine <tanghocle...@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 <tanghocle...@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 <tanghocle...@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 <tanghocle...@gmail.com> + + * typecheck/rust-hir-type-check.h: + Add pop guard for binder + +2025-03-19 badumbatish <tanghocle...@gmail.com> + + * resolve/rust-ast-resolve.cc (NameResolution::go): + Fix warnings from const auto& to const auto + +2025-03-19 Raiki Tamura <tamaron1...@gmail.com> + + * lex/rust-lex.cc (Lexer::build_token): Emit error code. + * lex/rust-lex.h: Fix comment. + +2025-03-19 Raiki Tamura <tamaron1...@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 <tamaron1...@gmail.com> + + * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): + Add check for union patterns. + +2025-03-19 Arthur Cohen <arthur.co...@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.co...@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 <tanghocle...@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.co...@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.co...@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.co...@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 <mahad...@gmail.com> + + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): + Add error code and update error message + +2025-03-19 Kushal Pal <kushalpal...@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 <kushalpal...@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 <kushalpal...@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.nadd...@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.nadd...@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 <kushalpal...@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 <kushalpal...@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 <kushalpal...@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 <tanghocle...@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 <kushalpal...@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 <kushalpal...@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 <tanghocle...@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 <tanghocle...@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 <kushalpal...@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 <tanghocle...@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 <tanghocle...@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 <kushalpal...@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.co...@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.nadd...@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 <antoniospg...@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 <d...@kataplop.net> PR rust/119333 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c6ccd46c2965..5cf9f3d3807e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,642 @@ +2025-03-19 Harald Anlauf <anl...@gmx.de> + + PR fortran/116706 + * gfortran.dg/bounds_check_27.f90: New test. + +2025-03-19 Jason Merrill <ja...@redhat.com> + + PR c++/119316 + * g++.dg/abi/mangle-new1.C: New test. + +2025-03-19 David Malcolm <dmalc...@redhat.com> + + PR c/119366 + * gcc.dg/Wfatal-bad-attr-pr119366.c: New test. + +2025-03-19 Jakub Jelinek <ja...@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 <rguent...@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 <stefa...@gcc.gnu.org> + + * gcc.target/s390/zvector/autovec-double-signaling-eq-z13.c: + Honour sNaNs. + +2025-03-19 Stefan Schulze Frielinghaus <stefa...@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.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove entries. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove issue-1089.rs. + +2025-03-19 badumbatish <tanghocle...@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.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove entries. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove + inline_asm_parse_output_operand.rs. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove entries. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove type-alias1.rs. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove entries. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove shadow1.rs. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 cant handle this + * rust/compile/issue-2499.rs: New test. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: + * rust/compile/issue-2203.rs: New test. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 is crashing here + * rust/compile/issue-2951.rs: New test. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 cant handle this + * rust/compile/issue-3036.rs: New test. + +2025-03-19 Philip Herron <herron.phi...@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.pa...@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.pa...@embecosm.com> + + * rust/compile/box_syntax_feature_gate.rs: Add box land item + definition. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> + + * rust/compile/functions_without_body.rs: Add compile step argument. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> + + * rust/compile/nr2/exclude: Remove working tests from nr2 exclude list. + +2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> + + * rust/compile/name_resolution21.rs: Move to... + * rust/compile/xfail/name_resolution21.rs: ...here. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 cant handle this + * rust/compile/issue-3082.rs: New test. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 cant handle this + * rust/compile/issue-3035.rs: New test. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/exclude: Remove entries. + +2025-03-19 Philip Herron <herron.phi...@googlemail.com> + + * rust/compile/nr2/exclude: nr2 cant handle this + * rust/compile/issue-3030.rs: New test. + +2025-03-19 Owen Avery <powerboat9.ga...@gmail.com> + + * rust/compile/nr2/compile.exp: New test. + * rust/compile/nr2/exclude: New. + +2025-03-19 JoanVC <github-9...@joanvc.cat> + + * rust/compile/issue-3141.rs: New test. + +2025-03-19 benjamin.thos <benjamin.t...@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 <tamaron1...@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.nadd...@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.ga...@gmail.com> + + * rust/compile/v0-mangle1.rs: Make v0-mangle test more crate_num + agnostic. + +2025-03-19 badumbatish <tanghocle...@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 <tanghocle...@gmail.com> + + * rust/compile/inline_asm_typecheck.rs: Change comments + +2025-03-19 badumbatish <tanghocle...@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 <tanghocle...@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 <tanghocle...@gmail.com> + + * rust/compile/inline_asm_typecheck.rs: New test. + +2025-03-19 badumbatish <tanghocle...@gmail.com> + + * rust/execute/torture/inline_asm_mov_x_5.rs: New test. + +2025-03-19 badumbatish <tanghocle...@gmail.com> + + * rust/compile/inline_asm_parse_output_operand.rs: New test. + +2025-03-19 jjasmine <tanghocle...@gmail.com> + + * rust/compile/inline_asm_compile_nop.rs: New test. + +2025-03-19 Raiki Tamura <tamaron1...@gmail.com> + + * rust/compile/issue-2324-2.rs: Fix error message. + * rust/compile/match9.rs: New test. + +2025-03-19 Raiki Tamura <tamaron1...@gmail.com> + + * rust/compile/match8.rs: New test. + +2025-03-19 Arthur Cohen <arthur.co...@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.co...@embecosm.com> + + * rust/compile/prelude_import.rs: New test. + +2025-03-19 Muhammad Mahad <mahad...@gmail.com> + + * rust/compile/nonexistent-field.rs: New test. + +2025-03-19 Kushal Pal <kushalpal...@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 <kushalpal...@gmail.com> + + * rust/borrowck/subset.rs: Better subset errors. + +2025-03-19 Kushal Pal <kushalpal...@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.nadd...@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.nadd...@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 <kushalpal...@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 <tanghocle...@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.pa...@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.pa...@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.pa...@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.nadd...@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 <mahad...@gmail.com> + + * rust/rustc/README.md: information about + rustc external directory. + * rust/rustc/rustc.exp: New test. + +2025-03-19 Antonio Gomes <antoniospg...@gmail.com> + + * rust/compile/macro-issue2983_2984.rs: + Add test to check for correct stripped fields + +2025-03-19 Andre Vehreschild <ve...@gcc.gnu.org> + + PR fortran/119272 + * gfortran.dg/associate_74.f90: New test. + +2025-03-19 Jakub Jelinek <ja...@redhat.com> + + PR target/119357 + * gcc.target/i386/avx512vlbw-pr119357.c: New test. + +2025-03-19 Tamar Christina <tamar.christ...@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 <ja...@redhat.com> + + * gcc.dg/pr: Remove. + +2025-03-19 Jakub Jelinek <ja...@redhat.com> + + PR target/118068 + * g++.target/i386/pr118068.C: New test. + +2025-03-19 Martin Uecker <uec...@tugraz.at> + + PR c/118765 + * gcc.dg/pr118765.c: New test. + +2025-03-19 Martin Uecker <uec...@tugraz.at> + + PR c/118061 + * gcc.dg/pr118061.c: New test. + +2025-03-19 Eric Botcazou <ebotca...@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 <xry...@xry111.site> + + * gcc.target/loongarch/regname-float-abi.c: New test. + +2025-03-19 liuhongt <hongtao....@intel.com> + + PR target/117069 + * gcc.target/i386/apx-ndd-tls-1b.c: Add xfail. + 2025-03-18 Marek Polacek <pola...@redhat.com> PR c++/119344 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 751872880d2e..add47e4703bf 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,69 @@ +2025-03-19 Jonathan Wakely <jwak...@redhat.com> + + * doc/xml/manual/test.xml: Fix default for -std option. + * doc/html/manual/test.html: Regenerate. + +2025-03-19 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/locale_facets_nonio.tcc (time_put::do_put): Fix + typo in comment. + +2025-03-19 François Dumont <frs.dum...@gmail.com> + + * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc: + Activate the template member tests involving __cpp_lib_ranges_to_container + support. + +2025-03-19 Jonathan Wakely <jwak...@redhat.com> + + * testsuite/20_util/stdbit/1.cc: Include <climits> instead of + <limits.h>. + +2025-03-19 Tomasz Kamiński <tkami...@redhat.com> + + * include/bits/ranges_base.h (__detail::__range_key_type): + Replace RV::first_type with tuple_element_t<0, RV>. + (__detail::__range_mapped_type) Replace RV::second_type + with tuple_element_t<1, RV>. + * testsuite/23_containers/flat_map/1.cc: New tests. + * testsuite/23_containers/flat_multimap/1.cc: New tests. + * testsuite/23_containers/map/cons/from_range.cc: New tests. + * testsuite/23_containers/multimap/cons/from_range.cc: New tests. + * testsuite/23_containers/unordered_map/cons/from_range.cc: New tests. + * testsuite/23_containers/unordered_multimap/cons/from_range.cc: + New tests. + +2025-03-19 Tomasz Kamiński <tkami...@redhat.com> + + * include/bits/unordered_map.h + (unordered_map(from_range_t, _Rg&&, const allocator_type&)) + (unordered_multimap(from_range_t, _Rg&&, const allocator_type&)): + Define. + * include/bits/unordered_set.h + (unordered_set(from_range_t, _Rg&&, const allocator_type&)) + (unordered_multiset(from_range_t, _Rg&&, const allocator_type&)): + Define. + * testsuite/23_containers/unordered_map/cons/from_range.cc: New tests. + New tests. + * testsuite/23_containers/unordered_multimap/cons/from_range.cc: + New tests. + * testsuite/23_containers/unordered_multiset/cons/from_range.cc: + New tests. + * testsuite/23_containers/unordered_set/cons/from_range.cc: New tests. + * testsuite/std/ranges/conv/1.cc: New tests. + +2025-03-19 Tomasz Kamiński <tkami...@redhat.com> + + PR libstdc++/119358 + * include/bits/unordered_map.h (unordered_multimap::insert_range): + Cast ranges::distance to size_type before passing to _M_rehash_insert. + * include/bits/unordered_set.h (unordered_multiset::insert_range): + Same as unordered_multimap::insert_range. + * testsuite/23_containers/unordered_multimap/cons/from_range.cc: + New tests. + * testsuite/23_containers/unordered_multiset/cons/from_range.cc: + New tests. + 2025-03-18 Tomasz Kamiński <tkami...@redhat.com> PR libstdc++/111055