about summary refs log tree commit diff
path: root/src/librustc_interface
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-02-12 10:10:15 +0000
committerbors <bors@rust-lang.org>2020-02-12 10:10:15 +0000
commitcd5441faf4e56d136d7c05d5eb55b4a41396edaf (patch)
tree27e27611e789f2cf88d5efe83c1fa543dee6590f /src/librustc_interface
parent7cba853b4f6080bf7831169fe5632ec9b6833242 (diff)
parent486856f75fd8c681f728ed3445e285666dbe19b9 (diff)
downloadrust-cd5441faf4e56d136d7c05d5eb55b4a41396edaf.tar.gz
rust-cd5441faf4e56d136d7c05d5eb55b4a41396edaf.zip
Auto merge of #69088 - JohnTitor:rollup-x7bk7h7, r=JohnTitor
Rollup of 11 pull requests

Successful merges:

 - #67695 (Added dyn and true keyword docs)
 - #68487 ([experiment] Support linking from a .rlink file)
 - #68554 (Split lang_items to crates `rustc_hir` and `rustc_passes`.)
 - #68937 (Test failure of unchecked arithmetic intrinsics in const eval)
 - #68947 (Python script PEP8 style guide space formatting and minor Python source cleanup)
 - #68999 (remove dependency on itertools)
 - #69026 (Remove common usage pattern from `AllocRef`)
 - #69027 (Add missing `_zeroed` varants to `AllocRef`)
 - #69058 (Preparation for allocator aware `Box`)
 - #69070 (Add self to .mailmap)
 - #69077 (Fix outdated doc comment.)

Failed merges:

r? @ghost
Diffstat (limited to 'src/librustc_interface')
-rw-r--r--src/librustc_interface/interface.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/librustc_interface/interface.rs b/src/librustc_interface/interface.rs
index 2a667541ad3..e213a4d33a6 100644
--- a/src/librustc_interface/interface.rs
+++ b/src/librustc_interface/interface.rs
@@ -2,7 +2,7 @@ pub use crate::passes::BoxedResolver;
 use crate::util;
 
 use rustc::lint;
-use rustc::session::config::{self, ErrorOutputType, Input};
+use rustc::session::config::{self, ErrorOutputType, Input, OutputFilenames};
 use rustc::session::early_error;
 use rustc::session::{DiagnosticOutput, Session};
 use rustc::ty;
@@ -20,7 +20,7 @@ use rustc_span::source_map::{FileLoader, FileName, SourceMap};
 use std::path::PathBuf;
 use std::result;
 use std::sync::{Arc, Mutex};
-use syntax::ast::MetaItemKind;
+use syntax::ast::{self, MetaItemKind};
 use syntax::token;
 
 pub type Result<T> = result::Result<T, ErrorReported>;
@@ -61,6 +61,19 @@ impl Compiler {
     pub fn output_file(&self) -> &Option<PathBuf> {
         &self.output_file
     }
+    pub fn build_output_filenames(
+        &self,
+        sess: &Session,
+        attrs: &[ast::Attribute],
+    ) -> OutputFilenames {
+        util::build_output_filenames(
+            &self.input,
+            &self.output_dir,
+            &self.output_file,
+            &attrs,
+            &sess,
+        )
+    }
 }
 
 /// Converts strings provided as `--cfg [cfgspec]` into a `crate_cfg`.