From d703552325edc118cb6bb2fbea1be3dceab7632c Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Mon, 18 Sep 2017 18:12:07 +0200 Subject: [PATCH] Merge rustc_trans_trait into rustc_trans_utils --- src/Cargo.lock | 16 ++------------ src/librustc_driver/Cargo.toml | 1 - src/librustc_driver/driver.rs | 2 +- src/librustc_driver/lib.rs | 9 ++++---- src/librustc_trans/Cargo.toml | 1 - src/librustc_trans/lib.rs | 3 +-- src/librustc_trans_traits/Cargo.toml | 21 ------------------- src/librustc_trans_utils/Cargo.toml | 9 ++++++-- src/librustc_trans_utils/lib.rs | 7 +++++++ .../trans_crate.rs} | 16 ++------------ 10 files changed, 24 insertions(+), 61 deletions(-) delete mode 100644 src/librustc_trans_traits/Cargo.toml rename src/{librustc_trans_traits/lib.rs => librustc_trans_utils/trans_crate.rs} (95%) diff --git a/src/Cargo.lock b/src/Cargo.lock index 49db077849c20..476b33b372dd1 100644 --- a/src/Cargo.lock +++ b/src/Cargo.lock @@ -1575,7 +1575,6 @@ dependencies = [ "rustc_resolve 0.0.0", "rustc_save_analysis 0.0.0", "rustc_trans 0.0.0", - "rustc_trans_traits 0.0.0", "rustc_trans_utils 0.0.0", "rustc_typeck 0.0.0", "serialize 0.0.0", @@ -1770,7 +1769,6 @@ dependencies = [ "rustc_incremental 0.0.0", "rustc_llvm 0.0.0", "rustc_platform_intrinsics 0.0.0", - "rustc_trans_traits 0.0.0", "rustc_trans_utils 0.0.0", "serialize 0.0.0", "syntax 0.0.0", @@ -1778,26 +1776,16 @@ dependencies = [ ] [[package]] -name = "rustc_trans_traits" +name = "rustc_trans_utils" version = "0.0.0" dependencies = [ "ar 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc 0.0.0", "rustc_back 0.0.0", "rustc_incremental 0.0.0", - "rustc_trans_utils 0.0.0", - "syntax 0.0.0", -] - -[[package]] -name = "rustc_trans_utils" -version = "0.0.0" -dependencies = [ - "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc 0.0.0", - "rustc_incremental 0.0.0", "syntax 0.0.0", "syntax_pos 0.0.0", ] diff --git a/src/librustc_driver/Cargo.toml b/src/librustc_driver/Cargo.toml index 6399f3ad2687e..2aac1b085e95a 100644 --- a/src/librustc_driver/Cargo.toml +++ b/src/librustc_driver/Cargo.toml @@ -33,7 +33,6 @@ rustc_resolve = { path = "../librustc_resolve" } rustc_save_analysis = { path = "../librustc_save_analysis" } rustc_trans = { path = "../librustc_trans", optional = true } rustc_trans_utils = { path = "../librustc_trans_utils" } -rustc_trans_traits = { path = "../librustc_trans_traits" } rustc_typeck = { path = "../librustc_typeck" } serialize = { path = "../libserialize" } syntax = { path = "../libsyntax" } diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index aa0000653cc87..ba54301d83599 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -33,7 +33,7 @@ use rustc_resolve::{MakeGlobMap, Resolver}; use rustc_metadata::creader::CrateLoader; use rustc_metadata::cstore::{self, CStore}; use rustc_trans as trans; -use rustc_trans_traits::TransCrate; +use rustc_trans_utils::trans_crate::TransCrate; use rustc_typeck as typeck; use rustc_privacy; use rustc_plugin::registry::Registry; diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index db56ff7afc334..e7520858c673c 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -50,7 +50,6 @@ extern crate rustc_save_analysis; #[cfg(feature="llvm")] extern crate rustc_trans; extern crate rustc_trans_utils; -extern crate rustc_trans_traits; extern crate rustc_typeck; extern crate serialize; #[macro_use] @@ -76,7 +75,7 @@ use rustc::middle::cstore::CrateStore; use rustc_metadata::locator; use rustc_metadata::cstore::CStore; use rustc::util::common::{time, ErrorReported}; -use rustc_trans_traits::TransCrate; +use rustc_trans_utils::trans_crate::TransCrate; use serialize::json::ToJson; @@ -153,7 +152,7 @@ pub fn run(run_compiler: F) -> isize } #[cfg(not(feature="llvm"))] -pub use rustc_trans_traits::MetadataOnlyTransCrate as DefaultTransCrate; +pub use rustc_trans_utils::trans_crate::MetadataOnlyTransCrate as DefaultTransCrate; #[cfg(feature="llvm")] pub use rustc_trans::LlvmTransCrate as DefaultTransCrate; @@ -162,8 +161,8 @@ mod rustc_trans { use syntax_pos::symbol::Symbol; use rustc::session::Session; use rustc::session::config::PrintRequest; - pub use rustc_trans_traits::MetadataOnlyTransCrate as LlvmTransCrate; - pub use rustc_trans_traits::TranslatedCrate as CrateTranslation; + pub use rustc_trans_utils::trans_crate::MetadataOnlyTransCrate as LlvmTransCrate; + pub use rustc_trans_utils::trans_crate::TranslatedCrate as CrateTranslation; pub fn init(_sess: &Session) {} pub fn enable_llvm_debug() {} diff --git a/src/librustc_trans/Cargo.toml b/src/librustc_trans/Cargo.toml index 479d12b7440d2..6f1f5b4a123d8 100644 --- a/src/librustc_trans/Cargo.toml +++ b/src/librustc_trans/Cargo.toml @@ -27,7 +27,6 @@ rustc_incremental = { path = "../librustc_incremental" } rustc_llvm = { path = "../librustc_llvm" } rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" } rustc_trans_utils = { path = "../librustc_trans_utils" } -rustc_trans_traits = { path = "../librustc_trans_traits" } serialize = { path = "../libserialize" } syntax = { path = "../libsyntax" } syntax_pos = { path = "../libsyntax_pos" } diff --git a/src/librustc_trans/lib.rs b/src/librustc_trans/lib.rs index 9023f5c3e6169..13c3ce6924872 100644 --- a/src/librustc_trans/lib.rs +++ b/src/librustc_trans/lib.rs @@ -50,7 +50,6 @@ extern crate rustc_incremental; extern crate rustc_llvm as llvm; extern crate rustc_platform_intrinsics as intrinsics; extern crate rustc_const_math; -extern crate rustc_trans_traits; extern crate rustc_trans_utils; extern crate rustc_demangle; extern crate jobserver; @@ -154,7 +153,7 @@ impl LlvmTransCrate { } } -impl rustc_trans_traits::TransCrate for LlvmTransCrate { +impl rustc_trans_utils::trans_crate::TransCrate for LlvmTransCrate { type MetadataLoader = metadata::LlvmMetadataLoader; type OngoingCrateTranslation = back::write::OngoingCrateTranslation; type TranslatedCrate = CrateTranslation; diff --git a/src/librustc_trans_traits/Cargo.toml b/src/librustc_trans_traits/Cargo.toml deleted file mode 100644 index 4ba0ed1e1c7ee..0000000000000 --- a/src/librustc_trans_traits/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -authors = ["The Rust Project Developers"] -name = "rustc_trans_traits" -version = "0.0.0" - -[lib] -name = "rustc_trans_traits" -path = "lib.rs" -crate-type = ["dylib"] -test = false - -[dependencies] -ar = "0.3.0" -flate2 = "0.2" -owning_ref = "0.3.3" - -syntax = { path = "../libsyntax" } -rustc = { path = "../librustc" } -rustc_back = { path = "../librustc_back" } -rustc_incremental = { path = "../librustc_incremental" } -rustc_trans_utils = { path = "../librustc_trans_utils" } diff --git a/src/librustc_trans_utils/Cargo.toml b/src/librustc_trans_utils/Cargo.toml index b91a397711140..2a4a27dd892b9 100644 --- a/src/librustc_trans_utils/Cargo.toml +++ b/src/librustc_trans_utils/Cargo.toml @@ -10,8 +10,13 @@ crate-type = ["dylib"] test = false [dependencies] +ar = "0.3.0" +flate2 = "0.2" +owning_ref = "0.3.3" log = "0.3" -rustc = { path = "../librustc" } -rustc_incremental = { path = "../librustc_incremental" } + syntax = { path = "../libsyntax" } syntax_pos = { path = "../libsyntax_pos" } +rustc = { path = "../librustc" } +rustc_back = { path = "../librustc_back" } +rustc_incremental = { path = "../librustc_incremental" } diff --git a/src/librustc_trans_utils/lib.rs b/src/librustc_trans_utils/lib.rs index 49251a9ecf543..06500e944ca9d 100644 --- a/src/librustc_trans_utils/lib.rs +++ b/src/librustc_trans_utils/lib.rs @@ -29,9 +29,15 @@ #![cfg_attr(stage0, feature(const_fn))] +extern crate ar; +extern crate flate2; +extern crate owning_ref; #[macro_use] extern crate log; + +#[macro_use] extern crate rustc; +extern crate rustc_back; extern crate rustc_incremental; extern crate syntax; extern crate syntax_pos; @@ -44,6 +50,7 @@ use rustc::util::nodemap::NodeSet; use syntax::attr; pub mod link; +pub mod trans_crate; /// The context provided lists a set of reachable ids as calculated by /// middle::reachable, but this contains far more ids and symbols than we're diff --git a/src/librustc_trans_traits/lib.rs b/src/librustc_trans_utils/trans_crate.rs similarity index 95% rename from src/librustc_trans_traits/lib.rs rename to src/librustc_trans_utils/trans_crate.rs index 3f5f44eb90647..df85fae2cb6cf 100644 --- a/src/librustc_trans_traits/lib.rs +++ b/src/librustc_trans_utils/trans_crate.rs @@ -21,17 +21,6 @@ #![feature(box_syntax)] -extern crate ar; -extern crate flate2; -extern crate owning_ref; - -extern crate syntax; -#[macro_use] -extern crate rustc; -extern crate rustc_back; -extern crate rustc_incremental; -extern crate rustc_trans_utils; - use std::io::prelude::*; use std::io::{self, Cursor}; use std::fs::File; @@ -53,8 +42,7 @@ use rustc::middle::cstore::MetadataLoader as MetadataLoaderTrait; use rustc::dep_graph::DepGraph; use rustc_back::target::Target; use rustc_incremental::IncrementalHashesMap; -use rustc_trans_utils::find_exported_symbols; -use rustc_trans_utils::link::{build_link_meta, out_filename}; +use link::{build_link_meta, out_filename}; pub trait TransCrate { type MetadataLoader: MetadataLoaderTrait; @@ -197,7 +185,7 @@ impl TransCrate for MetadataOnlyTransCrate { _output_filenames: &OutputFilenames, ) -> Self::OngoingCrateTranslation { let link_meta = build_link_meta(&incr_hashes_map); - let exported_symbols = find_exported_symbols(tcx, &analysis.reachable); + let exported_symbols = ::find_exported_symbols(tcx, &analysis.reachable); let (metadata, _hashes) = tcx.encode_metadata(&link_meta, &exported_symbols); OngoingCrateTranslation {