about summary refs log tree commit diff
path: root/src/test/run-make/execution-engine
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2016-07-21 12:49:59 -0400
committerNiko Matsakis <niko@alum.mit.edu>2016-07-28 12:05:45 -0400
commit58d4b8edd319d0f0d76024504cdfc74f89a001b1 (patch)
tree83a92fe303444117e45ba19cfc78bbef41e2ff7d /src/test/run-make/execution-engine
parentcca4804251957646d4840bf33b3b13e3f2b645de (diff)
downloadrust-58d4b8edd319d0f0d76024504cdfc74f89a001b1.tar.gz
rust-58d4b8edd319d0f0d76024504cdfc74f89a001b1.zip
Modify trans to skip generating `.o` files
This checks the `previous_work_products` data from the dep-graph and
tries to simply copy a `.o` file if possible.  We also add new
work-products into the dep-graph, and create edges to/from the dep-node
for a work-product.
Diffstat (limited to 'src/test/run-make/execution-engine')
-rw-r--r--src/test/run-make/execution-engine/test.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/test/run-make/execution-engine/test.rs b/src/test/run-make/execution-engine/test.rs
index 2e90b518432..b58295d47f2 100644
--- a/src/test/run-make/execution-engine/test.rs
+++ b/src/test/run-make/execution-engine/test.rs
@@ -20,6 +20,7 @@ extern crate rustc_metadata;
 extern crate rustc_resolve;
 extern crate rustc_errors;
 extern crate rustc_errors as errors;
+extern crate rustc_trans;
 #[macro_use] extern crate syntax;
 
 use std::ffi::{CStr, CString};
@@ -37,6 +38,7 @@ use rustc::session::build_session;
 use rustc_driver::{driver, abort_on_err};
 use rustc_resolve::MakeGlobMap;
 use rustc_metadata::cstore::CStore;
+use rustc_trans::ModuleSource;
 use libc::c_void;
 
 use rustc_errors::registry::Registry;
@@ -261,7 +263,10 @@ fn compile_program(input: &str, sysroot: PathBuf)
                 .filter_map(|(_, p)| p).collect();
 
             assert_eq!(trans.modules.len(), 1);
-            let llmod = trans.modules[0].llmod;
+            let llmod = match trans.modules[0].source {
+                ModuleSource::Preexisting(_) => unimplemented!(),
+                ModuleSource::Translated(llvm) => llvm.llmod,
+            };
 
             // Workaround because raw pointers do not impl Send
             let modp = llmod as usize;