Make settings::Flags::new consume the Builder.
This makes it more clear what the relationship is between the Builder and the resulting Flags.
This commit is contained in:
@@ -61,9 +61,9 @@ pub fn parse_sets_and_isa(flag_set: &[String], flag_isa: &str) -> Result<OwnedFl
|
|||||||
.map_err(|err| err.to_string())?;
|
.map_err(|err| err.to_string())?;
|
||||||
|
|
||||||
Ok(OwnedFlagsOrIsa::Isa(
|
Ok(OwnedFlagsOrIsa::Isa(
|
||||||
isa_builder.finish(settings::Flags::new(&flag_builder)),
|
isa_builder.finish(settings::Flags::new(flag_builder)),
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
Ok(OwnedFlagsOrIsa::Flags(settings::Flags::new(&flag_builder)))
|
Ok(OwnedFlagsOrIsa::Flags(settings::Flags::new(flag_builder)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ def gen_constructor(sgrp, parent, fmt):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
with fmt.indented('impl Flags {', '}'):
|
with fmt.indented('impl Flags {', '}'):
|
||||||
args = 'builder: &Builder'
|
args = 'builder: Builder'
|
||||||
if sgrp.parent:
|
if sgrp.parent:
|
||||||
p = sgrp.parent
|
p = sgrp.parent
|
||||||
args = '{}: &{}::Flags, {}'.format(p.name, p.qual_mod, args)
|
args = '{}: &{}::Flags, {}'.format(p.name, p.qual_mod, args)
|
||||||
|
|||||||
@@ -929,7 +929,7 @@ mod test {
|
|||||||
|
|
||||||
cfg.compute(cur.func);
|
cfg.compute(cur.func);
|
||||||
|
|
||||||
let flags = settings::Flags::new(&settings::builder());
|
let flags = settings::Flags::new(settings::builder());
|
||||||
verify_context(cur.func, &cfg, &dt, &flags).unwrap();
|
verify_context(cur.func, &cfg, &dt, &flags).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ pub fn isa_builder() -> IsaBuilder {
|
|||||||
|
|
||||||
fn isa_constructor(
|
fn isa_constructor(
|
||||||
shared_flags: shared_settings::Flags,
|
shared_flags: shared_settings::Flags,
|
||||||
builder: &shared_settings::Builder,
|
builder: shared_settings::Builder,
|
||||||
) -> Box<TargetIsa> {
|
) -> Box<TargetIsa> {
|
||||||
let level1 = if shared_flags.is_compressed() {
|
let level1 = if shared_flags.is_compressed() {
|
||||||
&enc_tables::LEVEL1_T32[..]
|
&enc_tables::LEVEL1_T32[..]
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ pub fn isa_builder() -> IsaBuilder {
|
|||||||
|
|
||||||
fn isa_constructor(
|
fn isa_constructor(
|
||||||
shared_flags: shared_settings::Flags,
|
shared_flags: shared_settings::Flags,
|
||||||
builder: &shared_settings::Builder,
|
builder: shared_settings::Builder,
|
||||||
) -> Box<TargetIsa> {
|
) -> Box<TargetIsa> {
|
||||||
Box::new(Isa {
|
Box::new(Isa {
|
||||||
isa_flags: settings::Flags::new(&shared_flags, builder),
|
isa_flags: settings::Flags::new(&shared_flags, builder),
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
//! use cretonne_codegen::isa;
|
//! use cretonne_codegen::isa;
|
||||||
//!
|
//!
|
||||||
//! let shared_builder = settings::builder();
|
//! let shared_builder = settings::builder();
|
||||||
//! let shared_flags = settings::Flags::new(&shared_builder);
|
//! let shared_flags = settings::Flags::new(shared_builder);
|
||||||
//!
|
//!
|
||||||
//! match isa::lookup("riscv") {
|
//! match isa::lookup("riscv") {
|
||||||
//! Err(_) => {
|
//! Err(_) => {
|
||||||
@@ -117,14 +117,14 @@ pub enum LookupError {
|
|||||||
/// Modify the ISA-specific settings before creating the `TargetIsa` trait object with `finish`.
|
/// Modify the ISA-specific settings before creating the `TargetIsa` trait object with `finish`.
|
||||||
pub struct Builder {
|
pub struct Builder {
|
||||||
setup: settings::Builder,
|
setup: settings::Builder,
|
||||||
constructor: fn(settings::Flags, &settings::Builder) -> Box<TargetIsa>,
|
constructor: fn(settings::Flags, settings::Builder) -> Box<TargetIsa>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Builder {
|
impl Builder {
|
||||||
/// Combine the ISA-specific settings with the provided ISA-independent settings and allocate a
|
/// Combine the ISA-specific settings with the provided ISA-independent settings and allocate a
|
||||||
/// fully configured `TargetIsa` trait object.
|
/// fully configured `TargetIsa` trait object.
|
||||||
pub fn finish(self, shared_flags: settings::Flags) -> Box<TargetIsa> {
|
pub fn finish(self, shared_flags: settings::Flags) -> Box<TargetIsa> {
|
||||||
(self.constructor)(shared_flags, &self.setup)
|
(self.constructor)(shared_flags, self.setup)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ pub fn isa_builder() -> IsaBuilder {
|
|||||||
|
|
||||||
fn isa_constructor(
|
fn isa_constructor(
|
||||||
shared_flags: shared_settings::Flags,
|
shared_flags: shared_settings::Flags,
|
||||||
builder: &shared_settings::Builder,
|
builder: shared_settings::Builder,
|
||||||
) -> Box<TargetIsa> {
|
) -> Box<TargetIsa> {
|
||||||
let level1 = if shared_flags.is_64bit() {
|
let level1 = if shared_flags.is_64bit() {
|
||||||
&enc_tables::LEVEL1_RV64[..]
|
&enc_tables::LEVEL1_RV64[..]
|
||||||
@@ -130,7 +130,7 @@ mod tests {
|
|||||||
fn test_64bitenc() {
|
fn test_64bitenc() {
|
||||||
let mut shared_builder = settings::builder();
|
let mut shared_builder = settings::builder();
|
||||||
shared_builder.enable("is_64bit").unwrap();
|
shared_builder.enable("is_64bit").unwrap();
|
||||||
let shared_flags = settings::Flags::new(&shared_builder);
|
let shared_flags = settings::Flags::new(shared_builder);
|
||||||
let isa = isa::lookup("riscv").unwrap().finish(shared_flags);
|
let isa = isa::lookup("riscv").unwrap().finish(shared_flags);
|
||||||
|
|
||||||
let mut func = Function::new();
|
let mut func = Function::new();
|
||||||
@@ -180,7 +180,7 @@ mod tests {
|
|||||||
fn test_32bitenc() {
|
fn test_32bitenc() {
|
||||||
let mut shared_builder = settings::builder();
|
let mut shared_builder = settings::builder();
|
||||||
shared_builder.set("is_64bit", "false").unwrap();
|
shared_builder.set("is_64bit", "false").unwrap();
|
||||||
let shared_flags = settings::Flags::new(&shared_builder);
|
let shared_flags = settings::Flags::new(shared_builder);
|
||||||
let isa = isa::lookup("riscv").unwrap().finish(shared_flags);
|
let isa = isa::lookup("riscv").unwrap().finish(shared_flags);
|
||||||
|
|
||||||
let mut func = Function::new();
|
let mut func = Function::new();
|
||||||
@@ -234,7 +234,7 @@ mod tests {
|
|||||||
fn test_rv32m() {
|
fn test_rv32m() {
|
||||||
let mut shared_builder = settings::builder();
|
let mut shared_builder = settings::builder();
|
||||||
shared_builder.set("is_64bit", "false").unwrap();
|
shared_builder.set("is_64bit", "false").unwrap();
|
||||||
let shared_flags = settings::Flags::new(&shared_builder);
|
let shared_flags = settings::Flags::new(shared_builder);
|
||||||
|
|
||||||
// Set the supports_m stting which in turn enables the use_m predicate that unlocks
|
// Set the supports_m stting which in turn enables the use_m predicate that unlocks
|
||||||
// encodings for imul.
|
// encodings for imul.
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn display_default() {
|
fn display_default() {
|
||||||
let shared = settings::Flags::new(&settings::builder());
|
let shared = settings::Flags::new(settings::builder());
|
||||||
let b = builder();
|
let b = builder();
|
||||||
let f = Flags::new(&shared, &b);
|
let f = Flags::new(&shared, b);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
f.to_string(),
|
f.to_string(),
|
||||||
"[riscv]\n\
|
"[riscv]\n\
|
||||||
@@ -35,20 +35,20 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn predicates() {
|
fn predicates() {
|
||||||
let shared = settings::Flags::new(&settings::builder());
|
let shared = settings::Flags::new(settings::builder());
|
||||||
let mut b = builder();
|
let mut b = builder();
|
||||||
b.enable("supports_f").unwrap();
|
b.enable("supports_f").unwrap();
|
||||||
b.enable("supports_d").unwrap();
|
b.enable("supports_d").unwrap();
|
||||||
let f = Flags::new(&shared, &b);
|
let f = Flags::new(&shared, b);
|
||||||
assert_eq!(f.full_float(), true);
|
assert_eq!(f.full_float(), true);
|
||||||
|
|
||||||
let mut sb = settings::builder();
|
let mut sb = settings::builder();
|
||||||
sb.set("enable_simd", "false").unwrap();
|
sb.set("enable_simd", "false").unwrap();
|
||||||
let shared = settings::Flags::new(&sb);
|
let shared = settings::Flags::new(sb);
|
||||||
let mut b = builder();
|
let mut b = builder();
|
||||||
b.enable("supports_f").unwrap();
|
b.enable("supports_f").unwrap();
|
||||||
b.enable("supports_d").unwrap();
|
b.enable("supports_d").unwrap();
|
||||||
let f = Flags::new(&shared, &b);
|
let f = Flags::new(&shared, b);
|
||||||
assert_eq!(f.full_float(), false);
|
assert_eq!(f.full_float(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ pub fn isa_builder() -> IsaBuilder {
|
|||||||
|
|
||||||
fn isa_constructor(
|
fn isa_constructor(
|
||||||
shared_flags: shared_settings::Flags,
|
shared_flags: shared_settings::Flags,
|
||||||
builder: &shared_settings::Builder,
|
builder: shared_settings::Builder,
|
||||||
) -> Box<TargetIsa> {
|
) -> Box<TargetIsa> {
|
||||||
let level1 = if shared_flags.is_64bit() {
|
let level1 = if shared_flags.is_64bit() {
|
||||||
&enc_tables::LEVEL1_I64[..]
|
&enc_tables::LEVEL1_I64[..]
|
||||||
|
|||||||
@@ -15,38 +15,38 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn presets() {
|
fn presets() {
|
||||||
let shared = settings::Flags::new(&settings::builder());
|
let shared = settings::Flags::new(settings::builder());
|
||||||
|
|
||||||
// Nehalem has SSE4.1 but not BMI1.
|
// Nehalem has SSE4.1 but not BMI1.
|
||||||
let mut b1 = builder();
|
let mut b0 = builder();
|
||||||
b1.enable("nehalem").unwrap();
|
b0.enable("nehalem").unwrap();
|
||||||
let f1 = Flags::new(&shared, &b1);
|
let f0 = Flags::new(&shared, b0);
|
||||||
assert_eq!(f1.has_sse41(), true);
|
assert_eq!(f0.has_sse41(), true);
|
||||||
assert_eq!(f1.has_bmi1(), false);
|
assert_eq!(f0.has_bmi1(), false);
|
||||||
|
|
||||||
let mut b2 = builder();
|
let mut b1 = builder();
|
||||||
b2.enable("haswell").unwrap();
|
b1.enable("haswell").unwrap();
|
||||||
let f2 = Flags::new(&shared, &b2);
|
let f1 = Flags::new(&shared, b1);
|
||||||
assert_eq!(f2.has_sse41(), true);
|
assert_eq!(f1.has_sse41(), true);
|
||||||
assert_eq!(f2.has_bmi1(), true);
|
assert_eq!(f1.has_bmi1(), true);
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
fn display_presets() {
|
fn display_presets() {
|
||||||
// Spot check that the flags Display impl does not cause a panic
|
// Spot check that the flags Display impl does not cause a panic
|
||||||
let shared = settings::Flags::new(&settings::builder());
|
let shared = settings::Flags::new(settings::builder());
|
||||||
|
|
||||||
let b1 = builder();
|
let b0 = builder();
|
||||||
let f1 = Flags::new(&shared, &b1);
|
let f0 = Flags::new(&shared, b0);
|
||||||
|
let _ = format!("{}", f0);
|
||||||
|
|
||||||
|
let mut b1 = builder();
|
||||||
|
b1.enable("nehalem").unwrap();
|
||||||
|
let f1 = Flags::new(&shared, b1);
|
||||||
let _ = format!("{}", f1);
|
let _ = format!("{}", f1);
|
||||||
|
|
||||||
let mut b2 = builder();
|
let mut b2 = builder();
|
||||||
b2.enable("nehalem").unwrap();
|
b2.enable("haswell").unwrap();
|
||||||
let f2 = Flags::new(&shared, &b1);
|
let f2 = Flags::new(&shared, b2);
|
||||||
let _ = format!("{}", f2);
|
let _ = format!("{}", f2);
|
||||||
|
|
||||||
let mut b3 = builder();
|
|
||||||
b3.enable("haswell").unwrap();
|
|
||||||
let f3 = Flags::new(&shared, &b1);
|
|
||||||
let _ = format!("{}", f3);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ mod tests {
|
|||||||
use settings;
|
use settings;
|
||||||
|
|
||||||
let shared_builder = settings::builder();
|
let shared_builder = settings::builder();
|
||||||
let shared_flags = settings::Flags::new(&shared_builder);
|
let shared_flags = settings::Flags::new(shared_builder);
|
||||||
|
|
||||||
isa::lookup("arm32").ok().map(|b| b.finish(shared_flags))
|
isa::lookup("arm32").ok().map(|b| b.finish(shared_flags))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1157,7 +1157,7 @@ mod tests {
|
|||||||
use settings;
|
use settings;
|
||||||
|
|
||||||
let shared_builder = settings::builder();
|
let shared_builder = settings::builder();
|
||||||
let shared_flags = settings::Flags::new(&shared_builder);
|
let shared_flags = settings::Flags::new(shared_builder);
|
||||||
|
|
||||||
isa::lookup("arm32").ok().map(|b| b.finish(shared_flags))
|
isa::lookup("arm32").ok().map(|b| b.finish(shared_flags))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
//! let mut b = settings::builder();
|
//! let mut b = settings::builder();
|
||||||
//! b.set("opt_level", "fastest");
|
//! b.set("opt_level", "fastest");
|
||||||
//!
|
//!
|
||||||
//! let f = settings::Flags::new(&b);
|
//! let f = settings::Flags::new(b);
|
||||||
//! assert_eq!(f.opt_level(), settings::OptLevel::Fastest);
|
//! assert_eq!(f.opt_level(), settings::OptLevel::Fastest);
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
@@ -44,6 +44,7 @@ pub trait Configurable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Collect settings values based on a template.
|
/// Collect settings values based on a template.
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct Builder {
|
pub struct Builder {
|
||||||
template: &'static detail::Template,
|
template: &'static detail::Template,
|
||||||
bytes: Box<[u8]>,
|
bytes: Box<[u8]>,
|
||||||
@@ -354,7 +355,7 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn display_default() {
|
fn display_default() {
|
||||||
let b = builder();
|
let b = builder();
|
||||||
let f = Flags::new(&b);
|
let f = Flags::new(b);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
f.to_string(),
|
f.to_string(),
|
||||||
"[shared]\n\
|
"[shared]\n\
|
||||||
@@ -388,7 +389,7 @@ mod tests {
|
|||||||
assert_eq!(b.enable("enable_simd"), Ok(()));
|
assert_eq!(b.enable("enable_simd"), Ok(()));
|
||||||
assert_eq!(b.set("enable_simd", "false"), Ok(()));
|
assert_eq!(b.set("enable_simd", "false"), Ok(()));
|
||||||
|
|
||||||
let f = Flags::new(&b);
|
let f = Flags::new(b);
|
||||||
assert_eq!(f.enable_simd(), false);
|
assert_eq!(f.enable_simd(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,7 +403,7 @@ mod tests {
|
|||||||
assert_eq!(b.set("opt_level", "best"), Ok(()));
|
assert_eq!(b.set("opt_level", "best"), Ok(()));
|
||||||
assert_eq!(b.set("enable_simd", "0"), Ok(()));
|
assert_eq!(b.set("enable_simd", "0"), Ok(()));
|
||||||
|
|
||||||
let f = Flags::new(&b);
|
let f = Flags::new(b);
|
||||||
assert_eq!(f.enable_simd(), false);
|
assert_eq!(f.enable_simd(), false);
|
||||||
assert_eq!(f.opt_level(), super::OptLevel::Best);
|
assert_eq!(f.opt_level(), super::OptLevel::Best);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1175,7 +1175,7 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn empty() {
|
fn empty() {
|
||||||
let func = Function::new();
|
let func = Function::new();
|
||||||
let flags = &settings::Flags::new(&settings::builder());
|
let flags = &settings::Flags::new(settings::builder());
|
||||||
let verifier = Verifier::new(&func, flags.into());
|
let verifier = Verifier::new(&func, flags.into());
|
||||||
assert_eq!(verifier.run(), Ok(()));
|
assert_eq!(verifier.run(), Ok(()));
|
||||||
}
|
}
|
||||||
@@ -1198,7 +1198,7 @@ mod tests {
|
|||||||
}),
|
}),
|
||||||
ebb0,
|
ebb0,
|
||||||
);
|
);
|
||||||
let flags = &settings::Flags::new(&settings::builder());
|
let flags = &settings::Flags::new(settings::builder());
|
||||||
let verifier = Verifier::new(&func, flags.into());
|
let verifier = Verifier::new(&func, flags.into());
|
||||||
assert_err_with_msg!(verifier.run(), "instruction format");
|
assert_err_with_msg!(verifier.run(), "instruction format");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -688,7 +688,7 @@ mod tests {
|
|||||||
builder.finalize();
|
builder.finalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
let flags = settings::Flags::new(&settings::builder());
|
let flags = settings::Flags::new(settings::builder());
|
||||||
let res = verify_function(&func, &flags);
|
let res = verify_function(&func, &flags);
|
||||||
// println!("{}", func.display(None));
|
// println!("{}", func.display(None));
|
||||||
match res {
|
match res {
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
//! builder.finalize();
|
//! builder.finalize();
|
||||||
//! }
|
//! }
|
||||||
//!
|
//!
|
||||||
//! let flags = settings::Flags::new(&settings::builder());
|
//! let flags = settings::Flags::new(settings::builder());
|
||||||
//! let res = verify_function(&func, &flags);
|
//! let res = verify_function(&func, &flags);
|
||||||
//! println!("{}", func.display(None));
|
//! println!("{}", func.display(None));
|
||||||
//! match res {
|
//! match res {
|
||||||
|
|||||||
@@ -1021,7 +1021,7 @@ mod tests {
|
|||||||
let mut cur = FuncCursor::new(&mut func).at_bottom(ebb1);
|
let mut cur = FuncCursor::new(&mut func).at_bottom(ebb1);
|
||||||
cur.ins().return_(&[])
|
cur.ins().return_(&[])
|
||||||
};
|
};
|
||||||
let flags = settings::Flags::new(&settings::builder());
|
let flags = settings::Flags::new(settings::builder());
|
||||||
match verify_function(&func, &flags) {
|
match verify_function(&func, &flags) {
|
||||||
Ok(()) => {}
|
Ok(()) => {}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
@@ -1200,7 +1200,7 @@ mod tests {
|
|||||||
ssa.declare_ebb_predecessor(ebb1, block2, j);
|
ssa.declare_ebb_predecessor(ebb1, block2, j);
|
||||||
}
|
}
|
||||||
ssa.seal_ebb_header_block(ebb1, &mut func);
|
ssa.seal_ebb_header_block(ebb1, &mut func);
|
||||||
let flags = settings::Flags::new(&settings::builder());
|
let flags = settings::Flags::new(settings::builder());
|
||||||
match verify_function(&func, &flags) {
|
match verify_function(&func, &flags) {
|
||||||
Ok(()) => {}
|
Ok(()) => {}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
@@ -1251,7 +1251,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
ssa.seal_ebb_header_block(ebb1, &mut func);
|
ssa.seal_ebb_header_block(ebb1, &mut func);
|
||||||
ssa.seal_ebb_header_block(ebb2, &mut func);
|
ssa.seal_ebb_header_block(ebb2, &mut func);
|
||||||
let flags = settings::Flags::new(&settings::builder());
|
let flags = settings::Flags::new(settings::builder());
|
||||||
match verify_function(&func, &flags) {
|
match verify_function(&func, &flags) {
|
||||||
Ok(()) => {}
|
Ok(()) => {}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
|
|||||||
@@ -725,14 +725,16 @@ impl<'a> Parser<'a> {
|
|||||||
isaspec::parse_options(words, &mut isa_builder, &self.loc)?;
|
isaspec::parse_options(words, &mut isa_builder, &self.loc)?;
|
||||||
|
|
||||||
// Construct a trait object with the aggregate settings.
|
// Construct a trait object with the aggregate settings.
|
||||||
isas.push(isa_builder.finish(settings::Flags::new(&flag_builder)));
|
isas.push(isa_builder.finish(
|
||||||
|
settings::Flags::new(flag_builder.clone()),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
_ => break,
|
_ => break,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !seen_isa {
|
if !seen_isa {
|
||||||
// No `isa` commands, but we allow for `set` commands.
|
// No `isa` commands, but we allow for `set` commands.
|
||||||
Ok(isaspec::IsaSpec::None(settings::Flags::new(&flag_builder)))
|
Ok(isaspec::IsaSpec::None(settings::Flags::new(flag_builder)))
|
||||||
} else if let Some(loc) = last_set_loc {
|
} else if let Some(loc) = last_set_loc {
|
||||||
err!(
|
err!(
|
||||||
loc,
|
loc,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ impl SimpleJITBuilder {
|
|||||||
let (flag_builder, isa_builder) = cretonne_native::builders().unwrap_or_else(|_| {
|
let (flag_builder, isa_builder) = cretonne_native::builders().unwrap_or_else(|_| {
|
||||||
panic!("host machine is not a supported target");
|
panic!("host machine is not a supported target");
|
||||||
});
|
});
|
||||||
let isa = isa_builder.finish(settings::Flags::new(&flag_builder));
|
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||||
Self::with_isa(isa)
|
Self::with_isa(isa)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ pub struct DummyEnvironment {
|
|||||||
impl DummyEnvironment {
|
impl DummyEnvironment {
|
||||||
/// Allocates the data structures with default flags.
|
/// Allocates the data structures with default flags.
|
||||||
pub fn default() -> Self {
|
pub fn default() -> Self {
|
||||||
Self::with_flags(settings::Flags::new(&settings::builder()))
|
Self::with_flags(settings::Flags::new(settings::builder()))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Allocates the data structures with the given flags.
|
/// Allocates the data structures with the given flags.
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ fn testsuite() {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
paths.sort_by_key(|dir| dir.path());
|
paths.sort_by_key(|dir| dir.path());
|
||||||
let flags = Flags::new(&settings::builder());
|
let flags = Flags::new(settings::builder());
|
||||||
for path in paths {
|
for path in paths {
|
||||||
let path = path.path();
|
let path = path.path();
|
||||||
handle_module(&path, &flags);
|
handle_module(&path, &flags);
|
||||||
@@ -43,7 +43,7 @@ fn testsuite() {
|
|||||||
fn return_at_end() {
|
fn return_at_end() {
|
||||||
let mut flag_builder = settings::builder();
|
let mut flag_builder = settings::builder();
|
||||||
flag_builder.enable("return_at_end").unwrap();
|
flag_builder.enable("return_at_end").unwrap();
|
||||||
let flags = Flags::new(&flag_builder);
|
let flags = Flags::new(flag_builder);
|
||||||
handle_module(&PathBuf::from("../../wasmtests/return_at_end.wat"), &flags);
|
handle_module(&PathBuf::from("../../wasmtests/return_at_end.wat"), &flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user