about summary refs log tree commit diff
path: root/src/librustc/back
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-12-17 11:36:42 -0800
committerbors <bors@rust-lang.org>2013-12-17 11:36:42 -0800
commit3272b002b3d2943f17be70e719bf2ffa6058cf72 (patch)
treee5c12422d4df107e6404d82355089ec8dd5eeb56 /src/librustc/back
parentfe85856dc945c7e5eb83e05bdbd72fe1acd6d1c0 (diff)
parent6ebacf2fd77b4a7a688aeebd5f6fcc422e230635 (diff)
downloadrust-3272b002b3d2943f17be70e719bf2ffa6058cf72.tar.gz
rust-3272b002b3d2943f17be70e719bf2ffa6058cf72.zip
auto merge of #10979 : alexcrichton/rust/less-bc, r=cmr
By performing this logic very late in the build process, it ended up leading to
bugs like those found in #10973 where certain stages of the build process
expected a particular output format which didn't end up being the case. In order
to fix this, the build output generation is moved very early in the build
process to the absolute first thing in phase 2.

Closes #10973
Diffstat (limited to 'src/librustc/back')
-rw-r--r--src/librustc/back/link.rs13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index d67277289d4..b5f0a5713bd 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -728,17 +728,10 @@ pub fn link_binary(sess: Session,
                    obj_filename: &Path,
                    out_filename: &Path,
                    lm: &LinkMeta) -> ~[Path] {
-    // If we're generating a test executable, then ignore all other output
-    // styles at all other locations
-    let outputs = if sess.opts.test {
-        ~[session::OutputExecutable]
-    } else {
-        (*sess.outputs).clone()
-    };
-
     let mut out_filenames = ~[];
-    for output in outputs.move_iter() {
-        let out_file = link_binary_output(sess, trans, output, obj_filename, out_filename, lm);
+    for &output in sess.outputs.iter() {
+        let out_file = link_binary_output(sess, trans, output, obj_filename,
+                                          out_filename, lm);
         out_filenames.push(out_file);
     }