diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2024-04-24 10:51:13 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-17 16:35:22 +0100 |
commit | fd788dd543017cd801657b82bf80bb78e03479ed (patch) | |
tree | 7d8007823936b858a4beed0eee0a3030096a39cf /gcc/rust/rust-session-manager.cc | |
parent | 4d851ca89569b71ee87f22644d2e70938bb84992 (diff) | |
download | gcc-fd788dd543017cd801657b82bf80bb78e03479ed.zip gcc-fd788dd543017cd801657b82bf80bb78e03479ed.tar.gz gcc-fd788dd543017cd801657b82bf80bb78e03479ed.tar.bz2 |
gccrs: Change singleton returned type to a reference
We do not need a raw pointer for this singleton,
nor we need having it on the heap through a
smart pointer.
gcc/rust/ChangeLog:
* ast/rust-ast.h: Change dereference from a pointer to a reference
accessor.
* ast/rust-expr.h: Likewise.
* ast/rust-item.h: Likewise.
* ast/rust-macro.h: Likewise.
* ast/rust-path.h: Likewise.
* ast/rust-pattern.h: Likewise.
* ast/rust-type.h: Likewise.
* backend/rust-compile-base.cc (HIRCompileBase::resolve_method_address):
Likewise.
* backend/rust-compile-context.h: Likewise.
* backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
(CompileExpr::generate_closure_function): Likewise.
* backend/rust-compile-extern.h: Likewise.
* backend/rust-compile-implitem.cc (CompileTraitItem::visit): Likewise.
* backend/rust-compile-intrinsic.cc (Intrinsics::compile): Likewise.
* backend/rust-compile-item.cc (CompileItem::visit): Likewise.
* backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve):
Likewise.
(HIRCompileBase::query_compile): Likewise.
* backend/rust-compile-type.cc (TyTyResolveCompile::visit): Likewise.
(TyTyResolveCompile::create_dyn_obj_record): Likewise.
* backend/rust-compile.cc (HIRCompileBase::coerce_to_dyn_object):
Likewise.
* backend/rust-mangle-v0.cc (v0_path): Likewise.
(v0_mangle_item): Likewise.
* checks/errors/borrowck/rust-borrow-checker.cc (BorrowChecker::go):
Likewise.
* checks/errors/privacy/rust-privacy-check.cc (Resolver::resolve):
Likewise.
* checks/errors/rust-const-checker.cc (ConstChecker::ConstChecker):
Likewise.
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::UnsafeChecker):
Likewise.
* checks/lints/rust-lint-marklive-base.h: Likewise.
* checks/lints/rust-lint-marklive.cc (MarkLive::go): Likewise.
(MarkLive::visit): Likewise.
(MarkLive::visit_path_segment): Likewise.
* checks/lints/rust-lint-marklive.h: Likewise.
* checks/lints/rust-lint-scan-deadcode.h: Likewise.
* expand/rust-macro-expand.cc (MacroExpander::expand_invoc): Likewise.
* expand/rust-macro-expand.h (struct MacroExpander): Change mapping
from pointer to a reference.
* expand/rust-proc-macro.cc (BangProcMacro::BangProcMacro): Replace
pointer accessor with reference accessor.
(AttributeProcMacro::AttributeProcMacro): Likewise.
(CustomDeriveProcMacro::CustomDeriveProcMacro): Likewise.
* hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_lifetime):
Likewise.
(ASTLoweringBase::lower_loop_label): Likewise.
(ASTLoweringBase::lower_path_expr_seg): Likewise.
(ASTLoweringBase::lower_self): Likewise.
(ASTLoweringBase::handle_lang_item_attribute): Likewise.
(ASTLoweringBase::lower_extern_block): Likewise.
(ASTLoweringBase::lower_macro_definition): Likewise.
* hir/rust-ast-lower-base.h: Likewise.
* hir/rust-ast-lower-block.h: Likewise.
* hir/rust-ast-lower-enumitem.h: Likewise.
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::translate): Likewise.
(ASTLoweringExpr::visit): Likewise.
* hir/rust-ast-lower-extern.h: Likewise.
* hir/rust-ast-lower-implitem.cc (ASTLowerImplItem::translate):
Likewise.
(ASTLowerImplItem::visit): Likewise.
(ASTLowerTraitItem::translate): Likewise.
(ASTLowerTraitItem::visit): Likewise.
* hir/rust-ast-lower-item.cc (ASTLoweringItem::translate): Likewise.
(ASTLoweringItem::visit): Likewise.
(ASTLoweringSimplePath::lower): Likewise.
* hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::translate):
Likewise.
(ASTLoweringPattern::visit): Likewise.
* hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::translate): Likewise.
(ASTLoweringStmt::visit): Likewise.
* hir/rust-ast-lower-struct-field-expr.h: Likewise.
* hir/rust-ast-lower-type.cc (ASTLowerTypePath::visit): Likewise.
(ASTLowerQualifiedPathInType::visit): Likewise.
(ASTLoweringType::translate): Likewise.
(ASTLoweringType::visit): Likewise.
(ASTLowerGenericParam::translate): Likewise.
(ASTLowerGenericParam::visit): Likewise.
(ASTLoweringTypeBounds::translate): Likewise.
(ASTLoweringTypeBounds::visit): Likewise.
(ASTLowerWhereClauseItem::translate): Likewise.
(ASTLowerWhereClauseItem::visit): Likewise.
* hir/rust-ast-lower.cc (ASTLowering::go): Likewise.
(ASTLoweringBlock::visit): Likewise.
(ASTLoweringIfBlock::visit): Likewise.
(ASTLoweringIfLetBlock::visit): Likewise.
(ASTLowerStructExprField::visit): Likewise.
(ASTLoweringExprWithBlock::visit): Likewise.
(ASTLowerPathInExpression::visit): Likewise.
(ASTLoweringBase::lower_qual_path_type): Likewise.
(ASTLowerQualPathInExpression::visit): Likewise.
* metadata/rust-export-metadata.cc (ExportContext::emit_trait):
Likewise.
(ExportContext::emit_function): Likewise.
(ExportContext::emit_macro): Likewise.
(PublicInterface::PublicInterface): Likewise.
(PublicInterface::expected_metadata_filename): Likewise.
* metadata/rust-export-metadata.h: Likewise.
* resolve/rust-ast-resolve-base.h: Likewise.
* resolve/rust-ast-resolve-implitem.h: Likewise.
* resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit):
Likewise.
(ResolveItem::visit): Likewise.
(ResolveExternItem::visit): Likewise.
* resolve/rust-ast-resolve-path.cc (ResolvePath::resolve_path):
Likewise.
* resolve/rust-ast-resolve-stmt.h: Likewise.
* resolve/rust-ast-resolve-toplevel.h: Likewise.
* resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go):
Likewise.
(ResolveTypeToCanonicalPath::visit): Likewise.
* resolve/rust-ast-resolve-type.h: Likewise.
* resolve/rust-ast-resolve.cc (NameResolution::NameResolution):
Likewise.
(NameResolution::go): Likewise.
* resolve/rust-ast-resolve.h: Likewise.
* resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes):
Likewise.
* resolve/rust-early-name-resolver.cc (EarlyNameResolver::EarlyNameResolver):
Likewise.
* resolve/rust-late-name-resolver-2.0.cc (next_node_id): Likewise.
(next_hir_id): Likewise.
* resolve/rust-name-resolution-context.cc (NameResolutionContext::NameResolutionContext):
Likewise.
* resolve/rust-name-resolver.cc (Resolver::Resolver): Likewise.
(Resolver::generate_builtins): Likewise.
(Resolver::setup_builtin): Likewise.
* resolve/rust-name-resolver.h: Likewise.
* resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit):
Likewise.
(TopLevel::handle_use_glob): Likewise.
* rust-session-manager.cc (Session::get_instance): Likewise.
(Session::handle_input_files): Likewise.
(Session::handle_crate_name): Likewise.
(Session::compile_crate): Likewise.
(Session::load_extern_crate): Likewise.
* rust-session-manager.h: Likewise.
* typecheck/rust-autoderef.cc (Adjuster::try_unsize_type): Likewise.
* typecheck/rust-coercion.cc (TypeCoercionRules::do_coercion):
Likewise.
(TypeCoercionRules::coerce_unsafe_ptr): Likewise.
(TypeCoercionRules::coerce_borrowed_pointer): Likewise.
(TypeCoercionRules::coerce_unsized): Likewise.
* typecheck/rust-coercion.h: 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_enum_item_for_candiates):
Likewise.
(PathProbeType::process_impl_items_for_candidates): Likewise.
(PathProbeImplTrait::process_trait_impl_items_for_candidates):
Likewise.
* typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_path_to_trait):
Likewise.
(TraitItemReference::get_parent_trait_mappings): Likewise.
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::resolve_literal):
Likewise.
(TypeCheckBase::get_marker_predicate): Likewise.
* typecheck/rust-hir-type-check-base.h: Likewise.
* typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit):
Likewise.
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
Likewise.
(TypeCheckExpr::resolve_operator_overload): Likewise.
(TypeCheckExpr::resolve_fn_trait_call): 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-path.cc (TypeCheckExpr::resolve_root_path):
Likewise.
(TypeCheckExpr::resolve_segments): Likewise.
* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::emit_pattern_size_error):
Likewise.
(ClosureParamInfer::Resolve): Likewise.
* typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::resolve):
Likewise.
* typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): Likewise.
(TypeCheckType::resolve_root_path): Likewise.
(TypeResolveGenericParam::visit): Likewise.
(ResolveWhereClauseItem::visit): Likewise.
* typecheck/rust-hir-type-check.cc (TraitItemReference::get_type_from_fn):
Likewise.
* typecheck/rust-type-util.cc (query_type): Likewise.
* typecheck/rust-typecheck-context.cc (TypeCheckContext::compute_inference_variables):
Likewise.
* typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Likewise.
(TypeBoundsProbe::assemble_builtin_candidate): Likewise.
(TypeCheckBase::get_predicate_from_bound): Likewise.
* typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Likewise.
(TypeCheckMethodCallExpr::check): Likewise.
* typecheck/rust-tyty-call.h: Likewise.
* typecheck/rust-tyty-cmp.h: Likewise.
* typecheck/rust-tyty-subst.cc (SubstitutionParamMapping::override_context):
Likewise.
(SubstitutionRef::monomorphize): Likewise.
* typecheck/rust-tyty-util.cc (TyVar::get_implicit_infer_var):
Likewise.
(TyVar::monomorphized_clone): Likewise.
(TyWithLocation::TyWithLocation): Likewise.
* typecheck/rust-tyty.cc (BaseType::satisfies_bound): Likewise.
(InferType::clone): Likewise.
(ADTType::handle_substitions): Likewise.
(TupleType::handle_substitions): Likewise.
(FnType::handle_substitions): Likewise.
(ClosureType::setup_fn_once_output): Likewise.
(ArrayType::handle_substitions): Likewise.
(SliceType::handle_substitions): Likewise.
(ReferenceType::handle_substitions): Likewise.
(PointerType::handle_substitions): Likewise.
(ParamType::handle_substitions): Likewise.
* typecheck/rust-tyty.h: Likewise.
* typecheck/rust-unify.cc (UnifyRules::UnifyRules): Likewise.
(UnifyRules::commit): Likewise.
* util/rust-hir-map.cc: Change getter return type to a reference.
* util/rust-hir-map.h: Update function's prototype.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/rust-session-manager.cc')
-rw-r--r-- | gcc/rust/rust-session-manager.cc | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index 4d8c263..0dd17b2 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -85,7 +85,7 @@ const size_t kMaxNameLength = 64; Session & Session::get_instance () { - static Session instance; + static Session instance{}; return instance; } @@ -409,8 +409,8 @@ Session::handle_input_files (int num_files, const char **files) options.set_crate_name (crate_name); } - CrateNum crate_num = mappings->get_next_crate_num (options.get_crate_name ()); - mappings->set_current_crate (crate_num); + CrateNum crate_num = mappings.get_next_crate_num (options.get_crate_name ()); + mappings.set_current_crate (crate_num); rust_debug ("Attempting to parse file: %s", file); compile_crate (file); @@ -419,7 +419,7 @@ Session::handle_input_files (int num_files, const char **files) void Session::handle_crate_name (const AST::Crate &parsed_crate) { - auto mappings = Analysis::Mappings::get (); + auto &mappings = Analysis::Mappings::get (); auto crate_name_changed = false; auto error = Error (UNDEF_LOCATION, std::string ()); @@ -454,7 +454,7 @@ Session::handle_crate_name (const AST::Crate &parsed_crate) } crate_name_changed = true; options.set_crate_name (msg_str); - mappings->set_crate_name (mappings->get_current_crate (), msg_str); + mappings.set_crate_name (mappings.get_current_crate (), msg_str); } options.crate_name_set_manually |= crate_name_changed; @@ -549,9 +549,9 @@ Session::compile_crate (const char *filename) return; // setup the mappings for this AST - CrateNum current_crate = mappings->get_current_crate (); + CrateNum current_crate = mappings.get_current_crate (); AST::Crate &parsed_crate - = mappings->insert_ast_crate (std::move (ast_crate), current_crate); + = mappings.insert_ast_crate (std::move (ast_crate), current_crate); /* basic pipeline: * - lex @@ -647,7 +647,7 @@ Session::compile_crate (const char *filename) return; // add the mappings to it - HIR::Crate &hir = mappings->insert_hir_crate (std::move (lowered)); + HIR::Crate &hir = mappings.insert_hir_crate (std::move (lowered)); if (options.dump_option_enabled (CompileOptions::HIR_DUMP)) { dump_hir (hir); @@ -1049,12 +1049,12 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) { // has it already been loaded? CrateNum found_crate_num = UNKNOWN_CRATENUM; - bool found = mappings->lookup_crate_name (crate_name, found_crate_num); + bool found = mappings.lookup_crate_name (crate_name, found_crate_num); if (found) { NodeId resolved_node_id = UNKNOWN_NODEID; bool resolved - = mappings->crate_num_to_nodeid (found_crate_num, resolved_node_id); + = mappings.crate_num_to_nodeid (found_crate_num, resolved_node_id); rust_assert (resolved); return resolved_node_id; @@ -1107,7 +1107,7 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) } // ensure the current vs this crate name don't collide - const std::string current_crate_name = mappings->get_current_crate_name (); + const std::string current_crate_name = mappings.get_current_crate_name (); if (current_crate_name.compare (extern_crate.get_crate_name ()) == 0) { rust_error_at (locus, "current crate name %qs collides with this", @@ -1116,10 +1116,10 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) } // setup mappings - CrateNum saved_crate_num = mappings->get_current_crate (); + CrateNum saved_crate_num = mappings.get_current_crate (); CrateNum crate_num - = mappings->get_next_crate_num (extern_crate.get_crate_name ()); - mappings->set_current_crate (crate_num); + = mappings.get_next_crate_num (extern_crate.get_crate_name ()); + mappings.set_current_crate (crate_num); // then lets parse this as a 2nd crate Lexer lex (extern_crate.get_metadata (), linemap); @@ -1127,7 +1127,7 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) std::unique_ptr<AST::Crate> metadata_crate = parser.parse_crate (); AST::Crate &parsed_crate - = mappings->insert_ast_crate (std::move (metadata_crate), crate_num); + = mappings.insert_ast_crate (std::move (metadata_crate), crate_num); std::vector<AttributeProcMacro> attribute_macros; std::vector<CustomDeriveProcMacro> derive_macros; @@ -1151,9 +1151,9 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) } } - mappings->insert_attribute_proc_macros (crate_num, attribute_macros); - mappings->insert_bang_proc_macros (crate_num, bang_macros); - mappings->insert_derive_proc_macros (crate_num, derive_macros); + mappings.insert_attribute_proc_macros (crate_num, attribute_macros); + mappings.insert_bang_proc_macros (crate_num, bang_macros); + mappings.insert_derive_proc_macros (crate_num, derive_macros); // name resolve it Resolver::NameResolution::Resolve (parsed_crate); @@ -1161,13 +1161,13 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) // perform hir lowering std::unique_ptr<HIR::Crate> lowered = HIR::ASTLowering::Resolve (parsed_crate); - HIR::Crate &hir = mappings->insert_hir_crate (std::move (lowered)); + HIR::Crate &hir = mappings.insert_hir_crate (std::move (lowered)); // perform type resolution Resolver::TypeResolution::Resolve (hir); // always restore the crate_num - mappings->set_current_crate (saved_crate_num); + mappings.set_current_crate (saved_crate_num); return parsed_crate.get_node_id (); } |