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