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:
@@ -24,7 +24,7 @@
|
||||
//! use cretonne_codegen::isa;
|
||||
//!
|
||||
//! 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") {
|
||||
//! Err(_) => {
|
||||
@@ -117,14 +117,14 @@ pub enum LookupError {
|
||||
/// Modify the ISA-specific settings before creating the `TargetIsa` trait object with `finish`.
|
||||
pub struct Builder {
|
||||
setup: settings::Builder,
|
||||
constructor: fn(settings::Flags, &settings::Builder) -> Box<TargetIsa>,
|
||||
constructor: fn(settings::Flags, settings::Builder) -> Box<TargetIsa>,
|
||||
}
|
||||
|
||||
impl Builder {
|
||||
/// Combine the ISA-specific settings with the provided ISA-independent settings and allocate a
|
||||
/// fully configured `TargetIsa` trait object.
|
||||
pub fn finish(self, shared_flags: settings::Flags) -> Box<TargetIsa> {
|
||||
(self.constructor)(shared_flags, &self.setup)
|
||||
(self.constructor)(shared_flags, self.setup)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user