diff options
Diffstat (limited to 'compiler/rustc_target/src/spec/abi.rs')
-rw-r--r-- | compiler/rustc_target/src/spec/abi.rs | 53 |
1 files changed, 11 insertions, 42 deletions
diff --git a/compiler/rustc_target/src/spec/abi.rs b/compiler/rustc_target/src/spec/abi.rs index 5582d909f6b..eb3f66ac308 100644 --- a/compiler/rustc_target/src/spec/abi.rs +++ b/compiler/rustc_target/src/spec/abi.rs @@ -148,8 +148,9 @@ pub fn is_enabled( pub fn is_stable(name: &str) -> Result<(), AbiDisabled> { match name { // Stable - "Rust" | "C" | "cdecl" | "stdcall" | "fastcall" | "aapcs" | "win64" | "sysv64" - | "system" | "efiapi" => Ok(()), + "Rust" | "C" | "C-unwind" | "cdecl" | "cdecl-unwind" | "stdcall" | "stdcall-unwind" + | "fastcall" | "fastcall-unwind" | "aapcs" | "aapcs-unwind" | "win64" | "win64-unwind" + | "sysv64" | "sysv64-unwind" | "system" | "system-unwind" | "efiapi" => Ok(()), "rust-intrinsic" => Err(AbiDisabled::Unstable { feature: sym::intrinsics, explain: "intrinsics are subject to change", @@ -162,10 +163,18 @@ pub fn is_stable(name: &str) -> Result<(), AbiDisabled> { feature: sym::abi_vectorcall, explain: "vectorcall is experimental and subject to change", }), + "vectorcall-unwind" => Err(AbiDisabled::Unstable { + feature: sym::abi_vectorcall, + explain: "vectorcall-unwind ABI is experimental and subject to change", + }), "thiscall" => Err(AbiDisabled::Unstable { feature: sym::abi_thiscall, explain: "thiscall is experimental and subject to change", }), + "thiscall-unwind" => Err(AbiDisabled::Unstable { + feature: sym::abi_thiscall, + explain: "thiscall-unwind ABI is experimental and subject to change", + }), "rust-call" => Err(AbiDisabled::Unstable { feature: sym::unboxed_closures, explain: "rust-call ABI is subject to change", @@ -202,46 +211,6 @@ pub fn is_stable(name: &str) -> Result<(), AbiDisabled> { feature: sym::abi_c_cmse_nonsecure_call, explain: "C-cmse-nonsecure-call ABI is experimental and subject to change", }), - "C-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "C-unwind ABI is experimental and subject to change", - }), - "stdcall-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "stdcall-unwind ABI is experimental and subject to change", - }), - "system-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "system-unwind ABI is experimental and subject to change", - }), - "thiscall-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "thiscall-unwind ABI is experimental and subject to change", - }), - "cdecl-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "cdecl-unwind ABI is experimental and subject to change", - }), - "fastcall-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "fastcall-unwind ABI is experimental and subject to change", - }), - "vectorcall-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "vectorcall-unwind ABI is experimental and subject to change", - }), - "aapcs-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "aapcs-unwind ABI is experimental and subject to change", - }), - "win64-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "win64-unwind ABI is experimental and subject to change", - }), - "sysv64-unwind" => Err(AbiDisabled::Unstable { - feature: sym::c_unwind, - explain: "sysv64-unwind ABI is experimental and subject to change", - }), "wasm" => Err(AbiDisabled::Unstable { feature: sym::wasm_abi, explain: "wasm ABI is experimental and subject to change", |