Skip to content

Conversation

powerboat9
Copy link
Collaborator

I'm making this PR just so it's easier to track what I've done locally

@powerboat9 powerboat9 marked this pull request as draft July 12, 2025 03:44
@powerboat9 powerboat9 force-pushed the core-push branch 2 times, most recently from 535d208 to 9ba9897 Compare August 1, 2025 20:15
This should prevent issues like
Rust-GCC#3444 from affecting compilation
of libcore 1.49.

gcc/rust/ChangeLog:

	* ast/rust-expr.h (BorrowExpr::get_borrowed_expr_ptr): New
	member function.
	(ErrorPropagationExpr::get_propagating_expr_ptr): Likewise.
	(MethodCallExpr::get_receiver_expr_ptr): Likewise.
	(MatchExpr::get_scrutinee_expr_ptr): Likewise.
	* expand/rust-expand-visitor.cc (ExpandVisitor::visit): Improve
	handling of expression child nodes.
	* expand/rust-expand-visitor.h (ExpandVisitor::visit): Add
	overloads.

Signed-off-by: Owen Avery <[email protected]>
gcc/rust/ChangeLog:

	* Make-lang.in (GRS_OBJS): Add "rust-resolve-builtins.o".
	* resolve/rust-late-name-resolver-2.0.cc: Include
	"rust-resolve-builtins.h".
	(next_node_id): Remove function.
	(next_hir_id): Likewise.
	(Late::setup_builtin_types): Likewise.
	(Late::go): Use Builtins::setup_type_ctx instead of
	Late::setup_builtin_types.
	* resolve/rust-late-name-resolver-2.0.h
	(Late::setup_builtin_types): Remove function.
	* rust-session-manager.cc: Include "rust-resolve-builtins.h".
	(Session::expansion): Call Builtins::setup_lang_prelude.
	* resolve/rust-resolve-builtins.cc: New file.
	* resolve/rust-resolve-builtins.h: New file.

gcc/testsuite/ChangeLog:

	* rust/compile/primitive-import.rs: New test.

Signed-off-by: Owen Avery <[email protected]>
gcc/rust/ChangeLog:

	* checks/errors/borrowck/rust-bir-builder-internal.h
	(BuilderContext::resolver): Remove member variable.
	(BuilderContext::BuilderContext): Remove initialization of
	resolver member variable.
	(AbstractBuilder::resolve_label): Assume nr2.0 is enabled.
	(AbstractBuilder::resolve_variable): Likewise.
	(AbstractBuilder::resolve_variable_or_fn): Likewise.
	* checks/errors/privacy/rust-privacy-check.cc
	(Resolver::resolve): Avoid passing the 1.0 name resolver to
	VisibilityResolver or PrivacyReporter.
	* checks/errors/privacy/rust-privacy-reporter.cc
	(PrivacyReporter::PrivacyReporter): Remove initialization of
	resolver field.
	(is_child_module): Assume nr2.0 is enabled.
	(PrivacyReporter::check_for_privacy_violation): Likewise.
	* checks/errors/privacy/rust-privacy-reporter.h
	(PrivacyReporter::PrivacyReporter): Remove 1.0 resolver
	parameter.
	(PrivacyReporter::resolver): Remove member variable.
	* checks/errors/privacy/rust-visibility-resolver.cc: Remove
	"options.h" inclusion.
	(VisibilityResolver::VisibilityResolver): Remove 1.0 resolver
	parameter.
	(VisibilityResolver::resolve_module_path): Assume nr2.0 is
	enabled.
	* checks/errors/privacy/rust-visibility-resolver.h
	(VisibilityResolver::VisibilityResolver): Remove 1.0 resolver
	parameter.
	(VisibilityResolver::resolver): Remove member variable.
	* checks/errors/rust-const-checker.cc: Remove "options.h"
	inclusion.
	(ConstChecker::ConstChecker): Remove 1.0 resolver parameter.
	(ConstChecker::visit): Assume nr2.0 is enabled.
	* checks/errors/rust-const-checker.h (ConstChecker::resolver):
	Remove member variable.
	* checks/errors/rust-hir-pattern-analysis.cc: Remove "options.h"
	inclusion.
	(PatternChecker::PatternChecker): Remove 1.0 resolver parameter.
	(PatternChecker::visit): Assume nr2.0 is enabled.
	* checks/errors/rust-hir-pattern-analysis.h
	(PatternChecker::resolver): Remove member variable.
	* checks/errors/rust-unsafe-checker.cc: Remove "options.h"
	inclusion.
	(UnsafeChecker::UnsafeChecker): Remove 1.0 resolver parameter.
	(UnsafeChecker::visit): Assume nr2.0 is enabled.
	* checks/errors/rust-unsafe-checker.h
	(UnsafeChecker::resolver): Remove member variable.
	* checks/lints/rust-lint-marklive.cc
	(MarkLive::visit_path_segment): Assume nr2.0 is enabled.
	(MarkLive::visit): Likewise.
	(MarkLive::find_ref_node_id): Likewise.
	* checks/lints/rust-lint-marklive.h (MarkLive::resolver): Remove
	member variable.
	(MarkLive::MarkLive): Remove initialization of resolver member
	variable.
	* checks/lints/rust-lint-scan-deadcode.h
	(ScanDeadCode::resolver): Remove member variable.
	(ScanDeadCode::ScanDeadCode): Remove initialization of resolver
	member variable.

