Merge rustc_trans_trait into rustc_trans_utils
This commit is contained in:
parent
9eeaba18bd
commit
d703552325
|
@ -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",
|
||||
]
|
||||
|
|
|
@ -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" }
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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<F>(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() {}
|
||||
|
|
|
@ -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" }
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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" }
|
|
@ -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" }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
Loading…
Reference in New Issue