From 98359283a4aaffe21d68bf110017dcb315a10606 Mon Sep 17 00:00:00 2001 From: Eduard Burtescu Date: Tue, 22 Mar 2016 18:40:24 +0200 Subject: [PATCH] rustc_trans: move save to librustc_save_analysis. --- mk/crates.mk | 5 +-- src/librustc_driver/Cargo.toml | 1 + src/librustc_driver/lib.rs | 3 +- src/librustc_save_analysis/Cargo.toml | 15 +++++++++ .../csv_dumper.rs | 2 +- .../save => librustc_save_analysis}/data.rs | 2 +- .../save => librustc_save_analysis}/dump.rs | 0 .../dump_visitor.rs | 7 ++-- .../mod.rs => librustc_save_analysis/lib.rs} | 32 +++++++++++++++---- .../span_utils.rs | 2 +- src/librustc_trans/lib.rs | 1 - 11 files changed, 52 insertions(+), 18 deletions(-) create mode 100644 src/librustc_save_analysis/Cargo.toml rename src/{librustc_trans/save => librustc_save_analysis}/csv_dumper.rs (99%) rename src/{librustc_trans/save => librustc_save_analysis}/data.rs (99%) rename src/{librustc_trans/save => librustc_save_analysis}/dump.rs (100%) rename src/{librustc_trans/save => librustc_save_analysis}/dump_visitor.rs (99%) rename src/{librustc_trans/save/mod.rs => librustc_save_analysis/lib.rs} (97%) rename src/{librustc_trans/save => librustc_save_analysis}/span_utils.rs (99%) diff --git a/mk/crates.mk b/mk/crates.mk index 54733083aae..ae40a8e7f70 100644 --- a/mk/crates.mk +++ b/mk/crates.mk @@ -57,7 +57,7 @@ TARGET_CRATES := libc std term \ RUSTC_CRATES := rustc rustc_typeck rustc_mir rustc_borrowck rustc_resolve rustc_driver \ rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \ rustc_data_structures rustc_front rustc_platform_intrinsics \ - rustc_plugin rustc_metadata rustc_passes + rustc_plugin rustc_metadata rustc_passes rustc_save_analysis HOST_CRATES := syntax syntax_ext $(RUSTC_CRATES) rustdoc fmt_macros \ flate arena graphviz rbml log serialize TOOLS := compiletest rustdoc rustc rustbook error_index_generator @@ -102,7 +102,7 @@ DEPS_rustc_data_structures := std log serialize DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \ rustc_typeck rustc_mir rustc_resolve log syntax serialize rustc_llvm \ rustc_trans rustc_privacy rustc_lint rustc_front rustc_plugin \ - rustc_metadata syntax_ext rustc_passes + rustc_metadata syntax_ext rustc_passes rustc_save_analysis DEPS_rustc_front := std syntax log serialize DEPS_rustc_lint := rustc log syntax DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags @@ -116,6 +116,7 @@ DEPS_rustc_privacy := rustc rustc_front log syntax DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back rustc_mir \ log syntax serialize rustc_llvm rustc_front rustc_platform_intrinsics \ rustc_const_eval +DEPS_rustc_save_analysis := rustc log syntax rustc_front DEPS_rustc_typeck := rustc syntax rustc_front rustc_platform_intrinsics rustc_const_eval DEPS_rustdoc := rustc rustc_driver native:hoedown serialize getopts \ diff --git a/src/librustc_driver/Cargo.toml b/src/librustc_driver/Cargo.toml index bf86e8f039a..c8c51793444 100644 --- a/src/librustc_driver/Cargo.toml +++ b/src/librustc_driver/Cargo.toml @@ -25,6 +25,7 @@ rustc_plugin = { path = "../librustc_plugin" } rustc_passes = { path = "../librustc_passes" } rustc_privacy = { path = "../librustc_privacy" } rustc_resolve = { path = "../librustc_resolve" } +rustc_save_analysis = { path = "../librustc_save_analysis" } rustc_trans = { path = "../librustc_trans" } rustc_typeck = { path = "../librustc_typeck" } rustc_metadata = { path = "../librustc_metadata" } diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 9ba6abb962e..d8d1cf5a026 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -48,6 +48,7 @@ extern crate rustc_privacy; extern crate rustc_metadata; extern crate rustc_mir; extern crate rustc_resolve; +extern crate rustc_save_analysis; extern crate rustc_trans; extern crate rustc_typeck; extern crate serialize; @@ -62,8 +63,8 @@ use driver::CompileController; use pretty::{PpMode, UserIdentifiedItem}; use rustc_resolve as resolve; +use rustc_save_analysis as save; use rustc_trans::back::link; -use rustc_trans::save; use rustc::session::{config, Session, build_session, CompileResult}; use rustc::session::config::{Input, PrintRequest, OutputType, ErrorOutputType}; use rustc::session::config::{get_unstable_features_setting, OptionStability}; diff --git a/src/librustc_save_analysis/Cargo.toml b/src/librustc_save_analysis/Cargo.toml new file mode 100644 index 00000000000..a0cf70b57a9 --- /dev/null +++ b/src/librustc_save_analysis/Cargo.toml @@ -0,0 +1,15 @@ +[package] +authors = ["The Rust Project Developers"] +name = "rustc_save_analysis" +version = "0.0.0" + +[lib] +name = "rustc_save_analysis" +path = "lib.rs" +crate-type = ["dylib"] + +[dependencies] +log = { path = "../liblog" } +rustc = { path = "../librustc" } +rustc_front = { path = "../librustc_front" } +syntax = { path = "../libsyntax" } diff --git a/src/librustc_trans/save/csv_dumper.rs b/src/librustc_save_analysis/csv_dumper.rs similarity index 99% rename from src/librustc_trans/save/csv_dumper.rs rename to src/librustc_save_analysis/csv_dumper.rs index 2a5b7d9567b..3021d4e9820 100644 --- a/src/librustc_trans/save/csv_dumper.rs +++ b/src/librustc_save_analysis/csv_dumper.rs @@ -10,7 +10,7 @@ use std::io::Write; -use middle::def_id::{DefId, DefIndex}; +use rustc::middle::def_id::{DefId, DefIndex}; use syntax::codemap::Span; use super::data::*; diff --git a/src/librustc_trans/save/data.rs b/src/librustc_save_analysis/data.rs similarity index 99% rename from src/librustc_trans/save/data.rs rename to src/librustc_save_analysis/data.rs index b9d9d58b5bd..997a635f69e 100644 --- a/src/librustc_trans/save/data.rs +++ b/src/librustc_save_analysis/data.rs @@ -15,7 +15,7 @@ use std::hash::Hasher; -use middle::def_id::DefId; +use rustc::middle::def_id::DefId; use rustc::ty; use syntax::ast::{CrateNum, NodeId}; use syntax::codemap::Span; diff --git a/src/librustc_trans/save/dump.rs b/src/librustc_save_analysis/dump.rs similarity index 100% rename from src/librustc_trans/save/dump.rs rename to src/librustc_save_analysis/dump.rs diff --git a/src/librustc_trans/save/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs similarity index 99% rename from src/librustc_trans/save/dump_visitor.rs rename to src/librustc_save_analysis/dump_visitor.rs index 9d465d87047..88b72ccf329 100644 --- a/src/librustc_trans/save/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -27,10 +27,9 @@ //! is used for recording the output in a format-agnostic way (see CsvDumper //! for an example). -use session::Session; - -use middle::def::Def; -use middle::def_id::DefId; +use rustc::middle::def::Def; +use rustc::middle::def_id::DefId; +use rustc::session::Session; use rustc::ty::{self, TyCtxt}; use std::collections::HashSet; diff --git a/src/librustc_trans/save/mod.rs b/src/librustc_save_analysis/lib.rs similarity index 97% rename from src/librustc_trans/save/mod.rs rename to src/librustc_save_analysis/lib.rs index c07733b218a..f3a7076f955 100644 --- a/src/librustc_trans/save/mod.rs +++ b/src/librustc_save_analysis/lib.rs @@ -8,19 +8,37 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#![crate_name = "rustc_save_analysis"] +#![unstable(feature = "rustc_private", issue = "27812")] +#![crate_type = "dylib"] +#![crate_type = "rlib"] +#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png", + html_favicon_url = "https://doc.rust-lang.org/favicon.ico", + html_root_url = "https://doc.rust-lang.org/nightly/")] +#![cfg_attr(not(stage0), deny(warnings))] + +#![feature(custom_attribute)] +#![allow(unused_attributes)] +#![feature(rustc_private)] +#![feature(staged_api)] + +extern crate rustc; +extern crate rustc_front; + +#[macro_use] extern crate log; +#[macro_use] extern crate syntax; + +use rustc_front::{hir, lowering}; +use rustc::front::map::NodeItem; +use rustc::middle::def::Def; +use rustc::middle::def_id::DefId; +use rustc::session::config::CrateType::CrateTypeExecutable; use rustc::ty::{self, TyCtxt}; -use middle::def::Def; -use middle::def_id::DefId; use std::env; use std::fs::{self, File}; use std::path::{Path, PathBuf}; -use rustc_front; -use rustc_front::{hir, lowering}; -use rustc::front::map::NodeItem; -use rustc::session::config::CrateType::CrateTypeExecutable; - use syntax::ast::{self, NodeId, PatKind}; use syntax::ast_util; use syntax::codemap::*; diff --git a/src/librustc_trans/save/span_utils.rs b/src/librustc_save_analysis/span_utils.rs similarity index 99% rename from src/librustc_trans/save/span_utils.rs rename to src/librustc_save_analysis/span_utils.rs index 2a5c61f4e9d..4080607eed5 100644 --- a/src/librustc_trans/save/span_utils.rs +++ b/src/librustc_save_analysis/span_utils.rs @@ -10,7 +10,7 @@ use rustc::session::Session; -use save::generated_code; +use generated_code; use std::cell::Cell; use std::env; diff --git a/src/librustc_trans/lib.rs b/src/librustc_trans/lib.rs index b9f92bcc4d9..80d805d843e 100644 --- a/src/librustc_trans/lib.rs +++ b/src/librustc_trans/lib.rs @@ -77,7 +77,6 @@ pub mod back { pub mod diagnostics; pub mod trans; -pub mod save; pub mod lib { pub use llvm;