From c3bf22d918021d97ee929d7f0bf18693b08a24e1 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Wed, 22 Feb 2023 00:18:49 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 44 +++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 17 + gcc/d/ChangeLog | 20 + gcc/fortran/ChangeLog | 9 + gcc/rust/ChangeLog | 839 ++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 168 ++++++++ libphobos/ChangeLog | 30 ++ 8 files changed, 1128 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ab2938388a..4363149898e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,47 @@ +2023-02-21 David Malcolm + + PR analyzer/108830 + * doc/invoke.texi: Document -fno-analyzer-suppress-followups. + +2023-02-21 Max Filippov + + PR target/108876 + * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use + for A0_REG. + * config/xtensa/xtensa.md (sibcall, sibcall_internal) + (sibcall_value, sibcall_value_internal): Add 'use' expression + for A0_REG. + +2023-02-21 Richard Biener + + PR tree-optimization/108691 + * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Remove + assert about calls_setjmp not becoming true when it was false. + +2023-02-21 Richard Biener + + PR tree-optimization/108793 + * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): + Use convert operands to niter_type when computing num. + +2023-02-21 Richard Biener + + Revert: + 2023-02-13 Richard Biener + + PR tree-optimization/108691 + * tree-cfg.cc (notice_special_calls): When the CFG is built + honor gimple_call_ctrl_altering_p. + * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp + temporarily if the call is not control-altering. + * calls.cc (emit_call_1): Do not add REG_SETJMP if + cfun->calls_setjmp is not set. Do not alter cfun->calls_setjmp. + +2023-02-21 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return + true if register A0 (return address register) when -Og is specified. + 2023-02-20 Uroš Bizjak * config/i386/predicates.md diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 6d7db2787db..e7a86509777 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20230221 +20230222 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 15a3de715fb..000360c31df 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,20 @@ +2023-02-21 David Malcolm + + PR analyzer/108830 + * analyzer.opt (fanalyzer-suppress-followups): New option. + * engine.cc (impl_region_model_context::warn): Terminate the path + if the diagnostic's terminate_path_p vfunc returns true and + -fanalyzer-suppress-followups is true (the default). + (impl_sm_context::warn): Likewise, for both overloads. + * pending-diagnostic.h (pending_diagnostic::terminate_path_p): New + vfunc. + * program-state.cc (program_state::on_edge): Terminate the path if + the ctxt requests it during updating the edge. + * region-model.cc (poisoned_value_diagnostic::terminate_path_p): + New vfunc. + * sm-malloc.cc (null_deref::terminate_path_p): New vfunc. + (null_arg::terminate_path_p): New vfunc. + 2023-02-16 David Malcolm PR analyzer/108806 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 3a06f4554eb..bac136694c8 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,23 @@ +2023-02-21 Iain Buclaw + + * Make-lang.in (D_FRONTEND_OBJS): Add d/location.o. + * d-lang.cc (d_init_options): Update for new front-end interface. + (d_post_options): Call Loc::set after handling options. + * dmd/MERGE: Merge upstream dmd 09faa4eacd. + * dmd/VERSION: Bump version to v2.102.0-beta.1. + +2023-02-21 Iain Buclaw + + * d-codegen.cc (d_build_call): Remove front-end expansion of + side-effects in a call expression. + * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its + arguments. + +2023-02-21 Iain Buclaw + + * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set + doing_semantic_analysis_p before calling functionSemantic3. + 2023-01-02 Jakub Jelinek * gdc.texi: Bump @copyrights-d year. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2253b6e333b..45591f13082 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2023-02-21 Harald Anlauf + + PR fortran/96025 + * parse.cc (check_function_result_typed): Improve type check of + specification expression for character length and return status. + (parse_spec): Use status from above. + * resolve.cc (resolve_fntype): Prevent use of invalid specification + expression for character length. + 2023-02-16 Patrick Palka * gfortran.h: Mechanically drop static from static inline diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index 0f4aad549d5..214daee85bf 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,842 @@ +2023-02-21 Raiki Tamura + + * backend/rust-builtins.cc (BuiltinsContext::setup_math_fns): New functions. + +2023-02-21 Arthur Cohen + + * backend/rust-constexpr.cc (get_nth_callarg): Remove function. + (rs_bind_parameters_in_call): Use CALL_EXPR_ARG instead. + (potential_constant_expression_1): Likewise. + +2023-02-21 Thomas Schwinge + + * lang.opt: Fix ordering of file. + +2023-02-21 Philip Herron + + * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Remove unused parameters. + * backend/rust-constexpr.cc (constant_value_1): Likewise. + (fold_non_dependent_init): Likewise. + * backend/rust-tree.cc (publicly_uniquely_derived_p): Likewise. + (instantiation_dependent_expression_p): Likewise. + (type_has_nontrivial_copy_init): Likewise. + (is_normal_capture_proxy): Likewise. + (resolve_nondeduced_context): Likewise. + (undeduced_auto_decl): Likewise. + (require_deduced_type): Likewise. + * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise. + * checks/errors/privacy/rust-reachability.cc (ReachabilityVisitor::visit): Likewise. + * checks/errors/privacy/rust-visibility-resolver.cc (VisibilityResolver::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::go): Likewise. + * checks/lints/rust-lint-unused-var.cc (unused_var_walk_fn): Likewise. + * expand/rust-macro-builtins.cc (try_expand_single_string_literal): Likewise. + (try_expand_many_expr): Likewise. + (parse_single_string_literal): Likewise. + (MacroBuiltin::assert_handler): Likewise. + (MacroBuiltin::file_handler): Likewise. + (MacroBuiltin::column_handler): Likewise. + (MacroBuiltin::concat_handler): Likewise. + (MacroBuiltin::env_handler): Likewise. + (MacroBuiltin::line_handler): Likewise. + * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise. + (ASTLoweringBase::handle_doc_item_attribute): Likewise. + * hir/rust-hir-dump.cc (Dump::visit): Likewise. + * hir/tree/rust-hir-full-test.cc (ConstGenericParam::accept_vis): Likewise. + * lex/rust-lex.cc (Lexer::parse_utf8_escape): Likewise. + (Lexer::parse_string): Likewise. + (Lexer::parse_char_or_lifetime): Likewise. + * lex/rust-lex.h: Likewise. + * metadata/rust-export-metadata.cc: Likewise. + * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Likewise. + * resolve/rust-ast-resolve-type.cc (ResolveType::visit): Likewise. + (ResolveTypeToCanonicalPath::visit): Likewise. + * resolve/rust-ast-verify-assignee.h: Likewise. + * resolve/rust-early-name-resolver.cc (EarlyNameResolver::visit): Likewise. + * typecheck/rust-hir-type-check-expr.h: Likewise. + * typecheck/rust-hir-type-check-item.h: Likewise. + * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Likewise. + * typecheck/rust-tyty-rules.h: Likewise. + * util/rust-attributes.cc (AttributeChecker::visit): Likewise. + +2023-02-21 Philip Herron + + * hir/tree/rust-hir-expr.h: Add const `get_method_name`. + * hir/tree/rust-hir-full-decls.h (struct GenericArgs): Move from `struct`... + (class GenericArgs): ...to `class`. + * hir/tree/rust-hir-path.h (struct GenericArgs): Likewise. + (class GenericArgs): Clear `type_args` in copy constructor. + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Reorder + debug print. + * typecheck/rust-tyty.h: Add default constructors for `SubstitutionArgumentMappings`. + +2023-02-21 Philip Herron + + * backend/rust-compile-context.cc (Context::push_closure_context): New function. + (Context::pop_closure_context): Likewise. + (Context::insert_closure_binding): Likewise. + (Context::lookup_closure_binding): Likewise. + * backend/rust-compile-context.h: Declare new functions and closure mappings. + * backend/rust-compile-expr.cc (CompileExpr::visit): Visit captures properly. + (CompileExpr::generate_closure_function): Compile captures properly. + * backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve): Check for + closure bindings. + * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Compile capture list's + types as well. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Pass captures + properly to `TyTy::ClosureType` constructor. + * typecheck/rust-tyty.cc (ClosureType::as_string): Fix string representation. + (ClosureType::clone): Pass `captures` argument. + * typecheck/rust-tyty.h: Add `captures` field. + +2023-02-21 Philip Herron + + * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Use proper closure + contexts. + * resolve/rust-name-resolver.cc (Scope::lookup_decl_type): New function. + (Scope::lookup_rib_for_decl): Likewise. + (Resolver::insert_resolved_name): Insert captured items. + (Resolver::push_closure_context): New function. + (Resolver::pop_closure_context): Likewise. + (Resolver::insert_captured_item): Likewise. + (Resolver::decl_needs_capture): Likewise. + (Resolver::get_captures): Likewise. + * resolve/rust-name-resolver.h: Declare new functions. + +2023-02-21 Philip Herron + + * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Add Rib argument. + (ResolveExpr::resolve_closure_param): Likewise. + * resolve/rust-ast-resolve-implitem.h: Likewise. + * resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit): Likewise. + (ResolveItem::visit): Likewise. + * resolve/rust-ast-resolve-pattern.cc (PatternDeclaration::visit): Likewise. + * resolve/rust-ast-resolve-pattern.h: Likewise. + * resolve/rust-ast-resolve-stmt.h: Likewise. + * resolve/rust-ast-resolve-toplevel.h: Likewise. + * resolve/rust-ast-resolve-type.h: Likewise. + * resolve/rust-name-resolver.cc (Rib::lookup_decl_type): Likewise. + (Scope::insert): Likewise. + (Resolver::insert_builtin_types): Likewise. + * resolve/rust-name-resolver.h: Likewise. + +2023-02-21 Philip Herron + + * resolve/rust-name-resolver.cc (MKBUILTIN_TYPE): Remove macro. + (Rib::Rib): Remove `mappings` field. + (Resolver::generate_builtins): Use `setup_builtin` instead of macro. + (Resolver::setup_builtin): New function. + * resolve/rust-name-resolver.h: Declare `setup_builtin`, add FIXME + comment. + +2023-02-21 Raiki Tamura + + * lex/rust-lex.cc (Lexer::Lexer): Add `dump_lex` boolean flag. + (Lexer::skip_token): Dump tokens if flag is enabled. + (Lexer::dump_and_skip): New function. + * lex/rust-lex.h: Include optional.h and declare functions. + * parse/rust-parse-impl.h (Parser::debug_dump_lex_output): Remove old + unused function. + * parse/rust-parse.h: Likewise. + * rust-session-manager.cc (Session::compile_crate): Pass lexer dump + option to lexer. + (Session::dump_lex): New function. + * util/rust-optional.h: Add missing constructor. + +2023-02-21 Dave + + * ast/rust-item.h: Remoe default location for Visibility class. + * parse/rust-parse-impl.h (Parser::parse_visibility): Pass proper location + when instantiating visibilities. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Fix dumping of fn params. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Remove extraneous string when + dumping statements. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc: Remove unused include. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + * ast/rust-ast-dump.h: Likewise. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + * ast/rust-ast-dump.h: Add missing getter declaration. + * ast/rust-ast-full-test.cc (BareFunctionType::as_string): Fix bare function + string representation. + * ast/rust-type.h (class BareFunctionType): Declare said getter. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing tuple type visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing never type visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing RawPointer visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing array visitor + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing slice visitor. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitors. + * ast/rust-ast-dump.h: Likewise. + * ast/rust-ast.h: Add `get_lifetime_bounds` method. + * ast/rust-item.h: Add missing getter for lifetimes. + * ast/rust-type.h: Likewise. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add new reference visitor wrapper. + * ast/rust-ast-dump.h: Declare it. + * ast/rust-item.h: Add mutable visibility getters. + +2023-02-21 Arthur Cohen + + * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Fix extra call + to `delete`. + +2023-02-21 Dave + + * ast/rust-item.h: Add location member. + * hir/rust-ast-lower.cc (translate_visibility): Pass location argument. + * hir/tree/rust-hir-item.h: Fix constructor to accept Location argument. + +2023-02-21 Raiki Tamura + + * util/rust-lang-item.h: Add handling for `phantom_data` lang item. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add handling for unit structures. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.h: Fix documentation. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::go): Use new API. + (Dump::format_function_param): Refactor. + (Dump::visit_items_joined_by_separator): New function. + (Dump::emit_attrib): Refactor. + (Dump::visit_as_line): New function. + (Dump::visit_items_as_lines): Likewise. + (Dump::visit_items_as_block): Likewise. + (Dump::visit): Use new API. + (Dump::emit_visibility): Likewise. + (Dump::emit_indented_string): Likewise. + (Dump::emit_generic_params): Likewise. + (Dump::format_tuple_field): Likewise. + (Dump::format_struct_field): Likewise. + (Dump::format_function_common): Likewise. + (Dump::visit_function_common): Likewise. + * ast/rust-ast-dump.h: Declare new functions and add documentation. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add new visit function for overloading. + * ast/rust-ast-dump.h: Add documentation for layer. + +2023-02-21 Arthur Cohen + + * backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): Declare atomic + load intrinsics. + * backend/rust-compile-intrinsic.cc (atomic_load_handler_inner): New handler. + (atomic_load_handler): Likewise. + (unchecked_op_handler): Remove `static` function qualifier. + (build_atomic_builtin_name): Handle load intrinsics. + (atomic_store_handler_inner): New handler. + +2023-02-21 Arthur Cohen + + * backend/rust-compile-intrinsic.cc (check_for_basic_integer_type): New function. + (build_atomic_builtin_name): Use HIR Type instead of `tree`. + (atomic_store_handler_inner): Cleanup error handling. + (unchecked_op_inner): Likewise. + +2023-02-21 Arthur Cohen + + * backend/rust-compile-intrinsic.cc (wrapping_op_handler): Refactor to return + an `std::function`. + (wrapping_op_handler_inner): Rename. + (wrapping_add_handler): Remove function. + (wrapping_sub_handler): Likewise. + (wrapping_mul_handler): Likewise. + +2023-02-21 Arthur Cohen + + * backend/rust-compile-intrinsic.cc (is_basic_integer_type): New function. + (unchecked_op_inner): New handler. + (unchecked_op_handler): New handler. + +2023-02-21 Arthur Cohen + + * backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): New function. + (BuiltinsContext::setup): Call `setup_atomic_fns`. + * backend/rust-builtins.h: Declare `setup_atomic_fns`. + * backend/rust-compile-intrinsic.cc (atomic_store_handler_inner): New function. + (atomic_store_handler): New handler. + (make_unsigned_long_tree): Add helper around making unsigned long trees. + (prefetch_data_handler): Use `make_unsigned_long_tree`. + (build_atomic_builtin_name): New function. + +2023-02-21 Arthur Cohen + + * backend/rust-constexpr.cc (build_anon_member_initialization): Workaround uninitialized + values. + (build_data_member_initialization): Likewise. + +2023-02-21 Arthur Cohen + + * backend/rust-compile-intrinsic.cc (sorry_handler): New intrinsic handler. + +2023-02-21 Arthur Cohen + + * expand/rust-macro-builtins.cc (MacroBuiltin::assert): Rename to... + (MacroBuiltin::assert_handler): ..this. + (MacroBuiltin::file): Rename to... + (MacroBuiltin::file_handler): ..this. + (MacroBuiltin::column): Rename to... + (MacroBuiltin::column_handler): ..this. + (MacroBuiltin::include_bytes): Rename to... + (MacroBuiltin::include_bytes_handler): ..this. + (MacroBuiltin::include_str): Rename to... + (MacroBuiltin::include_str_handler): ..this. + (MacroBuiltin::compile_error): Rename to... + (MacroBuiltin::compile_error_handler): ..this. + (MacroBuiltin::concat): Rename to... + (MacroBuiltin::concat_handler): ..this. + (MacroBuiltin::env): Rename to... + (MacroBuiltin::env_handler): ..this. + (MacroBuiltin::cfg): Rename to... + (MacroBuiltin::cfg_handler): ..this. + (MacroBuiltin::include): Rename to... + (MacroBuiltin::include_handler): ..this. + (MacroBuiltin::line): Rename to... + (MacroBuiltin::line_handler): ..this. + * expand/rust-macro-builtins.h: Rename all handlers. + * util/rust-hir-map.cc (Mappings::insert_macro_def): Use new handler + names. + +2023-02-21 Simon Cook + + * util/rust-inline-visitor.h: Remove some offending system includes. + +2023-02-21 YizhePKU + + * util/rust-inline-visitor.h: New file. + +2023-02-21 Philip Herron + + * backend/rust-compile-expr.cc (CompileExpr::visit): Refactor checking of closures. + (CompileExpr::generate_possible_fn_trait_call): New function. + * backend/rust-compile-expr.h: Declare `generate_possible_fn_trait_call`. + +2023-02-21 Philip Herron + + * typecheck/rust-tyty-bounds.cc (TypeCheckBase::get_predicate_from_bound): Add missing + implementation. + +2023-02-21 Philip Herron + + * Make-lang.in: Compile rust-ast-lower-type.cc. + * ast/rust-path.h: Add `get_locus` method to `TypePathFunction`. + * hir/rust-ast-lower-base.cc (ASTLowerTypePath::visit): Move implementation to + rust-ast-lower-type.cc. + (ASTLowerQualifiedPathInType::visit): Likewise. + (ASTLoweringType::visit): Likewise. + * hir/rust-ast-lower-type.h: Move implementations to source file. + * hir/tree/rust-hir-path.h: Likewise. + * hir/rust-ast-lower-type.cc: New file. + +2023-02-21 Philip Herron + + * resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go): Add missing handling of + function case. + +2023-02-21 Philip Herron + + * backend/rust-compile-context.h: Add new functions: `insert_closure_decl` and + `lookup_closure_decl`. + * backend/rust-compile-expr.cc (CompileExpr::visit): Start compiling Closures properly. + (CompileExpr::generate_closure_function): New function. + (CompileExpr::generate_closure_fntype): Likewise. + * backend/rust-compile-expr.h: Declare `generate_closure_function` and + `generate_closure_fntype`. + * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Visit closure types properly. + * backend/rust-mangle.cc (legacy_mangle_name): Add support for closures. + * backend/rust-tree.h (RS_CLOSURE_FLAG): Add new tree macro. + (RS_CLOSURE_TYPE_P): And checking for it on tree nodes. + * typecheck/rust-tyty.cc (ClosureType::is_equal): Add implementation. + +2023-02-21 Philip Herron + + * hir/tree/rust-hir-expr.h: Add `get_params` method. + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Typecheck closure nodes. + (TypeCheckExpr::resolve_fn_trait_call): New function. + * typecheck/rust-hir-type-check-expr.h: Declare `resolve_fn_trait_call` and + `resolve_possible_fn_trait_call_method_name`. + * typecheck/rust-hir-type-check.h: Declare `get_context_type`. + * typecheck/rust-tyctx.cc (TypeCheckContextItem::get_context_type): New function. + * typecheck/rust-tyty-cmp.h: Visit closures properly. + * typecheck/rust-tyty-rules.h: Likewise. + * typecheck/rust-tyty.cc (BaseType::bounds_compatible): Add commented out assertin. + (ClosureType::as_string): Implement it. + (ClosureType::clone): Fix closure cloning. + (ClosureType::setup_fn_once_output): New function. + * typecheck/rust-tyty.h: Improve `ClosureType` class and declare `setup_fn_once_output`. + +2023-02-21 Philip Herron + + * checks/errors/rust-const-checker.cc (ConstChecker::visit): Visit closures properly. + * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. + * checks/lints/rust-lint-marklive.h: Likewise. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Simplify method + call type checking by removing visitor and instead using one static cast. Use the + new interface. + * typecheck/rust-tyty-call.cc (TypeCheckMethodCallExpr::visit): Likewise. + (TypeCheckMethodCallExpr::go): Likewise. + (TypeCheckMethodCallExpr::check): Likewise. + * typecheck/rust-tyty-call.h (class TypeCheckMethodCallExpr): Likewise. + (class Argument): Likewise. + +2023-02-21 Philip Herron + + * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Visit closure properly when + name resolving. + (ResolveExpr::resolve_closure_param): Implement closure name resolving. + * resolve/rust-ast-resolve-expr.h: Declare visitors for closure types. + +2023-02-21 Philip Herron + + * hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::ASTLoweringPattern): + Improve formatting. + (ASTLoweringPattern::translate): Likewise. + * hir/rust-ast-lower-pattern.h: Likewise. + * resolve/rust-ast-resolve-expr.h: Likewise. + +2023-02-21 Philip Herron + + * Make-lang.in: Add new object file for expression lowering. + * ast/rust-expr.h: Move implementation of expr lowering to source file. + * backend/rust-compile-block.h: Likewise. + * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise. + * backend/rust-compile-expr.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-base.h: Likewise. + * hir/rust-ast-lower-expr.h (RUST_AST_LOWER_EXPR): Likewise. + * hir/rust-ast-lower.cc (ASTLoweringBase::lower_closure_param): Likewise. + * hir/rust-hir-dump.cc (Dump::visit): Likewise. + * hir/rust-hir-dump.h: Likewise. + * hir/tree/rust-hir-expr.h (class ClosureExpr): Likewise. + (class ClosureExprInner): Likewise. + (class ClosureExprInnerTyped): Likewise. + * hir/tree/rust-hir-full-decls.h (class ClosureExprInner): Likewise. + (class ClosureExprInnerTyped): Likewise. + * hir/tree/rust-hir-full-test.cc (ClosureExprInnerTyped::as_string): Likewise. + (ClosureExprInner::as_string): Likewise. + (ClosureExprInner::accept_vis): Likewise. + (ClosureExpr::accept_vis): Likewise. + (ClosureExprInnerTyped::accept_vis): Likewise. + * hir/tree/rust-hir-visitor.h: Likewise. + * hir/tree/rust-hir.h (class Expr): Likewise. + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise. + * typecheck/rust-hir-type-check-expr.h: Likewise. + * hir/rust-ast-lower-expr.cc: New file. + +2023-02-21 Philip Herron + + * util/rust-lang-item.h: Add handling for `fn_once_output`. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-fragment.cc (Fragment::Fragment): Add better APIs. + (Fragment::complete): New function. + (Fragment::unexpanded): New function. + * ast/rust-ast-fragment.h: Declare new APIs and add documentation. + * expand/rust-attribute-visitor.h: Use new Fragment API. + * expand/rust-macro-builtins.cc (MacroBuiltin::file): Likewise. + (MacroBuiltin::column): Likewise. + (MacroBuiltin::include_bytes): Likewise. + (MacroBuiltin::include_str): Likewise. + (MacroBuiltin::concat): Likewise. + (MacroBuiltin::env): Likewise. + (MacroBuiltin::cfg): Likewise. + (MacroBuiltin::include): Likewise. + (MacroBuiltin::line): Likewise. + * expand/rust-macro-expand.cc (parse_many): Likewise. + (transcribe_expression): Likewise. + (transcribe_type): Likewise. + * expand/rust-macro-expand.h (struct MacroExpander): Likewise. + +2023-02-21 Arthur Cohen + + * ast/rust-ast.h (class ASTFragment): Remove old ASTFragment class. + * ast/rust-macro.h (class MacroRulesDefinition): Use new Fragment API. + * expand/rust-attribute-visitor.h: Likewise. + * expand/rust-macro-builtins.cc (macro_end_token): Likewise. + (MacroBuiltin::assert): Likewise. + (MacroBuiltin::file): Likewise. + (MacroBuiltin::column): Likewise. + (MacroBuiltin::include_bytes): Likewise. + (MacroBuiltin::include_str): Likewise. + (MacroBuiltin::compile_error): Likewise. + (MacroBuiltin::concat): Likewise. + (MacroBuiltin::env): Likewise. + (MacroBuiltin::cfg): Likewise. + (MacroBuiltin::include): Likewise. + (MacroBuiltin::line): Likewise. + * expand/rust-macro-builtins.h: Likewise. + * expand/rust-macro-expand.cc (MacroExpander::expand_decl_macro): Likewise. + (MacroExpander::expand_invoc): Likewise. + (MacroExpander::match_repetition): Likewise. + (parse_many): Likewise. + (transcribe_many_items): Likewise. + (transcribe_many_ext): Likewise. + (transcribe_many_trait_items): Likewise. + (transcribe_many_impl_items): Likewise. + (transcribe_many_trait_impl_items): Likewise. + (transcribe_expression): Likewise. + (transcribe_type): Likewise. + (transcribe_on_delimiter): Likewise. + (tokens_to_str): Likewise. + * expand/rust-macro-expand.h (struct MacroExpander): Likewise. + * util/rust-hir-map.cc (Mappings::insert_macro_def): Likewise. + +2023-02-21 Arthur Cohen + + * Make-lang.in: Add `rust-ast-fragment.o` object file. + * ast/rust-ast-fragment.cc: New file. + * ast/rust-ast-fragment.h: New file. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait): Check if a + trait query is currently in progress. + * typecheck/rust-hir-type-check.h (class TraitQueryGuard): Add helpers around + checking for trait queries and inserting them. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-dump.cc (Dump::visit): Add missing visitors for macro definition dumping. + (get_delimiters): New function. + * ast/rust-ast-dump.h: Declare `get_delimiters` and add documentation. + * ast/rust-macro.h: Add `get_token_tree` method. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Properly handle unloaded modules. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-dump.cc (Dump::visit): Fix formatting when dumping modules. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-dump.cc (Dump::visit): Dump items in modules properly. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-dump.cc: Emit visibility when dumping items. + +2023-02-21 Philip Herron + + * hir/rust-ast-lower-base.h (class ItemWrapper): New class. + * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_outer_attributes): Use + `ItemWrapper` class. + (ASTLoweringBase::handle_doc_item_attribute): Likewise. + (ASTLoweringBase::handle_lang_item_attribute): Likewise. + * hir/rust-ast-lower-implitem.h: Check outer attributes on items. + * hir/tree/rust-hir-item.h: Add `get_trait_locus` methods. + * hir/tree/rust-hir.h: Likewise. + * util/rust-hir-map.h: Add defId mappings and associated functions. + * util/rust-hir-map.cc (Mappings::insert_defid_mapping): Implement insertion to said + mappings. + (Mappings::lookup_trait_item_defid): And looking up said mappings. + +2023-02-21 Jakub Dupak + + * ast/rust-ast-dump.cc (Dump::visit): Add code for dumping type aliases. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-trait-resolve.cc (TraitResolver::TraitResolver): Do not nullptr init + `resolved_trait_reference` anymore. + (TraitResolver::resolve_path): Simplify function and rename to... + (TraitResolver::resolve_path_to_trait): ...this. + (TraitResolver::lookup_path): Use new interface. + * typecheck/rust-hir-trait-resolve.h (class TraitResolver): Do not inherit `HIRFullVisitor` + class anymore. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Add dump for RangeExprs. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Add dump for, BorrowExpr, DereferenceExpr, + ErrorPropagationExpr, NegationExpr, TypeCastExpr and GroupedExpr. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Add dump code for ArrayExpr. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Add dumps for ComparisonExpr and + LazyBooleanExpr. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Fix IfExpr formatting. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Fix block formatting. + +2023-02-21 Philip Herron + + * typecheck/rust-autoderef.cc: Add support for multiple resolution candidates. + * typecheck/rust-hir-dot-operator.cc (MethodResolver::MethodResolver): Edit + `try_result` field and change constructor. + (MethodResolver::Probe): Return set of candidates instead of singular candidate. + (MethodResolver::select): Add better implementation to account for multiple + candidates. + * typecheck/rust-hir-dot-operator.h (struct MethodCandidate): Overload comparison + operator in order to store them in `std::set`. + * typecheck/rust-hir-inherent-impl-overlap.h: Do not fail assertion on missing type. + * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Adapt code to use + multiple candidates. + * typecheck/rust-tyty.cc (set_cmp_autoderef_mode): Add code to handle automatic + derefs properly. + (reset_cmp_autoderef_mode): Add helper function to reset said mode. + * typecheck/rust-tyty.h (set_cmp_autoderef_mode): Declare function. + (reset_cmp_autoderef_mode): Likewise. + * typecheck/rust-tyty-cmp.h: Add handling of `autoderef_cmp_flag` + +2023-02-21 Philip Herron + + * util/rust-abi.cc (get_abi_from_string): Add missing "rust-call" + possibility for ABI variant. + +2023-02-21 Philip Herron + + * util/rust-lang-item.h: Add `fn_once` lang item. + +2023-02-21 Philip Herron + + * backend/rust-compile.cc: Add note about missing support for super + traits. + * typecheck/rust-tyty.cc (BaseType::satisfies_bound): New function. + (BaseType::bounds_compatible): New function. + (DynamicObjectType::get_object_items): New function. + * typecheck/rust-hir-trait-ref.h: Use new API to perform type resolution + on dyn objects. + +2023-02-21 Arthur Cohen + + * Make-lang.in: Compile early name resolver. + * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Move macro + name resolution. + * expand/rust-macro-builtins.cc (try_expand_macro_expression): Run ENR + when recursively expanding macros. + * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): No longer + perform name resolution in `expand_invoc`. + * expand/rust-macro-expand.h (struct MacroExpander): Keep ENR within + MacroExpander. + * rust-session-manager.cc (Session::expansion): Run ENR. + * resolve/rust-early-name-resolver.cc: New file. + * resolve/rust-early-name-resolver.h: New file. + +2023-02-21 Arthur Cohen + + * ast/rust-path.h: Add `accept_vis` method to `GenericArg` class. + +2023-02-21 Arthur Cohen + + * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Add note for + glob import resolving. + +2023-02-21 Arthur Cohen + + * util/rust-hir-map.h: Add new mappings. + * util/rust-hir-map.cc (Mappings::insert_macro_invocation): Add insertion + function into mappings. + (Mappings::lookup_macro_invocation): Add lookup function for mappings. + +2023-02-21 Marc Poulhiès + + * parse/rust-parse-impl.h (Parser::parse_stmt_or_expr_without_block): + Check if `expr` is valid after parsing it. + +2023-02-21 Arthur Cohen + + * backend/rust-builtins.cc (BuiltinsContext::setup): Declare prefetch + intrinsics. + * backend/rust-compile-intrinsic.cc (enum class Prefetch): Add kinds of + prefetch intrinsics. + (prefetch_data_handler): New function. + (prefetch_read_data): Likewise. + (prefetch_write_data): Likewise. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Fill empty functions for + structs, enums and unions. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::format_tuple_field): New. + (Dump::format_struct_field): New. + * ast/rust-ast-dump.h (format_tuple_field): New. + (format_struct_field): New. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): move generic params dump ... + (Dump::emit_generic_params): ... here. + * ast/rust-ast-dump.h (emit_generic_params): New. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-trait-ref.h (lookup_trait_item): Add lookup + in super_trait. + +2023-02-21 Philip Herron + + * backend/rust-compile-expr.cc + (CompileExpr::resolve_method_address): Use auto and minor change + in candidate init. + * typecheck/rust-hir-type-check-path.cc + (TypeCheckExpr::resolve_segments): Likewise. + * typecheck/rust-hir-type-check-type.cc: Likewise. + * backend/rust-compile-resolve-path.cc + (HIRCompileBase::query_compile): Likewise. Removecall to + set_ty_ref. + * typecheck/rust-hir-path-probe.h (struct PathProbeCandidate): Add + locus initializer in ctor, implement get_defid. + (class PathProbeType::Probe): return a set instead of vector. + Adjust class impl. + (class ReportMultipleCandidateError): Do not inherit from + HIRImplVisitor anymore and remove corresponding impl. Adjust for + change in Probe. Simplify Report handling. + (class PathProbeImplTrait::Probe): Adjust return type. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-type-check-enumitem.cc + (TypeCheckEnumItem::visit): Adjust VariantDef ctor calls with + DefID. + * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): + Likewise. + * typecheck/rust-tyty.h (VariantDef): Add defid parameter to ctor. + +2023-02-21 Arthur Cohen + + * Make-lang.in: Add `rust-builtins.o` as target + * backend/rust-builtins.h: Refactor to new file. + * backend/rust-builtins.cc: New file. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Implement visitor for If + expressions. + +2023-02-21 David Faust + + * ast/rust-ast-dump.cc (Dump::visit): Dump assignment and compound + assignment expressions. + +2023-02-21 Philip Herron + + * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type): + Check for recursive queries. + * typecheck/rust-hir-type-check.h: New functions: `query_completed`, + `query_in_progress`, `insert_query`. + * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Use `query_type` API. + +2023-02-21 Arthur Cohen + + * ast/rust-ast-dump.cc (Dump::emit_visibility): New function. + (Dump::visit): Call into `emit_visibility`. + (Dump::format_function_common): Likewise. + * ast/rust-ast-dump.h: Declare `emit_visibility`. + +2023-02-21 Arthur Cohen + + * ast/rust-item.h: Rename get_public_vis_type. + * hir/rust-ast-lower.cc (translate_visibility): Use new name. + +2023-02-21 Philip Herron + + * resolve/rust-name-resolver.h: Add miscellenaous item mappings. + * resolve/rust-name-resolver.cc (Resolver::insert_resolved_misc): Use + new mappings. + (Resolver::lookup_resolved_misc): Likewise. + * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_segments): + Adapt function to insert into miscelleanous mappings. + * checks/lints/rust-lint-marklive.cc (MarkLive::find_ref_node_id): + Allow lookup in miscelleanous mappings in mark-live phase. + 2023-02-20 Rainer Orth * backend/rust-tree.cc: Include memmodel.h. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f4f7ec2bafd..31bd634b31c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,171 @@ +2023-02-21 David Malcolm + + PR analyzer/108830 + * gcc.dg/analyzer/attribute-nonnull.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along + a path. + * gcc.dg/analyzer/call-summaries-2.c: Likewise. + * gcc.dg/analyzer/data-model-1.c: Likewise. + * gcc.dg/analyzer/data-model-5.c: Likewise. + * gcc.dg/analyzer/doom-s_sound-pr108867.c: New test. + * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/null-deref-pr108830.c: New test. + * gcc.dg/analyzer/pipe-1.c: Add -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/pipe-void-return.c: Likewise. + * gcc.dg/analyzer/pipe2-1.c: Likewise. + * gcc.dg/analyzer/pr101547.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along + a path. + * gcc.dg/analyzer/pr101875.c: Likewise. + * gcc.dg/analyzer/pr104224-split.c: New test, based on... + * gcc.dg/analyzer/pr104224.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/realloc-2.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/realloc-3.c: Likewise. + * gcc.dg/analyzer/realloc-5.c: Likewise. + * gcc.dg/analyzer/stdarg-1-ms_abi.c: Likewise. + * gcc.dg/analyzer/stdarg-1-sysv_abi.c: Likewise. + * gcc.dg/analyzer/stdarg-1.c: Likewise. + * gcc.dg/analyzer/symbolic-1.c: Likewise. + * gcc.dg/analyzer/symbolic-7.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along a + path. + * gcc.dg/analyzer/uninit-4.c: Likewise. + * gcc.dg/analyzer/uninit-8.c: New test. + * gcc.dg/analyzer/uninit-pr94713.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along a + path. + * gcc.dg/analyzer/zlib-6a.c: Add -fno-analyzer-suppress-followups. + +2023-02-21 Harald Anlauf + + PR fortran/96025 + * gfortran.dg/pr96025.f90: New test. + +2023-02-21 Iain Buclaw + + * gdc.dg/simd2a.d: Update. + * gdc.dg/simd2b.d: Update. + * gdc.dg/simd2c.d: Update. + * gdc.dg/simd2d.d: Update. + * gdc.dg/simd2e.d: Update. + * gdc.dg/simd2f.d: Update. + * gdc.dg/simd2g.d: Update. + * gdc.dg/simd2h.d: Update. + * gdc.dg/simd2i.d: Update. + * gdc.dg/simd2j.d: Update. + +2023-02-21 Iain Buclaw + + * gdc.dg/ctfeintrinsics.d: New test. + +2023-02-21 Richard Biener + + PR tree-optimization/108691 + * gcc.dg/pr108691.c: New testcase. + +2023-02-21 Richard Biener + + PR tree-optimization/108793 + * gcc.dg/torture/pr108793.c: New testcase. + +2023-02-21 Raiki Tamura + + * rust/compile/torture/intrinsics-math.rs: New test. + +2023-02-21 Philip Herron + + * rust/debug/chartype.rs: Skip testcases on Darwin architectures. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure3.rs: New test. + +2023-02-21 Raiki Tamura + + * rust/compile/torture/phantom_data.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-3.rs: + * rust/execute/torture/atomic_load.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-5.rs: Fix error message. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-6.rs: New test. + * rust/compile/torture/intrinsics-7.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-4.rs: New test. + * rust/compile/torture/intrinsics-5.rs: New test. + * rust/execute/torture/atomic_store.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-3.rs: New test. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure2.rs: New test. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure1.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/issue-1589.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/generics7.rs: Fix test with missing assertion. + * rust/execute/torture/operator_overload_9.rs: Fix test assertion. + +2023-02-21 Marc Poulhiès + + * rust/compile/missing_closing_paren.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/execute/torture/prefetch_data.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/torture/issue-1555.rs: New test. + +2023-02-21 Faisal Abbas + + * rust/compile/const9.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/issue-1272.rs: New test. + +2023-02-21 Richard Biener + + PR tree-optimization/108868 + * gcc.dg/pr108868.c: New testcase. + +2023-02-21 Richard Biener + + PR tree-optimization/108855 + * gcc.dg/pr108855.c: New testcase. + +2023-02-21 Richard Biener + + Revert: + 2023-02-21 Richard Biener + + PR tree-optimization/108691 + * gcc.dg/pr108691.c: New testcase. + 2023-02-20 Jakub Jelinek PR target/108862 diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 93935bb11d5..8399862344d 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,33 @@ +2023-02-21 Iain Buclaw + + * src/MERGE: Merge upstream phobos e5a521ab2. + +2023-02-21 Iain Buclaw + + * libdruntime/MERGE: Merge upstream druntime 09faa4eacd. + * src/MERGE: Merge upstream phobos 13ef27a56. + * testsuite/libphobos.exceptions/refcounted.d: Add test for chained + reference counted exceptions. + * testsuite/libphobos.shared/finalize.d: Add dg-warning for deprecated + factory interfaces. + * testsuite/libphobos.gc/issue22843.d: New test. + +2023-02-21 Iain Buclaw + + * libdruntime/gcc/backtrace.d (simpleErrorCallback): Add @nogc. + (LibBacktrace.initLibBacktrace): Likewise. + (LibBacktrace.this): Likewise. + (UnwindBacktrace.this): Likewise. + (getBacktrace): Likewise. + (getBacktraceSymbols): Likewise. + * libdruntime/gcc/libbacktrace.d.in (backtrace_create_state): + Likewise. + (backtrace_full): Likewise. + (backtrace_simple): Likewise. + (backtrace_print): Likewise. + (backtrace_pcinfo): Likewise. + (backtrace_syminfo): Likewise. + 2023-02-13 Lorenzo Salvadore PR d/107469