aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-02-22 00:18:49 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-02-22 00:18:49 +0000
commitc3bf22d918021d97ee929d7f0bf18693b08a24e1 (patch)
tree8f864c092352323128c6b9cb2107f311ea56613f
parent8f6369157917a4371b5d66dfe82b84aded3b8268 (diff)
downloadgcc-c3bf22d918021d97ee929d7f0bf18693b08a24e1.zip
gcc-c3bf22d918021d97ee929d7f0bf18693b08a24e1.tar.gz
gcc-c3bf22d918021d97ee929d7f0bf18693b08a24e1.tar.bz2
Daily bump.
-rw-r--r--gcc/ChangeLog44
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/analyzer/ChangeLog17
-rw-r--r--gcc/d/ChangeLog20
-rw-r--r--gcc/fortran/ChangeLog9
-rw-r--r--gcc/rust/ChangeLog839
-rw-r--r--gcc/testsuite/ChangeLog168
-rw-r--r--libphobos/ChangeLog30
8 files changed, 1128 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3ab2938..4363149 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,47 @@
+2023-02-21 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/108830
+ * doc/invoke.texi: Document -fno-analyzer-suppress-followups.
+
+2023-02-21 Max Filippov <jcmvbkbc@gmail.com>
+
+ 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 <rguenther@suse.de>
+
+ 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 <rguenther@suse.de>
+
+ 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 <rguenther@suse.de>
+
+ Revert:
+ 2023-02-13 Richard Biener <rguenther@suse.de>
+
+ 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 <jjsuwa_sys3175@yahoo.co.jp>
+
+ * 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 <ubizjak@gmail.com>
* config/i386/predicates.md
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 6d7db27..e7a8650 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20230221
+20230222
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 15a3de7..000360c 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,20 @@
+2023-02-21 David Malcolm <dmalcolm@redhat.com>
+
+ 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 <dmalcolm@redhat.com>
PR analyzer/108806
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index 3a06f45..bac1366 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,3 +1,23 @@
+2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * 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 <ibuclaw@gdcproject.org>
+
+ * 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 <ibuclaw@gdcproject.org>
+
+ * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set
+ doing_semantic_analysis_p before calling functionSemantic3.
+
2023-01-02 Jakub Jelinek <jakub@redhat.com>
* gdc.texi: Bump @copyrights-d year.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2253b6e..45591f1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2023-02-21 Harald Anlauf <anlauf@gmx.de>
+
+ 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 <ppalka@redhat.com>
* gfortran.h: Mechanically drop static from static inline
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 0f4aad5..214daee 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,842 @@
+2023-02-21 Raiki Tamura <tamaron1203@gmail.com>
+
+ * backend/rust-builtins.cc (BuiltinsContext::setup_math_fns): New functions.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * 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 <thomas@codesourcery.com>
+
+ * lang.opt: Fix ordering of file.
+
+2023-02-21 Philip Herron <herron.philip@googlemail.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <tamaron1203@gmail.com>
+
+ * 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 <dme2223@gmail.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Fix dumping of fn params.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Remove extraneous string when
+ dumping statements.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc: Remove unused include.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+ * ast/rust-ast-dump.h: Likewise.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing tuple type visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing never type visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing RawPointer visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing array visitor
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add missing slice visitor.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Fix extra call
+ to `delete`.
+
+2023-02-21 Dave <dme2223@gmail.com>
+
+ * 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 <tamaron1203@gmail.com>
+
+ * util/rust-lang-item.h: Add handling for `phantom_data` lang item.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add handling for unit structures.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.h: Fix documentation.
+
+2023-02-21 Jakub Dupak <dev@jakubdupak.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * backend/rust-constexpr.cc (build_anon_member_initialization): Workaround uninitialized
+ values.
+ (build_data_member_initialization): Likewise.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * backend/rust-compile-intrinsic.cc (sorry_handler): New intrinsic handler.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * 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 <simon.cook@embecosm.com>
+
+ * util/rust-inline-visitor.h: Remove some offending system includes.
+
+2023-02-21 YizhePKU <yizhe@pku.edu.cn>
+
+ * util/rust-inline-visitor.h: New file.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * typecheck/rust-tyty-bounds.cc (TypeCheckBase::get_predicate_from_bound): Add missing
+ implementation.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go): Add missing handling of
+ function case.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * util/rust-lang-item.h: Add handling for `fn_once_output`.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Properly handle unloaded modules.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Fix formatting when dumping modules.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Dump items in modules properly.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-dump.cc: Emit visibility when dumping items.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <dev@jakubdupak.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add code for dumping type aliases.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add dump for RangeExprs.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add dump for, BorrowExpr, DereferenceExpr,
+ ErrorPropagationExpr, NegationExpr, TypeCastExpr and GroupedExpr.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add dump code for ArrayExpr.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Add dumps for ComparisonExpr and
+ LazyBooleanExpr.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Fix IfExpr formatting.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Fix block formatting.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * util/rust-abi.cc (get_abi_from_string): Add missing "rust-call"
+ possibility for ABI variant.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * util/rust-lang-item.h: Add `fn_once` lang item.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * ast/rust-path.h: Add `accept_vis` method to `GenericArg` class.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Add note for
+ glob import resolving.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * 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 <dkm@kataplop.net>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Fill empty functions for
+ structs, enums and unions.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * 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 <david.faust@oracle.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * typecheck/rust-hir-trait-ref.h (lookup_trait_item): Add lookup
+ in super_trait.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <philip.herron@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Implement visitor for If
+ expressions.
+
+2023-02-21 David Faust <david.faust@oracle.com>
+
+ * ast/rust-ast-dump.cc (Dump::visit): Dump assignment and compound
+ assignment expressions.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * ast/rust-item.h: Rename get_public_vis_type.
+ * hir/rust-ast-lower.cc (translate_visibility): Use new name.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <ro@CeBiTec.Uni-Bielefeld.DE>
* backend/rust-tree.cc: Include memmodel.h.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f4f7ec2..31bd634 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,171 @@
+2023-02-21 David Malcolm <dmalcolm@redhat.com>
+
+ 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 <anlauf@gmx.de>
+
+ PR fortran/96025
+ * gfortran.dg/pr96025.f90: New test.
+
+2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * 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 <ibuclaw@gdcproject.org>
+
+ * gdc.dg/ctfeintrinsics.d: New test.
+
+2023-02-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/108691
+ * gcc.dg/pr108691.c: New testcase.
+
+2023-02-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/108793
+ * gcc.dg/torture/pr108793.c: New testcase.
+
+2023-02-21 Raiki Tamura <tamaron1203@gmail.com>
+
+ * rust/compile/torture/intrinsics-math.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/debug/chartype.rs: Skip testcases on Darwin architectures.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/execute/torture/closure3.rs: New test.
+
+2023-02-21 Raiki Tamura <tamaron1203@gmail.com>
+
+ * rust/compile/torture/phantom_data.rs: New test.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/torture/intrinsics-3.rs:
+ * rust/execute/torture/atomic_load.rs: New test.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/torture/intrinsics-5.rs: Fix error message.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/compile/torture/intrinsics-6.rs: New test.
+ * rust/compile/torture/intrinsics-7.rs: New test.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * 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 <arthur.cohen@embecosm.com>
+
+ * rust/compile/torture/intrinsics-3.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/execute/torture/closure2.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/execute/torture/closure1.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/compile/issue-1589.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * 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 <dkm@kataplop.net>
+
+ * rust/compile/missing_closing_paren.rs: New test.
+
+2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust/execute/torture/prefetch_data.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/compile/torture/issue-1555.rs: New test.
+
+2023-02-21 Faisal Abbas <faisal.abbas@elastica.co>
+
+ * rust/compile/const9.rs: New test.
+
+2023-02-21 Philip Herron <philip.herron@embecosm.com>
+
+ * rust/compile/issue-1272.rs: New test.
+
+2023-02-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/108868
+ * gcc.dg/pr108868.c: New testcase.
+
+2023-02-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/108855
+ * gcc.dg/pr108855.c: New testcase.
+
+2023-02-21 Richard Biener <rguenther@suse.de>
+
+ Revert:
+ 2023-02-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/108691
+ * gcc.dg/pr108691.c: New testcase.
+
2023-02-20 Jakub Jelinek <jakub2redhat.com>
PR target/108862
diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog
index 93935bb..8399862 100644
--- a/libphobos/ChangeLog
+++ b/libphobos/ChangeLog
@@ -1,3 +1,33 @@
+2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * src/MERGE: Merge upstream phobos e5a521ab2.
+
+2023-02-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * 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 <ibuclaw@gdcproject.org>
+
+ * 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 <developer@lorenzosalvadore.it>
PR d/107469