fix loading target specs in compiletest not working with custom targets
This commit is contained in:
parent
af9df2fd91
commit
00cc815e57
@ -439,7 +439,7 @@ pub struct TargetCfgs {
|
|||||||
|
|
||||||
impl TargetCfgs {
|
impl TargetCfgs {
|
||||||
fn new(config: &Config) -> TargetCfgs {
|
fn new(config: &Config) -> TargetCfgs {
|
||||||
let targets: HashMap<String, TargetCfg> = serde_json::from_str(&rustc_output(
|
let mut targets: HashMap<String, TargetCfg> = serde_json::from_str(&rustc_output(
|
||||||
config,
|
config,
|
||||||
&["--print=all-target-specs-json", "-Zunstable-options"],
|
&["--print=all-target-specs-json", "-Zunstable-options"],
|
||||||
))
|
))
|
||||||
@ -454,6 +454,18 @@ fn new(config: &Config) -> TargetCfgs {
|
|||||||
let mut all_families = HashSet::new();
|
let mut all_families = HashSet::new();
|
||||||
let mut all_pointer_widths = HashSet::new();
|
let mut all_pointer_widths = HashSet::new();
|
||||||
|
|
||||||
|
// Handle custom target specs, which are not included in `--print=all-target-specs-json`.
|
||||||
|
if config.target.ends_with(".json") {
|
||||||
|
targets.insert(
|
||||||
|
config.target.clone(),
|
||||||
|
serde_json::from_str(&rustc_output(
|
||||||
|
config,
|
||||||
|
&["--print=target-spec-json", "-Zunstable-options", "--target", &config.target],
|
||||||
|
))
|
||||||
|
.unwrap(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
for (target, cfg) in targets.iter() {
|
for (target, cfg) in targets.iter() {
|
||||||
all_archs.insert(cfg.arch.clone());
|
all_archs.insert(cfg.arch.clone());
|
||||||
all_oses.insert(cfg.os.clone());
|
all_oses.insert(cfg.os.clone());
|
||||||
|
Loading…
Reference in New Issue
Block a user