Merge rustc_trans_trait into rustc_trans_utils
This commit is contained in:
parent
9eeaba18bd
commit
d703552325
10 changed files with 24 additions and 61 deletions
16
src/Cargo.lock
generated
16
src/Cargo.lock
generated
|
@ -1575,7 +1575,6 @@ dependencies = [
|
||||||
"rustc_resolve 0.0.0",
|
"rustc_resolve 0.0.0",
|
||||||
"rustc_save_analysis 0.0.0",
|
"rustc_save_analysis 0.0.0",
|
||||||
"rustc_trans 0.0.0",
|
"rustc_trans 0.0.0",
|
||||||
"rustc_trans_traits 0.0.0",
|
|
||||||
"rustc_trans_utils 0.0.0",
|
"rustc_trans_utils 0.0.0",
|
||||||
"rustc_typeck 0.0.0",
|
"rustc_typeck 0.0.0",
|
||||||
"serialize 0.0.0",
|
"serialize 0.0.0",
|
||||||
|
@ -1770,7 +1769,6 @@ dependencies = [
|
||||||
"rustc_incremental 0.0.0",
|
"rustc_incremental 0.0.0",
|
||||||
"rustc_llvm 0.0.0",
|
"rustc_llvm 0.0.0",
|
||||||
"rustc_platform_intrinsics 0.0.0",
|
"rustc_platform_intrinsics 0.0.0",
|
||||||
"rustc_trans_traits 0.0.0",
|
|
||||||
"rustc_trans_utils 0.0.0",
|
"rustc_trans_utils 0.0.0",
|
||||||
"serialize 0.0.0",
|
"serialize 0.0.0",
|
||||||
"syntax 0.0.0",
|
"syntax 0.0.0",
|
||||||
|
@ -1778,26 +1776,16 @@ dependencies = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc_trans_traits"
|
name = "rustc_trans_utils"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ar 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"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)",
|
"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)",
|
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc 0.0.0",
|
"rustc 0.0.0",
|
||||||
"rustc_back 0.0.0",
|
"rustc_back 0.0.0",
|
||||||
"rustc_incremental 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 0.0.0",
|
||||||
"syntax_pos 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_save_analysis = { path = "../librustc_save_analysis" }
|
||||||
rustc_trans = { path = "../librustc_trans", optional = true }
|
rustc_trans = { path = "../librustc_trans", optional = true }
|
||||||
rustc_trans_utils = { path = "../librustc_trans_utils" }
|
rustc_trans_utils = { path = "../librustc_trans_utils" }
|
||||||
rustc_trans_traits = { path = "../librustc_trans_traits" }
|
|
||||||
rustc_typeck = { path = "../librustc_typeck" }
|
rustc_typeck = { path = "../librustc_typeck" }
|
||||||
serialize = { path = "../libserialize" }
|
serialize = { path = "../libserialize" }
|
||||||
syntax = { path = "../libsyntax" }
|
syntax = { path = "../libsyntax" }
|
||||||
|
|
|
@ -33,7 +33,7 @@ use rustc_resolve::{MakeGlobMap, Resolver};
|
||||||
use rustc_metadata::creader::CrateLoader;
|
use rustc_metadata::creader::CrateLoader;
|
||||||
use rustc_metadata::cstore::{self, CStore};
|
use rustc_metadata::cstore::{self, CStore};
|
||||||
use rustc_trans as trans;
|
use rustc_trans as trans;
|
||||||
use rustc_trans_traits::TransCrate;
|
use rustc_trans_utils::trans_crate::TransCrate;
|
||||||
use rustc_typeck as typeck;
|
use rustc_typeck as typeck;
|
||||||
use rustc_privacy;
|
use rustc_privacy;
|
||||||
use rustc_plugin::registry::Registry;
|
use rustc_plugin::registry::Registry;
|
||||||
|
|
|
@ -50,7 +50,6 @@ extern crate rustc_save_analysis;
|
||||||
#[cfg(feature="llvm")]
|
#[cfg(feature="llvm")]
|
||||||
extern crate rustc_trans;
|
extern crate rustc_trans;
|
||||||
extern crate rustc_trans_utils;
|
extern crate rustc_trans_utils;
|
||||||
extern crate rustc_trans_traits;
|
|
||||||
extern crate rustc_typeck;
|
extern crate rustc_typeck;
|
||||||
extern crate serialize;
|
extern crate serialize;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
@ -76,7 +75,7 @@ use rustc::middle::cstore::CrateStore;
|
||||||
use rustc_metadata::locator;
|
use rustc_metadata::locator;
|
||||||
use rustc_metadata::cstore::CStore;
|
use rustc_metadata::cstore::CStore;
|
||||||
use rustc::util::common::{time, ErrorReported};
|
use rustc::util::common::{time, ErrorReported};
|
||||||
use rustc_trans_traits::TransCrate;
|
use rustc_trans_utils::trans_crate::TransCrate;
|
||||||
|
|
||||||
use serialize::json::ToJson;
|
use serialize::json::ToJson;
|
||||||
|
|
||||||
|
@ -153,7 +152,7 @@ pub fn run<F>(run_compiler: F) -> isize
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(feature="llvm"))]
|
#[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")]
|
#[cfg(feature="llvm")]
|
||||||
pub use rustc_trans::LlvmTransCrate as DefaultTransCrate;
|
pub use rustc_trans::LlvmTransCrate as DefaultTransCrate;
|
||||||
|
|
||||||
|
@ -162,8 +161,8 @@ mod rustc_trans {
|
||||||
use syntax_pos::symbol::Symbol;
|
use syntax_pos::symbol::Symbol;
|
||||||
use rustc::session::Session;
|
use rustc::session::Session;
|
||||||
use rustc::session::config::PrintRequest;
|
use rustc::session::config::PrintRequest;
|
||||||
pub use rustc_trans_traits::MetadataOnlyTransCrate as LlvmTransCrate;
|
pub use rustc_trans_utils::trans_crate::MetadataOnlyTransCrate as LlvmTransCrate;
|
||||||
pub use rustc_trans_traits::TranslatedCrate as CrateTranslation;
|
pub use rustc_trans_utils::trans_crate::TranslatedCrate as CrateTranslation;
|
||||||
|
|
||||||
pub fn init(_sess: &Session) {}
|
pub fn init(_sess: &Session) {}
|
||||||
pub fn enable_llvm_debug() {}
|
pub fn enable_llvm_debug() {}
|
||||||
|
|
|
@ -27,7 +27,6 @@ rustc_incremental = { path = "../librustc_incremental" }
|
||||||
rustc_llvm = { path = "../librustc_llvm" }
|
rustc_llvm = { path = "../librustc_llvm" }
|
||||||
rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" }
|
rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" }
|
||||||
rustc_trans_utils = { path = "../librustc_trans_utils" }
|
rustc_trans_utils = { path = "../librustc_trans_utils" }
|
||||||
rustc_trans_traits = { path = "../librustc_trans_traits" }
|
|
||||||
serialize = { path = "../libserialize" }
|
serialize = { path = "../libserialize" }
|
||||||
syntax = { path = "../libsyntax" }
|
syntax = { path = "../libsyntax" }
|
||||||
syntax_pos = { path = "../libsyntax_pos" }
|
syntax_pos = { path = "../libsyntax_pos" }
|
||||||
|
|
|
@ -50,7 +50,6 @@ extern crate rustc_incremental;
|
||||||
extern crate rustc_llvm as llvm;
|
extern crate rustc_llvm as llvm;
|
||||||
extern crate rustc_platform_intrinsics as intrinsics;
|
extern crate rustc_platform_intrinsics as intrinsics;
|
||||||
extern crate rustc_const_math;
|
extern crate rustc_const_math;
|
||||||
extern crate rustc_trans_traits;
|
|
||||||
extern crate rustc_trans_utils;
|
extern crate rustc_trans_utils;
|
||||||
extern crate rustc_demangle;
|
extern crate rustc_demangle;
|
||||||
extern crate jobserver;
|
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 MetadataLoader = metadata::LlvmMetadataLoader;
|
||||||
type OngoingCrateTranslation = back::write::OngoingCrateTranslation;
|
type OngoingCrateTranslation = back::write::OngoingCrateTranslation;
|
||||||
type TranslatedCrate = CrateTranslation;
|
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
|
test = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
ar = "0.3.0"
|
||||||
|
flate2 = "0.2"
|
||||||
|
owning_ref = "0.3.3"
|
||||||
log = "0.3"
|
log = "0.3"
|
||||||
rustc = { path = "../librustc" }
|
|
||||||
rustc_incremental = { path = "../librustc_incremental" }
|
|
||||||
syntax = { path = "../libsyntax" }
|
syntax = { path = "../libsyntax" }
|
||||||
syntax_pos = { path = "../libsyntax_pos" }
|
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))]
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
|
||||||
|
extern crate ar;
|
||||||
|
extern crate flate2;
|
||||||
|
extern crate owning_ref;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
|
||||||
|
#[macro_use]
|
||||||
extern crate rustc;
|
extern crate rustc;
|
||||||
|
extern crate rustc_back;
|
||||||
extern crate rustc_incremental;
|
extern crate rustc_incremental;
|
||||||
extern crate syntax;
|
extern crate syntax;
|
||||||
extern crate syntax_pos;
|
extern crate syntax_pos;
|
||||||
|
@ -44,6 +50,7 @@ use rustc::util::nodemap::NodeSet;
|
||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
|
|
||||||
pub mod link;
|
pub mod link;
|
||||||
|
pub mod trans_crate;
|
||||||
|
|
||||||
/// The context provided lists a set of reachable ids as calculated by
|
/// 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
|
/// middle::reachable, but this contains far more ids and symbols than we're
|
||||||
|
|
|
@ -21,17 +21,6 @@
|
||||||
|
|
||||||
#![feature(box_syntax)]
|
#![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::prelude::*;
|
||||||
use std::io::{self, Cursor};
|
use std::io::{self, Cursor};
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
@ -53,8 +42,7 @@ use rustc::middle::cstore::MetadataLoader as MetadataLoaderTrait;
|
||||||
use rustc::dep_graph::DepGraph;
|
use rustc::dep_graph::DepGraph;
|
||||||
use rustc_back::target::Target;
|
use rustc_back::target::Target;
|
||||||
use rustc_incremental::IncrementalHashesMap;
|
use rustc_incremental::IncrementalHashesMap;
|
||||||
use rustc_trans_utils::find_exported_symbols;
|
use link::{build_link_meta, out_filename};
|
||||||
use rustc_trans_utils::link::{build_link_meta, out_filename};
|
|
||||||
|
|
||||||
pub trait TransCrate {
|
pub trait TransCrate {
|
||||||
type MetadataLoader: MetadataLoaderTrait;
|
type MetadataLoader: MetadataLoaderTrait;
|
||||||
|
@ -197,7 +185,7 @@ impl TransCrate for MetadataOnlyTransCrate {
|
||||||
_output_filenames: &OutputFilenames,
|
_output_filenames: &OutputFilenames,
|
||||||
) -> Self::OngoingCrateTranslation {
|
) -> Self::OngoingCrateTranslation {
|
||||||
let link_meta = build_link_meta(&incr_hashes_map);
|
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);
|
let (metadata, _hashes) = tcx.encode_metadata(&link_meta, &exported_symbols);
|
||||||
|
|
||||||
OngoingCrateTranslation {
|
OngoingCrateTranslation {
|
Loading…
Add table
Add a link
Reference in a new issue