extern crate rustc_driver;
extern crate test;
-use self::miri::eval_main;
-use self::rustc_driver::{driver, Compilation};
+use rustc_driver::{driver, Compilation};
use rustc::hir::def_id::LOCAL_CRATE;
use std::cell::RefCell;
use std::rc::Rc;
+
+use miri::{MiriConfig, eval_main};
+
use crate::test::Bencher;
pub struct MiriCompilerCalls<'a>(Rc<RefCell<&'a mut Bencher>>);
);
bencher.borrow_mut().iter(|| {
- eval_main(tcx, entry_def_id, false);
+ let config = MiriConfig { validate: true, args: vec![] };
+ eval_main(tcx, entry_def_id, config);
});
state.session.abort_if_errors();
use syntax::ast;
use rustc::hir::def_id::LOCAL_CRATE;
+use miri::MiriConfig;
+
struct MiriCompilerCalls {
default: Box<RustcDefaultCalls>,
/// whether we are building for the host
fn visit_item(&mut self, i: &'hir hir::Item) {
if let hir::ItemKind::Fn(.., body_id) = i.node {
if i.attrs.iter().any(|attr| attr.name() == "test") {
+ let config = MiriConfig { validate: true, args: vec![] };
let did = self.0.hir().body_owner_def_id(body_id);
println!("running test: {}", self.0.def_path_debug_str(did));
- miri::eval_main(self.0, did, /*validate*/true);
+ miri::eval_main(self.0, did, config);
self.1.session.abort_if_errors();
}
}
}
state.hir_crate.unwrap().visit_all_item_likes(&mut Visitor(tcx, state));
} else if let Some((entry_def_id, _)) = tcx.entry_fn(LOCAL_CRATE) {
- miri::eval_main(tcx, entry_def_id, /*validate*/true);
+ let config = MiriConfig { validate: true, args: vec![] };
+ miri::eval_main(tcx, entry_def_id, config);
state.session.abort_if_errors();
} else {