Add gpu-kernel calling convention

The amdgpu-kernel calling convention was reverted in commit
f6b21e90d1 due to inactivity in the amdgpu
target.

Introduce a `gpu-kernel` calling convention that translates to
`ptx_kernel` or `amdgpu_kernel`, depending on the target that rust
compiles for.
This commit is contained in:
Flakebi 2025-01-02 22:42:10 +01:00
parent bf6f8a4d32
commit e7e5202978
No known key found for this signature in database
GPG key ID: 38E7ED984D7DCD02
29 changed files with 435 additions and 175 deletions

View file

@ -45,6 +45,9 @@ pub enum ExternAbi {
PtxKernel, PtxKernel,
Msp430Interrupt, Msp430Interrupt,
X86Interrupt, X86Interrupt,
/// An entry-point function called by the GPU's host
// FIXME: should not be callable from Rust on GPU targets, is for host's use only
GpuKernel,
EfiApi, EfiApi,
AvrInterrupt, AvrInterrupt,
AvrNonBlockingInterrupt, AvrNonBlockingInterrupt,
@ -122,6 +125,7 @@ const AbiDatas: &[AbiData] = &[
AbiData { abi: Abi::PtxKernel, name: "ptx-kernel" }, AbiData { abi: Abi::PtxKernel, name: "ptx-kernel" },
AbiData { abi: Abi::Msp430Interrupt, name: "msp430-interrupt" }, AbiData { abi: Abi::Msp430Interrupt, name: "msp430-interrupt" },
AbiData { abi: Abi::X86Interrupt, name: "x86-interrupt" }, AbiData { abi: Abi::X86Interrupt, name: "x86-interrupt" },
AbiData { abi: Abi::GpuKernel, name: "gpu-kernel" },
AbiData { abi: Abi::EfiApi, name: "efiapi" }, AbiData { abi: Abi::EfiApi, name: "efiapi" },
AbiData { abi: Abi::AvrInterrupt, name: "avr-interrupt" }, AbiData { abi: Abi::AvrInterrupt, name: "avr-interrupt" },
AbiData { abi: Abi::AvrNonBlockingInterrupt, name: "avr-non-blocking-interrupt" }, AbiData { abi: Abi::AvrNonBlockingInterrupt, name: "avr-non-blocking-interrupt" },
@ -235,6 +239,10 @@ pub fn is_stable(name: &str) -> Result<(), AbiDisabled> {
feature: sym::abi_x86_interrupt, feature: sym::abi_x86_interrupt,
explain: "x86-interrupt ABI is experimental and subject to change", explain: "x86-interrupt ABI is experimental and subject to change",
}), }),
"gpu-kernel" => Err(AbiDisabled::Unstable {
feature: sym::abi_gpu_kernel,
explain: "gpu-kernel ABI is experimental and subject to change",
}),
"avr-interrupt" | "avr-non-blocking-interrupt" => Err(AbiDisabled::Unstable { "avr-interrupt" | "avr-non-blocking-interrupt" => Err(AbiDisabled::Unstable {
feature: sym::abi_avr_interrupt, feature: sym::abi_avr_interrupt,
explain: "avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change", explain: "avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change",
@ -289,20 +297,21 @@ impl Abi {
PtxKernel => 19, PtxKernel => 19,
Msp430Interrupt => 20, Msp430Interrupt => 20,
X86Interrupt => 21, X86Interrupt => 21,
EfiApi => 22, GpuKernel => 22,
AvrInterrupt => 23, EfiApi => 23,
AvrNonBlockingInterrupt => 24, AvrInterrupt => 24,
CCmseNonSecureCall => 25, AvrNonBlockingInterrupt => 25,
CCmseNonSecureEntry => 26, CCmseNonSecureCall => 26,
CCmseNonSecureEntry => 27,
// Cross-platform ABIs // Cross-platform ABIs
System { unwind: false } => 27, System { unwind: false } => 28,
System { unwind: true } => 28, System { unwind: true } => 29,
RustIntrinsic => 29, RustIntrinsic => 30,
RustCall => 30, RustCall => 31,
Unadjusted => 31, Unadjusted => 32,
RustCold => 32, RustCold => 33,
RiscvInterruptM => 33, RiscvInterruptM => 34,
RiscvInterruptS => 34, RiscvInterruptS => 35,
}; };
debug_assert!( debug_assert!(
AbiDatas AbiDatas

View file

@ -65,7 +65,11 @@ pub(crate) fn conv_to_call_conv(sess: &Session, c: Conv, default_call_conv: Call
sess.dcx().fatal("C-cmse-nonsecure-entry call conv is not yet implemented"); sess.dcx().fatal("C-cmse-nonsecure-entry call conv is not yet implemented");
} }
Conv::Msp430Intr | Conv::PtxKernel | Conv::AvrInterrupt | Conv::AvrNonBlockingInterrupt => { Conv::Msp430Intr
| Conv::PtxKernel
| Conv::GpuKernel
| Conv::AvrInterrupt
| Conv::AvrNonBlockingInterrupt => {
unreachable!("tried to use {c:?} call conv which only exists on an unsupported target"); unreachable!("tried to use {c:?} call conv which only exists on an unsupported target");
} }
} }

View file

@ -1,3 +1,4 @@
use std::borrow::Borrow;
use std::cmp; use std::cmp;
use libc::c_uint; use libc::c_uint;
@ -312,7 +313,7 @@ impl<'ll, 'tcx> ArgAbiBuilderMethods<'tcx> for Builder<'_, 'll, 'tcx> {
pub(crate) trait FnAbiLlvmExt<'ll, 'tcx> { pub(crate) trait FnAbiLlvmExt<'ll, 'tcx> {
fn llvm_type(&self, cx: &CodegenCx<'ll, 'tcx>) -> &'ll Type; fn llvm_type(&self, cx: &CodegenCx<'ll, 'tcx>) -> &'ll Type;
fn ptr_to_llvm_type(&self, cx: &CodegenCx<'ll, 'tcx>) -> &'ll Type; fn ptr_to_llvm_type(&self, cx: &CodegenCx<'ll, 'tcx>) -> &'ll Type;
fn llvm_cconv(&self) -> llvm::CallConv; fn llvm_cconv(&self, cx: &CodegenCx<'ll, 'tcx>) -> llvm::CallConv;
/// Apply attributes to a function declaration/definition. /// Apply attributes to a function declaration/definition.
fn apply_attrs_llfn( fn apply_attrs_llfn(
@ -404,8 +405,8 @@ impl<'ll, 'tcx> FnAbiLlvmExt<'ll, 'tcx> for FnAbi<'tcx, Ty<'tcx>> {
cx.type_ptr_ext(cx.data_layout().instruction_address_space) cx.type_ptr_ext(cx.data_layout().instruction_address_space)
} }
fn llvm_cconv(&self) -> llvm::CallConv { fn llvm_cconv(&self, cx: &CodegenCx<'ll, 'tcx>) -> llvm::CallConv {
self.conv.into() llvm::CallConv::from_conv(self.conv, cx.tcx.sess.target.arch.borrow())
} }
fn apply_attrs_llfn( fn apply_attrs_llfn(
@ -617,7 +618,7 @@ impl<'ll, 'tcx> FnAbiLlvmExt<'ll, 'tcx> for FnAbi<'tcx, Ty<'tcx>> {
} }
} }
let cconv = self.llvm_cconv(); let cconv = self.llvm_cconv(&bx.cx);
if cconv != llvm::CCallConv { if cconv != llvm::CCallConv {
llvm::SetInstructionCallConv(callsite, cconv); llvm::SetInstructionCallConv(callsite, cconv);
} }
@ -655,8 +656,8 @@ impl<'tcx> AbiBuilderMethods<'tcx> for Builder<'_, '_, 'tcx> {
} }
} }
impl From<Conv> for llvm::CallConv { impl llvm::CallConv {
fn from(conv: Conv) -> Self { pub fn from_conv(conv: Conv, arch: &str) -> Self {
match conv { match conv {
Conv::C Conv::C
| Conv::Rust | Conv::Rust
@ -666,6 +667,15 @@ impl From<Conv> for llvm::CallConv {
Conv::Cold => llvm::ColdCallConv, Conv::Cold => llvm::ColdCallConv,
Conv::PreserveMost => llvm::PreserveMost, Conv::PreserveMost => llvm::PreserveMost,
Conv::PreserveAll => llvm::PreserveAll, Conv::PreserveAll => llvm::PreserveAll,
Conv::GpuKernel => {
if arch == "amdgpu" {
llvm::AmdgpuKernel
} else if arch == "nvptx64" {
llvm::PtxKernel
} else {
panic!("Architecture {arch} does not support GpuKernel calling convention");
}
}
Conv::AvrInterrupt => llvm::AvrInterrupt, Conv::AvrInterrupt => llvm::AvrInterrupt,
Conv::AvrNonBlockingInterrupt => llvm::AvrNonBlockingInterrupt, Conv::AvrNonBlockingInterrupt => llvm::AvrNonBlockingInterrupt,
Conv::ArmAapcs => llvm::ArmAapcsCallConv, Conv::ArmAapcs => llvm::ArmAapcsCallConv,

View file

@ -741,7 +741,10 @@ impl<'ll, 'tcx> MiscCodegenMethods<'tcx> for CodegenCx<'ll, 'tcx> {
if self.get_declared_value(entry_name).is_none() { if self.get_declared_value(entry_name).is_none() {
Some(self.declare_entry_fn( Some(self.declare_entry_fn(
entry_name, entry_name,
self.sess().target.entry_abi.into(), llvm::CallConv::from_conv(
self.sess().target.entry_abi,
self.sess().target.arch.borrow(),
),
llvm::UnnamedAddr::Global, llvm::UnnamedAddr::Global,
fn_type, fn_type,
)) ))

View file

@ -125,7 +125,7 @@ impl<'ll, 'tcx> CodegenCx<'ll, 'tcx> {
let llfn = declare_raw_fn( let llfn = declare_raw_fn(
self, self,
name, name,
fn_abi.llvm_cconv(), fn_abi.llvm_cconv(self),
llvm::UnnamedAddr::Global, llvm::UnnamedAddr::Global,
llvm::Visibility::Default, llvm::Visibility::Default,
fn_abi.llvm_type(self), fn_abi.llvm_type(self),

View file

@ -120,6 +120,7 @@ pub enum CallConv {
X86_Intr = 83, X86_Intr = 83,
AvrNonBlockingInterrupt = 84, AvrNonBlockingInterrupt = 84,
AvrInterrupt = 85, AvrInterrupt = 85,
AmdgpuKernel = 91,
} }
/// Must match the layout of `LLVMLinkage`. /// Must match the layout of `LLVMLinkage`.

View file

@ -359,6 +359,8 @@ declare_features! (
(unstable, abi_avr_interrupt, "1.45.0", Some(69664)), (unstable, abi_avr_interrupt, "1.45.0", Some(69664)),
/// Allows `extern "C-cmse-nonsecure-call" fn()`. /// Allows `extern "C-cmse-nonsecure-call" fn()`.
(unstable, abi_c_cmse_nonsecure_call, "1.51.0", Some(81391)), (unstable, abi_c_cmse_nonsecure_call, "1.51.0", Some(81391)),
/// Allows `extern "gpu-kernel" fn()`.
(unstable, abi_gpu_kernel, "CURRENT_RUSTC_VERSION", Some(135467)),
/// Allows `extern "msp430-interrupt" fn()`. /// Allows `extern "msp430-interrupt" fn()`.
(unstable, abi_msp430_interrupt, "1.16.0", Some(38487)), (unstable, abi_msp430_interrupt, "1.16.0", Some(38487)),
/// Allows `extern "ptx-*" fn()`. /// Allows `extern "ptx-*" fn()`.

View file

@ -1240,6 +1240,7 @@ pub fn fn_can_unwind(tcx: TyCtxt<'_>, fn_def_id: Option<DefId>, abi: ExternAbi)
PtxKernel PtxKernel
| Msp430Interrupt | Msp430Interrupt
| X86Interrupt | X86Interrupt
| GpuKernel
| EfiApi | EfiApi
| AvrInterrupt | AvrInterrupt
| AvrNonBlockingInterrupt | AvrNonBlockingInterrupt

View file

@ -472,6 +472,7 @@ impl RustcInternal for Abi {
Abi::PtxKernel => rustc_abi::ExternAbi::PtxKernel, Abi::PtxKernel => rustc_abi::ExternAbi::PtxKernel,
Abi::Msp430Interrupt => rustc_abi::ExternAbi::Msp430Interrupt, Abi::Msp430Interrupt => rustc_abi::ExternAbi::Msp430Interrupt,
Abi::X86Interrupt => rustc_abi::ExternAbi::X86Interrupt, Abi::X86Interrupt => rustc_abi::ExternAbi::X86Interrupt,
Abi::GpuKernel => rustc_abi::ExternAbi::GpuKernel,
Abi::EfiApi => rustc_abi::ExternAbi::EfiApi, Abi::EfiApi => rustc_abi::ExternAbi::EfiApi,
Abi::AvrInterrupt => rustc_abi::ExternAbi::AvrInterrupt, Abi::AvrInterrupt => rustc_abi::ExternAbi::AvrInterrupt,
Abi::AvrNonBlockingInterrupt => rustc_abi::ExternAbi::AvrNonBlockingInterrupt, Abi::AvrNonBlockingInterrupt => rustc_abi::ExternAbi::AvrNonBlockingInterrupt,

View file

@ -113,6 +113,7 @@ impl<'tcx> Stable<'tcx> for callconv::Conv {
Conv::X86VectorCall => CallConvention::X86VectorCall, Conv::X86VectorCall => CallConvention::X86VectorCall,
Conv::X86_64SysV => CallConvention::X86_64SysV, Conv::X86_64SysV => CallConvention::X86_64SysV,
Conv::X86_64Win64 => CallConvention::X86_64Win64, Conv::X86_64Win64 => CallConvention::X86_64Win64,
Conv::GpuKernel => CallConvention::GpuKernel,
Conv::AvrInterrupt => CallConvention::AvrInterrupt, Conv::AvrInterrupt => CallConvention::AvrInterrupt,
Conv::AvrNonBlockingInterrupt => CallConvention::AvrNonBlockingInterrupt, Conv::AvrNonBlockingInterrupt => CallConvention::AvrNonBlockingInterrupt,
Conv::RiscvInterrupt { .. } => CallConvention::RiscvInterrupt, Conv::RiscvInterrupt { .. } => CallConvention::RiscvInterrupt,

View file

@ -911,6 +911,7 @@ impl<'tcx> Stable<'tcx> for rustc_abi::ExternAbi {
ExternAbi::Win64 { unwind } => Abi::Win64 { unwind }, ExternAbi::Win64 { unwind } => Abi::Win64 { unwind },
ExternAbi::SysV64 { unwind } => Abi::SysV64 { unwind }, ExternAbi::SysV64 { unwind } => Abi::SysV64 { unwind },
ExternAbi::PtxKernel => Abi::PtxKernel, ExternAbi::PtxKernel => Abi::PtxKernel,
ExternAbi::GpuKernel => Abi::GpuKernel,
ExternAbi::Msp430Interrupt => Abi::Msp430Interrupt, ExternAbi::Msp430Interrupt => Abi::Msp430Interrupt,
ExternAbi::X86Interrupt => Abi::X86Interrupt, ExternAbi::X86Interrupt => Abi::X86Interrupt,
ExternAbi::EfiApi => Abi::EfiApi, ExternAbi::EfiApi => Abi::EfiApi,

View file

@ -379,6 +379,7 @@ symbols! {
abi_avr_interrupt, abi_avr_interrupt,
abi_c_cmse_nonsecure_call, abi_c_cmse_nonsecure_call,
abi_efiapi, abi_efiapi,
abi_gpu_kernel,
abi_msp430_interrupt, abi_msp430_interrupt,
abi_ptx, abi_ptx,
abi_riscv_interrupt, abi_riscv_interrupt,

View file

@ -547,6 +547,8 @@ pub enum Conv {
PtxKernel, PtxKernel,
GpuKernel,
X86Fastcall, X86Fastcall,
X86Intr, X86Intr,
X86Stdcall, X86Stdcall,
@ -866,6 +868,7 @@ impl FromStr for Conv {
"X86VectorCall" => Ok(Conv::X86VectorCall), "X86VectorCall" => Ok(Conv::X86VectorCall),
"X86_64SysV" => Ok(Conv::X86_64SysV), "X86_64SysV" => Ok(Conv::X86_64SysV),
"X86_64Win64" => Ok(Conv::X86_64Win64), "X86_64Win64" => Ok(Conv::X86_64Win64),
"GpuKernel" => Ok(Conv::GpuKernel),
"AvrInterrupt" => Ok(Conv::AvrInterrupt), "AvrInterrupt" => Ok(Conv::AvrInterrupt),
"AvrNonBlockingInterrupt" => Ok(Conv::AvrNonBlockingInterrupt), "AvrNonBlockingInterrupt" => Ok(Conv::AvrNonBlockingInterrupt),
"RiscvInterrupt(machine)" => { "RiscvInterrupt(machine)" => {

View file

@ -113,6 +113,7 @@ impl ToJson for crate::abi::call::Conv {
Self::X86VectorCall => "X86VectorCall", Self::X86VectorCall => "X86VectorCall",
Self::X86_64SysV => "X86_64SysV", Self::X86_64SysV => "X86_64SysV",
Self::X86_64Win64 => "X86_64Win64", Self::X86_64Win64 => "X86_64Win64",
Self::GpuKernel => "GpuKernel",
Self::AvrInterrupt => "AvrInterrupt", Self::AvrInterrupt => "AvrInterrupt",
Self::AvrNonBlockingInterrupt => "AvrNonBlockingInterrupt", Self::AvrNonBlockingInterrupt => "AvrNonBlockingInterrupt",
Self::RiscvInterrupt { kind } => { Self::RiscvInterrupt { kind } => {

View file

@ -2854,6 +2854,7 @@ impl Target {
} }
Win64 { .. } | SysV64 { .. } => self.arch == "x86_64", Win64 { .. } | SysV64 { .. } => self.arch == "x86_64",
PtxKernel => self.arch == "nvptx64", PtxKernel => self.arch == "nvptx64",
GpuKernel => ["amdgpu", "nvptx64"].contains(&&self.arch[..]),
Msp430Interrupt => self.arch == "msp430", Msp430Interrupt => self.arch == "msp430",
RiscvInterruptM | RiscvInterruptS => ["riscv32", "riscv64"].contains(&&self.arch[..]), RiscvInterruptM | RiscvInterruptS => ["riscv32", "riscv64"].contains(&&self.arch[..]),
AvrInterrupt | AvrNonBlockingInterrupt => self.arch == "avr", AvrInterrupt | AvrNonBlockingInterrupt => self.arch == "avr",

View file

@ -293,6 +293,7 @@ fn conv_from_spec_abi(tcx: TyCtxt<'_>, abi: ExternAbi, c_variadic: bool) -> Conv
PtxKernel => Conv::PtxKernel, PtxKernel => Conv::PtxKernel,
Msp430Interrupt => Conv::Msp430Intr, Msp430Interrupt => Conv::Msp430Intr,
X86Interrupt => Conv::X86Intr, X86Interrupt => Conv::X86Intr,
GpuKernel => Conv::GpuKernel,
AvrInterrupt => Conv::AvrInterrupt, AvrInterrupt => Conv::AvrInterrupt,
AvrNonBlockingInterrupt => Conv::AvrNonBlockingInterrupt, AvrNonBlockingInterrupt => Conv::AvrNonBlockingInterrupt,
RiscvInterruptM => Conv::RiscvInterrupt { kind: RiscvInterruptKind::Machine }, RiscvInterruptM => Conv::RiscvInterrupt { kind: RiscvInterruptKind::Machine },

View file

@ -442,6 +442,8 @@ pub enum CallConvention {
PtxKernel, PtxKernel,
GpuKernel,
X86Fastcall, X86Fastcall,
X86Intr, X86Intr,
X86Stdcall, X86Stdcall,

View file

@ -1077,6 +1077,7 @@ pub enum Abi {
PtxKernel, PtxKernel,
Msp430Interrupt, Msp430Interrupt,
X86Interrupt, X86Interrupt,
GpuKernel,
EfiApi, EfiApi,
AvrInterrupt, AvrInterrupt,
AvrNonBlockingInterrupt, AvrNonBlockingInterrupt,

View file

@ -0,0 +1,18 @@
// Checks that the gpu-kernel calling convention correctly translates to LLVM calling conventions.
//@ revisions: nvptx
//@ [nvptx] compile-flags: --crate-type=rlib --target=nvptx64-nvidia-cuda
//@ [nvptx] needs-llvm-components: nvptx
#![feature(no_core, lang_items, abi_gpu_kernel)]
#![no_core]
#[lang = "sized"]
trait Sized {}
#[lang = "freeze"]
trait Freeze {}
#[lang = "copy"]
trait Copy {}
// nvptx: define ptx_kernel void @fun(i32
#[no_mangle]
pub extern "gpu-kernel" fn fun(_: i32) {}

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "aapcs" is not supported on this target warning: the calling convention "aapcs" is not supported on this target
--> $DIR/unsupported.rs:49:17 --> $DIR/unsupported.rs:52:17
| |
LL | fn aapcs_ptr(f: extern "aapcs" fn()) { LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:62:1 --> $DIR/unsupported.rs:65:1
| |
LL | extern "aapcs" {} LL | extern "aapcs" {}
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "riscv-interrupt-m" is not supported on this target warning: the calling convention "riscv-interrupt-m" is not supported on this target
--> $DIR/unsupported.rs:94:17 --> $DIR/unsupported.rs:97:17
| |
LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) { LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:105:1 --> $DIR/unsupported.rs:108:1
| |
LL | extern "riscv-interrupt-m" {} LL | extern "riscv-interrupt-m" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "x86-interrupt" is not supported on this target warning: the calling convention "x86-interrupt" is not supported on this target
--> $DIR/unsupported.rs:116:15 --> $DIR/unsupported.rs:119:15
| |
LL | fn x86_ptr(f: extern "x86-interrupt" fn()) { LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -84,13 +84,13 @@ LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:127:1 --> $DIR/unsupported.rs:130:1
| |
LL | extern "x86-interrupt" {} LL | extern "x86-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "thiscall" is not supported on this target warning: the calling convention "thiscall" is not supported on this target
--> $DIR/unsupported.rs:139:20 --> $DIR/unsupported.rs:142:20
| |
LL | fn thiscall_ptr(f: extern "thiscall" fn()) { LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -99,13 +99,13 @@ LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:152:1 --> $DIR/unsupported.rs:155:1
| |
LL | extern "thiscall" {} LL | extern "thiscall" {}
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "stdcall" is not supported on this target warning: the calling convention "stdcall" is not supported on this target
--> $DIR/unsupported.rs:165:19 --> $DIR/unsupported.rs:168:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -114,13 +114,13 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:178:1 --> $DIR/unsupported.rs:181:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -129,7 +129,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -138,65 +138,71 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1 --> $DIR/unsupported.rs:43:1
| |
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:46:1
|
LL | extern "aapcs" fn aapcs() {} LL | extern "aapcs" fn aapcs() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:89:1 --> $DIR/unsupported.rs:92:1
| |
LL | extern "riscv-interrupt-m" fn riscv() {} LL | extern "riscv-interrupt-m" fn riscv() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:111:1 --> $DIR/unsupported.rs:114:1
| |
LL | extern "x86-interrupt" fn x86() {} LL | extern "x86-interrupt" fn x86() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:133:1 --> $DIR/unsupported.rs:136:1
| |
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:162:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 18 previous errors; 10 warnings emitted error: aborting due to 19 previous errors; 10 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "riscv-interrupt-m" is not supported on this target warning: the calling convention "riscv-interrupt-m" is not supported on this target
--> $DIR/unsupported.rs:94:17 --> $DIR/unsupported.rs:97:17
| |
LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) { LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:105:1 --> $DIR/unsupported.rs:108:1
| |
LL | extern "riscv-interrupt-m" {} LL | extern "riscv-interrupt-m" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "x86-interrupt" is not supported on this target warning: the calling convention "x86-interrupt" is not supported on this target
--> $DIR/unsupported.rs:116:15 --> $DIR/unsupported.rs:119:15
| |
LL | fn x86_ptr(f: extern "x86-interrupt" fn()) { LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:127:1 --> $DIR/unsupported.rs:130:1
| |
LL | extern "x86-interrupt" {} LL | extern "x86-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "thiscall" is not supported on this target warning: the calling convention "thiscall" is not supported on this target
--> $DIR/unsupported.rs:139:20 --> $DIR/unsupported.rs:142:20
| |
LL | fn thiscall_ptr(f: extern "thiscall" fn()) { LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -84,13 +84,13 @@ LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:152:1 --> $DIR/unsupported.rs:155:1
| |
LL | extern "thiscall" {} LL | extern "thiscall" {}
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "stdcall" is not supported on this target warning: the calling convention "stdcall" is not supported on this target
--> $DIR/unsupported.rs:165:19 --> $DIR/unsupported.rs:168:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -99,13 +99,13 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:178:1 --> $DIR/unsupported.rs:181:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -114,7 +114,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -123,59 +123,65 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1
|
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:89:1 --> $DIR/unsupported.rs:92:1
| |
LL | extern "riscv-interrupt-m" fn riscv() {} LL | extern "riscv-interrupt-m" fn riscv() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:111:1 --> $DIR/unsupported.rs:114:1
| |
LL | extern "x86-interrupt" fn x86() {} LL | extern "x86-interrupt" fn x86() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:133:1 --> $DIR/unsupported.rs:136:1
| |
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:162:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 16 previous errors; 9 warnings emitted error: aborting due to 17 previous errors; 9 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "aapcs" is not supported on this target warning: the calling convention "aapcs" is not supported on this target
--> $DIR/unsupported.rs:49:17 --> $DIR/unsupported.rs:52:17
| |
LL | fn aapcs_ptr(f: extern "aapcs" fn()) { LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:62:1 --> $DIR/unsupported.rs:65:1
| |
LL | extern "aapcs" {} LL | extern "aapcs" {}
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "riscv-interrupt-m" is not supported on this target warning: the calling convention "riscv-interrupt-m" is not supported on this target
--> $DIR/unsupported.rs:94:17 --> $DIR/unsupported.rs:97:17
| |
LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) { LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:105:1 --> $DIR/unsupported.rs:108:1
| |
LL | extern "riscv-interrupt-m" {} LL | extern "riscv-interrupt-m" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -84,7 +84,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -93,47 +93,53 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1 --> $DIR/unsupported.rs:43:1
| |
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:46:1
|
LL | extern "aapcs" fn aapcs() {} LL | extern "aapcs" fn aapcs() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:89:1 --> $DIR/unsupported.rs:92:1
| |
LL | extern "riscv-interrupt-m" fn riscv() {} LL | extern "riscv-interrupt-m" fn riscv() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 12 previous errors; 7 warnings emitted error: aborting due to 13 previous errors; 7 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "aapcs" is not supported on this target warning: the calling convention "aapcs" is not supported on this target
--> $DIR/unsupported.rs:49:17 --> $DIR/unsupported.rs:52:17
| |
LL | fn aapcs_ptr(f: extern "aapcs" fn()) { LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:62:1 --> $DIR/unsupported.rs:65:1
| |
LL | extern "aapcs" {} LL | extern "aapcs" {}
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "x86-interrupt" is not supported on this target warning: the calling convention "x86-interrupt" is not supported on this target
--> $DIR/unsupported.rs:116:15 --> $DIR/unsupported.rs:119:15
| |
LL | fn x86_ptr(f: extern "x86-interrupt" fn()) { LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:127:1 --> $DIR/unsupported.rs:130:1
| |
LL | extern "x86-interrupt" {} LL | extern "x86-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "thiscall" is not supported on this target warning: the calling convention "thiscall" is not supported on this target
--> $DIR/unsupported.rs:139:20 --> $DIR/unsupported.rs:142:20
| |
LL | fn thiscall_ptr(f: extern "thiscall" fn()) { LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -84,13 +84,13 @@ LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:152:1 --> $DIR/unsupported.rs:155:1
| |
LL | extern "thiscall" {} LL | extern "thiscall" {}
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "stdcall" is not supported on this target warning: the calling convention "stdcall" is not supported on this target
--> $DIR/unsupported.rs:165:19 --> $DIR/unsupported.rs:168:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -99,13 +99,13 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:178:1 --> $DIR/unsupported.rs:181:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -114,7 +114,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -123,59 +123,65 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1 --> $DIR/unsupported.rs:43:1
| |
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:46:1
|
LL | extern "aapcs" fn aapcs() {} LL | extern "aapcs" fn aapcs() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:111:1 --> $DIR/unsupported.rs:114:1
| |
LL | extern "x86-interrupt" fn x86() {} LL | extern "x86-interrupt" fn x86() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:133:1 --> $DIR/unsupported.rs:136:1
| |
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:162:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 16 previous errors; 9 warnings emitted error: aborting due to 17 previous errors; 9 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "aapcs" is not supported on this target warning: the calling convention "aapcs" is not supported on this target
--> $DIR/unsupported.rs:49:17 --> $DIR/unsupported.rs:52:17
| |
LL | fn aapcs_ptr(f: extern "aapcs" fn()) { LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:62:1 --> $DIR/unsupported.rs:65:1
| |
LL | extern "aapcs" {} LL | extern "aapcs" {}
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "x86-interrupt" is not supported on this target warning: the calling convention "x86-interrupt" is not supported on this target
--> $DIR/unsupported.rs:116:15 --> $DIR/unsupported.rs:119:15
| |
LL | fn x86_ptr(f: extern "x86-interrupt" fn()) { LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:127:1 --> $DIR/unsupported.rs:130:1
| |
LL | extern "x86-interrupt" {} LL | extern "x86-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "thiscall" is not supported on this target warning: the calling convention "thiscall" is not supported on this target
--> $DIR/unsupported.rs:139:20 --> $DIR/unsupported.rs:142:20
| |
LL | fn thiscall_ptr(f: extern "thiscall" fn()) { LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -84,13 +84,13 @@ LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:152:1 --> $DIR/unsupported.rs:155:1
| |
LL | extern "thiscall" {} LL | extern "thiscall" {}
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "stdcall" is not supported on this target warning: the calling convention "stdcall" is not supported on this target
--> $DIR/unsupported.rs:165:19 --> $DIR/unsupported.rs:168:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -99,13 +99,13 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:178:1 --> $DIR/unsupported.rs:181:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -114,7 +114,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -123,59 +123,65 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1 --> $DIR/unsupported.rs:43:1
| |
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:46:1
|
LL | extern "aapcs" fn aapcs() {} LL | extern "aapcs" fn aapcs() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:111:1 --> $DIR/unsupported.rs:114:1
| |
LL | extern "x86-interrupt" fn x86() {} LL | extern "x86-interrupt" fn x86() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:133:1 --> $DIR/unsupported.rs:136:1
| |
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:162:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 16 previous errors; 9 warnings emitted error: aborting due to 17 previous errors; 9 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -19,6 +19,7 @@
abi_ptx, abi_ptx,
abi_msp430_interrupt, abi_msp430_interrupt,
abi_avr_interrupt, abi_avr_interrupt,
abi_gpu_kernel,
abi_x86_interrupt, abi_x86_interrupt,
abi_riscv_interrupt, abi_riscv_interrupt,
abi_c_cmse_nonsecure_call, abi_c_cmse_nonsecure_call,
@ -39,6 +40,8 @@ fn ptx_ptr(f: extern "ptx-kernel" fn()) {
} }
extern "ptx-kernel" {} extern "ptx-kernel" {}
//~^ ERROR is not a supported ABI //~^ ERROR is not a supported ABI
extern "gpu-kernel" fn gpu() {}
//~^ ERROR is not a supported ABI
extern "aapcs" fn aapcs() {} extern "aapcs" fn aapcs() {}
//[x64]~^ ERROR is not a supported ABI //[x64]~^ ERROR is not a supported ABI

View file

@ -1,5 +1,5 @@
warning: the calling convention "ptx-kernel" is not supported on this target warning: the calling convention "ptx-kernel" is not supported on this target
--> $DIR/unsupported.rs:35:15 --> $DIR/unsupported.rs:36:15
| |
LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) { LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
@ -9,13 +9,13 @@ LL | fn ptx_ptr(f: extern "ptx-kernel" fn()) {
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:40:1 --> $DIR/unsupported.rs:41:1
| |
LL | extern "ptx-kernel" {} LL | extern "ptx-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "aapcs" is not supported on this target warning: the calling convention "aapcs" is not supported on this target
--> $DIR/unsupported.rs:49:17 --> $DIR/unsupported.rs:52:17
| |
LL | fn aapcs_ptr(f: extern "aapcs" fn()) { LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -24,13 +24,13 @@ LL | fn aapcs_ptr(f: extern "aapcs" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:62:1 --> $DIR/unsupported.rs:65:1
| |
LL | extern "aapcs" {} LL | extern "aapcs" {}
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
warning: the calling convention "msp430-interrupt" is not supported on this target warning: the calling convention "msp430-interrupt" is not supported on this target
--> $DIR/unsupported.rs:71:18 --> $DIR/unsupported.rs:74:18
| |
LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) { LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -39,13 +39,13 @@ LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:76:1 --> $DIR/unsupported.rs:79:1
| |
LL | extern "msp430-interrupt" {} LL | extern "msp430-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "avr-interrupt" is not supported on this target warning: the calling convention "avr-interrupt" is not supported on this target
--> $DIR/unsupported.rs:81:15 --> $DIR/unsupported.rs:84:15
| |
LL | fn avr_ptr(f: extern "avr-interrupt" fn()) { LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -54,13 +54,13 @@ LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:86:1 --> $DIR/unsupported.rs:89:1
| |
LL | extern "avr-interrupt" {} LL | extern "avr-interrupt" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "riscv-interrupt-m" is not supported on this target warning: the calling convention "riscv-interrupt-m" is not supported on this target
--> $DIR/unsupported.rs:94:17 --> $DIR/unsupported.rs:97:17
| |
LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) { LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -69,13 +69,13 @@ LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:105:1 --> $DIR/unsupported.rs:108:1
| |
LL | extern "riscv-interrupt-m" {} LL | extern "riscv-interrupt-m" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "thiscall" is not supported on this target warning: the calling convention "thiscall" is not supported on this target
--> $DIR/unsupported.rs:139:20 --> $DIR/unsupported.rs:142:20
| |
LL | fn thiscall_ptr(f: extern "thiscall" fn()) { LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -84,13 +84,13 @@ LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:152:1 --> $DIR/unsupported.rs:155:1
| |
LL | extern "thiscall" {} LL | extern "thiscall" {}
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
warning: the calling convention "stdcall" is not supported on this target warning: the calling convention "stdcall" is not supported on this target
--> $DIR/unsupported.rs:165:19 --> $DIR/unsupported.rs:168:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -99,13 +99,13 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:178:1 --> $DIR/unsupported.rs:181:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target warning: the calling convention "C-cmse-nonsecure-call" is not supported on this target
--> $DIR/unsupported.rs:185:21 --> $DIR/unsupported.rs:188:21
| |
LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -114,7 +114,7 @@ LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target warning: the calling convention "C-cmse-nonsecure-entry" is not supported on this target
--> $DIR/unsupported.rs:193:22 --> $DIR/unsupported.rs:196:22
| |
LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) { LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -123,59 +123,65 @@ LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260> = note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:198:1 --> $DIR/unsupported.rs:201:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target error[E0570]: `"ptx-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:33:1 --> $DIR/unsupported.rs:34:1
| |
LL | extern "ptx-kernel" fn ptx() {} LL | extern "ptx-kernel" fn ptx() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:43:1 --> $DIR/unsupported.rs:43:1
| |
LL | extern "gpu-kernel" fn gpu() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"aapcs"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:46:1
|
LL | extern "aapcs" fn aapcs() {} LL | extern "aapcs" fn aapcs() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:69:1 --> $DIR/unsupported.rs:72:1
| |
LL | extern "msp430-interrupt" fn msp430() {} LL | extern "msp430-interrupt" fn msp430() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:79:1 --> $DIR/unsupported.rs:82:1
| |
LL | extern "avr-interrupt" fn avr() {} LL | extern "avr-interrupt" fn avr() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:89:1 --> $DIR/unsupported.rs:92:1
| |
LL | extern "riscv-interrupt-m" fn riscv() {} LL | extern "riscv-interrupt-m" fn riscv() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"thiscall"` is not a supported ABI for the current target error[E0570]: `"thiscall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:133:1 --> $DIR/unsupported.rs:136:1
| |
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"stdcall"` is not a supported ABI for the current target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:162:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target error[E0570]: `"C-cmse-nonsecure-entry"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:191:1 --> $DIR/unsupported.rs:194:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 16 previous errors; 9 warnings emitted error: aborting due to 17 previous errors; 9 warnings emitted
For more information about this error, try `rustc --explain E0570`. For more information about this error, try `rustc --explain E0570`.

View file

@ -0,0 +1,45 @@
//@ compile-flags: --crate-type=rlib
#![feature(no_core, lang_items)]
#![no_core]
#[lang="sized"]
trait Sized { }
#[lang="tuple_trait"]
trait Tuple { }
// Functions
extern "gpu-kernel" fn f1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ ERROR is not a supported ABI
// Methods in trait definition
trait Tr {
extern "gpu-kernel" fn m1(_: ()); //~ ERROR gpu-kernel ABI is experimental and subject to change
extern "gpu-kernel" fn dm1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ ERROR is not a supported ABI
}
struct S;
// Methods in trait impl
impl Tr for S {
extern "gpu-kernel" fn m1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ ERROR is not a supported ABI
}
// Methods in inherent impl
impl S {
extern "gpu-kernel" fn im1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ ERROR is not a supported ABI
}
// Function pointer types
type A1 = extern "gpu-kernel" fn(_: ()); //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ WARN the calling convention "gpu-kernel" is not supported on this target
//~^^ WARN this was previously accepted by the compiler but is being phased out
// Foreign modules
extern "gpu-kernel" {} //~ ERROR gpu-kernel ABI is experimental and subject to change
//~^ ERROR is not a supported ABI

View file

@ -0,0 +1,114 @@
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:13:8
|
LL | extern "gpu-kernel" fn f1(_: ()) {}
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:18:12
|
LL | extern "gpu-kernel" fn m1(_: ());
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:20:12
|
LL | extern "gpu-kernel" fn dm1(_: ()) {}
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:28:12
|
LL | extern "gpu-kernel" fn m1(_: ()) {}
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:34:12
|
LL | extern "gpu-kernel" fn im1(_: ()) {}
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:39:18
|
LL | type A1 = extern "gpu-kernel" fn(_: ());
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: gpu-kernel ABI is experimental and subject to change
--> $DIR/feature-gate-abi_gpu_kernel.rs:44:8
|
LL | extern "gpu-kernel" {}
| ^^^^^^^^^^^^
|
= note: see issue #135467 <https://github.com/rust-lang/rust/issues/135467> for more information
= help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
warning: the calling convention "gpu-kernel" is not supported on this target
--> $DIR/feature-gate-abi_gpu_kernel.rs:39:11
|
LL | type A1 = extern "gpu-kernel" fn(_: ());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
= note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/feature-gate-abi_gpu_kernel.rs:44:1
|
LL | extern "gpu-kernel" {}
| ^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/feature-gate-abi_gpu_kernel.rs:13:1
|
LL | extern "gpu-kernel" fn f1(_: ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/feature-gate-abi_gpu_kernel.rs:20:5
|
LL | extern "gpu-kernel" fn dm1(_: ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/feature-gate-abi_gpu_kernel.rs:28:5
|
LL | extern "gpu-kernel" fn m1(_: ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0570]: `"gpu-kernel"` is not a supported ABI for the current target
--> $DIR/feature-gate-abi_gpu_kernel.rs:34:5
|
LL | extern "gpu-kernel" fn im1(_: ()) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 12 previous errors; 1 warning emitted
Some errors have detailed explanations: E0570, E0658.
For more information about an error, try `rustc --explain E0570`.

View file

@ -12,6 +12,7 @@ cdecl-unwind
efiapi efiapi
fastcall fastcall
fastcall-unwind fastcall-unwind
gpu-kernel
msp430-interrupt msp430-interrupt
ptx-kernel ptx-kernel
riscv-interrupt-m riscv-interrupt-m