Support ISA-specific settings in the --isa command-line option.

This commit is contained in:
Dan Gohman
2017-10-05 10:05:53 -07:00
parent 73d4bb47c0
commit e4ef2cbf22

View File

@@ -104,10 +104,14 @@ pub fn parse_sets_and_isa(
let mut words = flag_isa.trim().split_whitespace();
// Look for `isa foo`.
if let Some(isa_name) = words.next() {
let isa_builder = isa::lookup(isa_name).map_err(|err| match err {
let mut isa_builder = isa::lookup(isa_name).map_err(|err| match err {
isa::LookupError::Unknown => format!("unknown ISA '{}'", isa_name),
isa::LookupError::Unsupported => format!("support for ISA '{}' not enabled", isa_name),
})?;
// Apply the ISA-specific settings to `isa_builder`.
parse_options(words, &mut isa_builder, &Location { line_number: 0 })
.map_err(|err| err.to_string())?;
Ok(OwnedFlagsOrIsa::Isa(
isa_builder.finish(settings::Flags::new(&flag_builder)),
))