about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJorge Aparicio <japaricious@gmail.com>2016-11-14 03:37:46 -0500
committerJorge Aparicio <japaricious@gmail.com>2016-11-14 03:37:46 -0500
commit80ca1e1251b634b8b9831aa999f3f7435ccfdd16 (patch)
tree0cd13751bbf03ec72b80dccfbc8a89d2607a4d0b
parente7cae415ea207732a199dbdd23fb2baee1946d63 (diff)
downloadrust-80ca1e1251b634b8b9831aa999f3f7435ccfdd16.tar.gz
rust-80ca1e1251b634b8b9831aa999f3f7435ccfdd16.zip
don't build an object file for emit=asm,llvm-ir
-rw-r--r--src/librustc_driver/driver.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index 48bf490d685..2dd83f70823 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -1056,7 +1056,11 @@ pub fn phase_4_translate_to_llvm<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
 pub fn phase_5_run_llvm_passes(sess: &Session,
                                trans: &trans::CrateTranslation,
                                outputs: &OutputFilenames) -> CompileResult {
-    if sess.opts.cg.no_integrated_as || sess.target.target.options.no_integrated_as {
+    if sess.opts.cg.no_integrated_as ||
+        (sess.target.target.options.no_integrated_as &&
+         (outputs.outputs.contains_key(&OutputType::Object) ||
+          outputs.outputs.contains_key(&OutputType::Exe)))
+    {
         let output_types = OutputTypes::new(&[(OutputType::Assembly, None)]);
         time(sess.time_passes(),
              "LLVM passes",