From 458690323312f06c6e56f102edc6479fc7dcc9c0 Mon Sep 17 00:00:00 2001 From: Thomas Young Date: Sat, 10 Jul 2021 09:26:13 +0800 Subject: call mark live symbols in ScanDeadcode instead of session::parse_file --- gcc/rust/lint/rust-lint-scan-deadcode.h | 5 +++-- gcc/rust/rust-session-manager.cc | 9 +-------- 2 files changed, 4 insertions(+), 10 deletions(-) (limited to 'gcc') diff --git a/gcc/rust/lint/rust-lint-scan-deadcode.h b/gcc/rust/lint/rust-lint-scan-deadcode.h index c50159f..1128818 100644 --- a/gcc/rust/lint/rust-lint-scan-deadcode.h +++ b/gcc/rust/lint/rust-lint-scan-deadcode.h @@ -22,7 +22,7 @@ #include #include "rust-hir-full-decls.h" #include "rust-hir-map.h" -#include "rust-lint-marklive-base.h" +#include "rust-lint-marklive.h" #include "rust-name-resolver.h" #include "rust-diagnostics.h" @@ -34,8 +34,9 @@ class ScanDeadcode : public MarkLiveBase using Rust::Analysis::MarkLiveBase::visit; public: - static void Scan (HIR::Crate &crate, std::set live_symbols) + static void Scan (HIR::Crate &crate) { + std::set live_symbols = Analysis::MarkLive::Analysis (crate); ScanDeadcode sdc (live_symbols); for (auto it = crate.items.begin (); it != crate.items.end (); it++) { diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index eb77c07..504f308 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -49,7 +49,6 @@ #include "rust-ast-resolve.h" #include "rust-ast-lower.h" #include "rust-hir-type-check.h" -#include "rust-lint-marklive.h" #include "rust-lint-scan-deadcode.h" #include "rust-tycheck-dump.h" #include "rust-ast-resolve-unused.h" @@ -575,14 +574,8 @@ Session::parse_file (const char *filename) if (saw_errors ()) return; - // liveness analysis - std::set live_symbols = Analysis::MarkLive::Analysis (hir); - - if (saw_errors ()) - return; - // scan dead code - Analysis::ScanDeadcode::Scan (hir, live_symbols); + Analysis::ScanDeadcode::Scan (hir); if (saw_errors ()) return; -- cgit v1.1