aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-session-manager.cc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2024-04-24 10:51:13 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2024-05-06 15:17:29 +0000
commit8a7256676e5dfacb4720c07bc64a3eed8fe5446e (patch)
tree61a9ee5ef821e9a62ffe5721e96e558c07000328 /gcc/rust/rust-session-manager.cc
parent3a31617b48a4840b0aa90726333e4e7dedf1493b (diff)
downloadgcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.zip
gcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.tar.gz
gcc-8a7256676e5dfacb4720c07bc64a3eed8fe5446e.tar.bz2
Change singleton returned type to a referencedevel/rust/master
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.cc40
1 files changed, 20 insertions, 20 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 1c7e276..9812d2e 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 %<%s%> 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 ();
}