Signed-off-by: Owen Avery <[email protected]>
This patch removes the old name resolver, leaving only the 2.0 name
resolver.

gcc/rust/ChangeLog:

	* Make-lang.in (GRS_OBJS): Remove entries for deleted files.
	* expand/rust-macro-builtins-helpers.h: Remove inclusion of
	"rust-early-name-resolver.h".
	* expand/rust-macro-builtins.cc: Likewise.
	* expand/rust-macro-expand.cc: Likewise.
	(MacroExpander::expand_crate): Remove usage of nr1.0 resolver.
	* expand/rust-macro-expand.h: Remove inclusion of
	"rust-early-name-resolver.h".
	(MacroExpander::MacroExpander): Remove initialization of
	resolver member variable.
	(MacroExpander::resolver): Remove member variable.
	* lang.opt (frust-name-resolution-2.0): Remove option.
	* resolve/rust-name-resolver.cc: Remove inclusion of
	"options.h".
	(Resolver::Resolver): Remove member function definition.
	(Resolver::get): Likewise.
	(Resolver::push_new_name_rib): Likewise.
	(Resolver::push_new_type_rib): Likewise.
	(Resolver::push_new_label_rib): Likewise.
	(Resolver::push_new_macro_rib): Likewise.
	(Resolver::find_name_rib): Likewise.
	(Resolver::find_type_rib): Likewise.
	(Resolver::find_macro_rib): Likewise.
	(Resolver::insert_builtin_types): Likewise.
	(Resolver::get_builtin_types): Likewise.
	(Resolver::generate_builtins): Likewise.
	(Resolver::setup_builtin): Likewise.
	(Resolver::insert_resolved_name): Likewise.
	(Resolver::lookup_resolved_name): Likewise.
	(Resolver::insert_resolved_type): Likewise.
	(Resolver::lookup_resolved_type): Likewise.
	(Resolver::insert_resolved_label): Likewise.
	(Resolver::lookup_resolved_label): Likewise.
	(Resolver::insert_resolved_macro): Likewise.
	(Resolver::lookup_resolved_macro): Likewise.
	(Resolver::insert_resolved_misc): Likewise.
	(Resolver::lookup_resolved_misc): Likewise.
	(Resolver::push_closure_context): Likewise.
	(Resolver::pop_closure_context): Likewise.
	(Resolver::insert_captured_item): Likewise.
	(Resolver::decl_needs_capture): Likewise.
	(Resolver::get_captures): Likewise.
	* resolve/rust-name-resolver.h (class Resolver): Remove.
	* rust-lang.cc: Remove inclusion of "rust-ast-resolve-item.h".
	(run_rust_tests): Remove call to rust_simple_path_resolve_test.
	* rust-session-manager.cc: Remove inclusions of
	"rust-ast-resolve.h" and "rust-early-name-resolver.h".
	(Session::compile_crate): Assume nr2.0 is enabled.
	(Session::expansion): Likewise.
	(Session::load_extern_crate): Likewise.
	* resolve/rust-ast-resolve-base.cc: Removed.
	* resolve/rust-ast-resolve-base.h: Removed.
	* resolve/rust-ast-resolve-expr.cc: Removed.
	* resolve/rust-ast-resolve-expr.h: Removed.
	* resolve/rust-ast-resolve-item.cc: Removed.
	* resolve/rust-ast-resolve-item.h: Removed.
	* resolve/rust-ast-resolve-path.cc: Removed.
	* resolve/rust-ast-resolve-path.h: Removed.
	* resolve/rust-ast-resolve-pattern.cc: Removed.
	* resolve/rust-ast-resolve-pattern.h: Removed.
	* resolve/rust-ast-resolve-stmt.cc: Removed.
	* resolve/rust-ast-resolve-stmt.h: Removed.
	* resolve/rust-ast-resolve-struct-expr-field.cc: Removed.
	* resolve/rust-ast-resolve-struct-expr-field.h: Removed.
	* resolve/rust-ast-resolve-toplevel.h: Removed.
	* resolve/rust-ast-resolve-type.cc: Removed.
	* resolve/rust-ast-resolve-type.h: Removed.
	* resolve/rust-ast-resolve.cc: Removed.
	* resolve/rust-ast-resolve.h: Removed.
	* resolve/rust-early-name-resolver.cc: Removed.
	* resolve/rust-early-name-resolver.h: Removed.

Signed-off-by: Owen Avery <[email protected]>
This reverts commit 4a0121eb0c4e85b2bfa5b8e95f525c8e0f23fd64.
contrib/ChangeLog:

	* gcc-changelog/git_commit.py (ignored_prefixes): Add
	'libgrust/libcore/'.

Signed-off-by: Owen Avery <[email protected]>
This commit vendors libcore 1.49 into libgrust/libcore.

Signed-off-by: Owen Avery <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant