make unsupported_calling_conventions a hard error

This commit is contained in:
Ralf Jung 2024-09-03 18:48:15 +02:00
parent bfab34af4c
commit de3cbf3c56
15 changed files with 97 additions and 201 deletions

View File

@ -22,7 +22,7 @@ use rustc_middle::ty::{
AdtDef, GenericArgKind, ParamEnv, RegionKind, TypeSuperVisitable, TypeVisitable, AdtDef, GenericArgKind, ParamEnv, RegionKind, TypeSuperVisitable, TypeVisitable,
TypeVisitableExt, TypeVisitableExt,
}; };
use rustc_session::lint::builtin::{UNINHABITED_STATIC, UNSUPPORTED_CALLING_CONVENTIONS}; use rustc_session::lint::builtin::UNINHABITED_STATIC;
use rustc_target::abi::FieldIdx; use rustc_target::abi::FieldIdx;
use rustc_trait_selection::error_reporting::InferCtxtErrorExt; use rustc_trait_selection::error_reporting::InferCtxtErrorExt;
use rustc_trait_selection::error_reporting::traits::on_unimplemented::OnUnimplementedDirective; use rustc_trait_selection::error_reporting::traits::on_unimplemented::OnUnimplementedDirective;
@ -36,10 +36,8 @@ use super::compare_impl_item::{check_type_bounds, compare_impl_method, compare_i
use super::*; use super::*;
use crate::check::intrinsicck::InlineAsmCtxt; use crate::check::intrinsicck::InlineAsmCtxt;
pub fn check_abi(tcx: TyCtxt<'_>, hir_id: hir::HirId, span: Span, abi: Abi) { pub fn check_abi(tcx: TyCtxt<'_>, span: Span, abi: Abi) {
match tcx.sess.target.is_abi_supported(abi) { if !tcx.sess.target.is_abi_supported(abi) {
Some(true) => (),
Some(false) => {
struct_span_code_err!( struct_span_code_err!(
tcx.dcx(), tcx.dcx(),
span, span,
@ -48,25 +46,16 @@ pub fn check_abi(tcx: TyCtxt<'_>, hir_id: hir::HirId, span: Span, abi: Abi) {
) )
.emit(); .emit();
} }
None => {
tcx.node_span_lint(UNSUPPORTED_CALLING_CONVENTIONS, hir_id, span, |lint| {
lint.primary_message("use of calling convention not supported on this target");
});
}
}
} }
pub fn check_abi_fn_ptr(tcx: TyCtxt<'_>, hir_id: hir::HirId, span: Span, abi: Abi) { pub fn check_abi_fn_ptr(tcx: TyCtxt<'_>, hir_id: hir::HirId, span: Span, abi: Abi) {
match tcx.sess.target.is_abi_supported(abi) { if !tcx.sess.target.is_abi_supported(abi) {
Some(true) => (),
Some(false) | None => {
tcx.node_span_lint(UNSUPPORTED_FN_PTR_CALLING_CONVENTIONS, hir_id, span, |lint| { tcx.node_span_lint(UNSUPPORTED_FN_PTR_CALLING_CONVENTIONS, hir_id, span, |lint| {
lint.primary_message(format!( lint.primary_message(format!(
"the calling convention {abi} is not supported on this target" "the calling convention {abi} is not supported on this target"
)); ));
}); });
} }
}
} }
fn check_struct(tcx: TyCtxt<'_>, def_id: LocalDefId) { fn check_struct(tcx: TyCtxt<'_>, def_id: LocalDefId) {
@ -705,7 +694,7 @@ pub(crate) fn check_item_type(tcx: TyCtxt<'_>, def_id: LocalDefId) {
let hir::ItemKind::ForeignMod { abi, items } = it.kind else { let hir::ItemKind::ForeignMod { abi, items } = it.kind else {
return; return;
}; };
check_abi(tcx, it.hir_id(), it.span, abi); check_abi(tcx, it.span, abi);
match abi { match abi {
Abi::RustIntrinsic => { Abi::RustIntrinsic => {

View File

@ -155,7 +155,7 @@ fn typeck_with_fallback<'tcx>(
tcx.fn_sig(def_id).instantiate_identity() tcx.fn_sig(def_id).instantiate_identity()
}; };
check_abi(tcx, id, span, fn_sig.abi()); check_abi(tcx, span, fn_sig.abi());
// Compute the function signature from point of view of inside the fn. // Compute the function signature from point of view of inside the fn.
let fn_sig = tcx.liberate_late_bound_regions(def_id.to_def_id(), fn_sig); let fn_sig = tcx.liberate_late_bound_regions(def_id.to_def_id(), fn_sig);

View File

@ -598,6 +598,7 @@ fn register_builtins(store: &mut LintStore) {
"converted into hard error, see PR #125380 \ "converted into hard error, see PR #125380 \
<https://github.com/rust-lang/rust/pull/125380> for more information", <https://github.com/rust-lang/rust/pull/125380> for more information",
); );
store.register_removed("unsupported_calling_conventions", "converted into hard error");
} }
fn register_internals(store: &mut LintStore) { fn register_internals(store: &mut LintStore) {

View File

@ -123,7 +123,6 @@ declare_lint_pass! {
UNSAFE_OP_IN_UNSAFE_FN, UNSAFE_OP_IN_UNSAFE_FN,
UNSTABLE_NAME_COLLISIONS, UNSTABLE_NAME_COLLISIONS,
UNSTABLE_SYNTAX_PRE_EXPANSION, UNSTABLE_SYNTAX_PRE_EXPANSION,
UNSUPPORTED_CALLING_CONVENTIONS,
UNSUPPORTED_FN_PTR_CALLING_CONVENTIONS, UNSUPPORTED_FN_PTR_CALLING_CONVENTIONS,
UNUSED_ASSIGNMENTS, UNUSED_ASSIGNMENTS,
UNUSED_ASSOCIATED_TYPE_BOUNDS, UNUSED_ASSOCIATED_TYPE_BOUNDS,
@ -3789,53 +3788,6 @@ declare_lint! {
crate_level_only crate_level_only
} }
declare_lint! {
/// The `unsupported_calling_conventions` lint is output whenever there is a use of the
/// `stdcall`, `fastcall`, `thiscall`, `vectorcall` calling conventions (or their unwind
/// variants) on targets that cannot meaningfully be supported for the requested target.
///
/// For example `stdcall` does not make much sense for a x86_64 or, more apparently, powerpc
/// code, because this calling convention was never specified for those targets.
///
/// Historically MSVC toolchains have fallen back to the regular C calling convention for
/// targets other than x86, but Rust doesn't really see a similar need to introduce a similar
/// hack across many more targets.
///
/// ### Example
///
/// ```rust,ignore (needs specific targets)
/// extern "stdcall" fn stdcall() {}
/// ```
///
/// This will produce:
///
/// ```text
/// warning: use of calling convention not supported on this target
/// --> $DIR/unsupported.rs:39:1
/// |
/// LL | extern "stdcall" fn stdcall() {}
/// | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/// |
/// = note: `#[warn(unsupported_calling_conventions)]` on by default
/// = 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 ...
/// ```
///
/// ### Explanation
///
/// On most of the targets the behaviour of `stdcall` and similar calling conventions is not
/// defined at all, but was previously accepted due to a bug in the implementation of the
/// compiler.
pub UNSUPPORTED_CALLING_CONVENTIONS,
Warn,
"use of unsupported calling convention",
@future_incompatible = FutureIncompatibleInfo {
reason: FutureIncompatibilityReason::FutureReleaseErrorDontReportInDeps,
reference: "issue #87678 <https://github.com/rust-lang/rust/issues/87678>",
};
}
declare_lint! { declare_lint! {
/// The `unsupported_fn_ptr_calling_conventions` lint is output whenever there is a use of /// The `unsupported_fn_ptr_calling_conventions` lint is output whenever there is a use of
/// a target dependent calling convention on a target that does not support this calling /// a target dependent calling convention on a target that does not support this calling

View File

@ -2757,10 +2757,9 @@ impl Target {
} }
} }
/// Returns a None if the UNSUPPORTED_CALLING_CONVENTIONS lint should be emitted pub fn is_abi_supported(&self, abi: Abi) -> bool {
pub fn is_abi_supported(&self, abi: Abi) -> Option<bool> {
use Abi::*; use Abi::*;
Some(match abi { match abi {
Rust Rust
| C { .. } | C { .. }
| System { .. } | System { .. }
@ -2819,9 +2818,9 @@ impl Target {
// architectures for which these calling conventions are actually well defined. // architectures for which these calling conventions are actually well defined.
Stdcall { .. } | Fastcall { .. } if self.arch == "x86" => true, Stdcall { .. } | Fastcall { .. } if self.arch == "x86" => true,
Vectorcall { .. } if ["x86", "x86_64"].contains(&&self.arch[..]) => true, Vectorcall { .. } if ["x86", "x86_64"].contains(&&self.arch[..]) => true,
// Return a `None` for other cases so that we know to emit a future compat lint. // Reject these calling conventions everywhere else.
Stdcall { .. } | Fastcall { .. } | Vectorcall { .. } => return None, Stdcall { .. } | Fastcall { .. } | Vectorcall { .. } => false,
}) }
} }
/// Minimum integer size in bits that this target can perform atomic /// Minimum integer size in bits that this target can perform atomic

View File

@ -1,7 +1,7 @@
#![warn(clippy::missing_const_for_fn)] #![warn(clippy::missing_const_for_fn)]
#![allow(incomplete_features, clippy::let_and_return, clippy::missing_transmute_annotations)] #![allow(incomplete_features, clippy::let_and_return, clippy::missing_transmute_annotations)]
#![allow(unsupported_calling_conventions)] #![feature(const_trait_impl, abi_vectorcall)]
#![feature(const_trait_impl)]
use std::mem::transmute; use std::mem::transmute;
@ -212,8 +212,8 @@ mod extern_fn {
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
const extern "system-unwind" fn system_unwind() {} const extern "system-unwind" fn system_unwind() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
pub const extern "stdcall" fn std_call() {} pub const extern "vectorcall" fn std_call() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
pub const extern "stdcall-unwind" fn std_call_unwind() {} pub const extern "vectorcall-unwind" fn std_call_unwind() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
} }

View File

@ -1,7 +1,7 @@
#![warn(clippy::missing_const_for_fn)] #![warn(clippy::missing_const_for_fn)]
#![allow(incomplete_features, clippy::let_and_return, clippy::missing_transmute_annotations)] #![allow(incomplete_features, clippy::let_and_return, clippy::missing_transmute_annotations)]
#![allow(unsupported_calling_conventions)] #![feature(const_trait_impl, abi_vectorcall)]
#![feature(const_trait_impl)]
use std::mem::transmute; use std::mem::transmute;
@ -212,8 +212,8 @@ mod extern_fn {
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
extern "system-unwind" fn system_unwind() {} extern "system-unwind" fn system_unwind() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
pub extern "stdcall" fn std_call() {} pub extern "vectorcall" fn std_call() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
pub extern "stdcall-unwind" fn std_call_unwind() {} pub extern "vectorcall-unwind" fn std_call_unwind() {}
//~^ ERROR: this could be a `const fn` //~^ ERROR: this could be a `const fn`
} }

View File

@ -319,23 +319,23 @@ LL | const extern "system-unwind" fn system_unwind() {}
error: this could be a `const fn` error: this could be a `const fn`
--> tests/ui/missing_const_for_fn/could_be_const.rs:215:5 --> tests/ui/missing_const_for_fn/could_be_const.rs:215:5
| |
LL | pub extern "stdcall" fn std_call() {} LL | pub extern "vectorcall" fn std_call() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
help: make the function `const` help: make the function `const`
| |
LL | pub const extern "stdcall" fn std_call() {} LL | pub const extern "vectorcall" fn std_call() {}
| +++++ | +++++
error: this could be a `const fn` error: this could be a `const fn`
--> tests/ui/missing_const_for_fn/could_be_const.rs:217:5 --> tests/ui/missing_const_for_fn/could_be_const.rs:217:5
| |
LL | pub extern "stdcall-unwind" fn std_call_unwind() {} LL | pub extern "vectorcall-unwind" fn std_call_unwind() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
help: make the function `const` help: make the function `const`
| |
LL | pub const extern "stdcall-unwind" fn std_call_unwind() {} LL | pub const extern "vectorcall-unwind" fn std_call_unwind() {}
| +++++ | +++++
error: aborting due to 26 previous errors error: aborting due to 26 previous errors

View File

@ -105,7 +105,7 @@ 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:170:19 --> $DIR/unsupported.rs:165:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -113,18 +113,14 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:183:1 --> $DIR/unsupported.rs:178:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
= note: `#[warn(unsupported_calling_conventions)]` on by default
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:195:21 --> $DIR/unsupported.rs:185: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -133,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:203:22 --> $DIR/unsupported.rs:193: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -142,7 +138,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -189,21 +185,18 @@ error[E0570]: `"thiscall"` is not a supported ABI for the current target
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:159:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
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:201:1 --> $DIR/unsupported.rs:191: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; 12 warnings emitted error: aborting due to 18 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

@ -90,7 +90,7 @@ 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:170:19 --> $DIR/unsupported.rs:165:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -98,18 +98,14 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:183:1 --> $DIR/unsupported.rs:178:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
= note: `#[warn(unsupported_calling_conventions)]` on by default
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:195:21 --> $DIR/unsupported.rs:185: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -118,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:203:22 --> $DIR/unsupported.rs:193: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -127,7 +123,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -168,21 +164,18 @@ error[E0570]: `"thiscall"` is not a supported ABI for the current target
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:159:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
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:201:1 --> $DIR/unsupported.rs:191:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 14 previous errors; 11 warnings emitted error: aborting due to 16 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

@ -75,7 +75,7 @@ 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:195:21 --> $DIR/unsupported.rs:185: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:203:22 --> $DIR/unsupported.rs:193: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,7 +93,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -129,7 +129,7 @@ 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:201:1 --> $DIR/unsupported.rs:191:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -90,7 +90,7 @@ 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:170:19 --> $DIR/unsupported.rs:165:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -98,18 +98,14 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:183:1 --> $DIR/unsupported.rs:178:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
= note: `#[warn(unsupported_calling_conventions)]` on by default
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:195:21 --> $DIR/unsupported.rs:185: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -118,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:203:22 --> $DIR/unsupported.rs:193: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -127,7 +123,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -168,21 +164,18 @@ error[E0570]: `"thiscall"` is not a supported ABI for the current target
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:159:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
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:201:1 --> $DIR/unsupported.rs:191:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 14 previous errors; 11 warnings emitted error: aborting due to 16 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

@ -90,7 +90,7 @@ 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:170:19 --> $DIR/unsupported.rs:165:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -98,18 +98,14 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:183:1 --> $DIR/unsupported.rs:178:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
= note: `#[warn(unsupported_calling_conventions)]` on by default
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:195:21 --> $DIR/unsupported.rs:185: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -118,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:203:22 --> $DIR/unsupported.rs:193: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -127,7 +123,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -168,21 +164,18 @@ error[E0570]: `"thiscall"` is not a supported ABI for the current target
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:159:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
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:201:1 --> $DIR/unsupported.rs:191:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 14 previous errors; 11 warnings emitted error: aborting due to 16 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

@ -157,16 +157,11 @@ extern "thiscall" {}
//[riscv64]~^^^^^ ERROR is not a supported ABI //[riscv64]~^^^^^ ERROR is not a supported ABI
extern "stdcall" fn stdcall() {} extern "stdcall" fn stdcall() {}
//[x64]~^ WARN use of calling convention not supported //[x64]~^ ERROR is not a supported ABI
//[x64]~^^ WARN this was previously accepted //[arm]~^^ ERROR is not a supported ABI
//[arm]~^^^ WARN use of calling convention not supported //[aarch64]~^^^ ERROR is not a supported ABI
//[arm]~^^^^ WARN this was previously accepted //[riscv32]~^^^^ ERROR is not a supported ABI
//[aarch64]~^^^^^ WARN use of calling convention not supported //[riscv64]~^^^^^ ERROR is not a supported ABI
//[aarch64]~^^^^^^ WARN this was previously accepted
//[riscv32]~^^^^^^^ WARN use of calling convention not supported
//[riscv32]~^^^^^^^^ WARN this was previously accepted
//[riscv64]~^^^^^^^^^ WARN use of calling convention not supported
//[riscv64]~^^^^^^^^^^ WARN this was previously accepted
fn stdcall_ptr(f: extern "stdcall" fn()) { fn stdcall_ptr(f: extern "stdcall" fn()) {
//[x64]~^ WARN unsupported_fn_ptr_calling_conventions //[x64]~^ WARN unsupported_fn_ptr_calling_conventions
//[x64]~^^ WARN this was previously accepted //[x64]~^^ WARN this was previously accepted
@ -181,16 +176,11 @@ fn stdcall_ptr(f: extern "stdcall" fn()) {
f() f()
} }
extern "stdcall" {} extern "stdcall" {}
//[x64]~^ WARN use of calling convention not supported //[x64]~^ ERROR is not a supported ABI
//[x64]~^^ WARN this was previously accepted //[arm]~^^ ERROR is not a supported ABI
//[arm]~^^^ WARN use of calling convention not supported //[aarch64]~^^^ ERROR is not a supported ABI
//[arm]~^^^^ WARN this was previously accepted //[riscv32]~^^^^ ERROR is not a supported ABI
//[aarch64]~^^^^^ WARN use of calling convention not supported //[riscv64]~^^^^^ ERROR is not a supported ABI
//[aarch64]~^^^^^^ WARN this was previously accepted
//[riscv32]~^^^^^^^ WARN use of calling convention not supported
//[riscv32]~^^^^^^^^ WARN this was previously accepted
//[riscv64]~^^^^^^^^^ WARN use of calling convention not supported
//[riscv64]~^^^^^^^^^^ WARN this was previously accepted
fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) { fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
//~^ WARN unsupported_fn_ptr_calling_conventions //~^ WARN unsupported_fn_ptr_calling_conventions

View File

@ -90,7 +90,7 @@ 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:170:19 --> $DIR/unsupported.rs:165:19
| |
LL | fn stdcall_ptr(f: extern "stdcall" fn()) { LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
| ^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^
@ -98,18 +98,14 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = 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: for more information, see issue #130260 <https://github.com/rust-lang/rust/issues/130260>
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:183:1 --> $DIR/unsupported.rs:178:1
| |
LL | extern "stdcall" {} LL | extern "stdcall" {}
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
= note: `#[warn(unsupported_calling_conventions)]` on by default
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:195:21 --> $DIR/unsupported.rs:185: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -118,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:203:22 --> $DIR/unsupported.rs:193: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()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -127,7 +123,7 @@ 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:208:1 --> $DIR/unsupported.rs:198:1
| |
LL | extern "C-cmse-nonsecure-entry" {} LL | extern "C-cmse-nonsecure-entry" {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -168,21 +164,18 @@ error[E0570]: `"thiscall"` is not a supported ABI for the current target
LL | extern "thiscall" fn thiscall() {} LL | extern "thiscall" fn thiscall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: use of calling convention not supported on this target error[E0570]: `"stdcall"` is not a supported ABI for the current target
--> $DIR/unsupported.rs:159:1 --> $DIR/unsupported.rs:159:1
| |
LL | extern "stdcall" fn stdcall() {} LL | extern "stdcall" fn stdcall() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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 #87678 <https://github.com/rust-lang/rust/issues/87678>
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:201:1 --> $DIR/unsupported.rs:191:1
| |
LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {} LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 14 previous errors; 11 warnings emitted error: aborting due to 16 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`.