1
Fork 0

Remove i586-pc-windows-msvc

See MCP 840.

I left a specialized error message that should help users that hit this
in the wild (for example, because they use it in their CI).
This commit is contained in:
Noratrieb 2025-03-03 20:14:16 +01:00
parent 81d8edc200
commit b5562c04e7
7 changed files with 11 additions and 22 deletions

View file

@ -1915,7 +1915,6 @@ supported_targets! {
("i686-pc-windows-msvc", i686_pc_windows_msvc),
("i686-uwp-windows-msvc", i686_uwp_windows_msvc),
("i686-win7-windows-msvc", i686_win7_windows_msvc),
("i586-pc-windows-msvc", i586_pc_windows_msvc),
("thumbv7a-pc-windows-msvc", thumbv7a_pc_windows_msvc),
("thumbv7a-uwp-windows-msvc", thumbv7a_uwp_windows_msvc),
@ -3503,7 +3502,15 @@ impl Target {
return load_file(&p);
}
Err(format!("Could not find specification for target {target_tuple:?}"))
// Leave in a specialized error message for the removed target.
// FIXME: If you see this and it's been a few months after this has been released,
// you can probably remove it.
if target_tuple == "i586-pc-windows-msvc" {
Err("the `i586-pc-windows-msvc` target has been removed. Use the `i686-pc-windows-msvc` target instead.\n\
Windows 10 (the minimum required OS version) requires a CPU baseline of at least i686 so you can safely switch".into())
} else {
Err(format!("Could not find specification for target {target_tuple:?}"))
}
}
TargetTuple::TargetJson { ref contents, .. } => {
let obj = serde_json::from_str(contents).map_err(|e| e.to_string())?;

View file

@ -1,9 +0,0 @@
use crate::spec::Target;
pub(crate) fn target() -> Target {
let mut base = super::i686_pc_windows_msvc::target();
base.rustc_abi = None; // overwrite the SSE2 ABI set by the base target
base.cpu = "pentium".into();
base.llvm_target = "i586-pc-windows-msvc".into();
base
}