Skip to content

Commit bbc239a

Browse files
authored
Unrolled build for rust-lang#127766
Rollup merge of rust-lang#127766 - folkertdev:c-cmse-nonsecure-entry, r=jackh726 add `extern "C-cmse-nonsecure-entry" fn` tracking issue rust-lang#75835 in rust-lang#75835 (comment) it was decided that using an abi, rather than an attribute, was the right way to go for this feature. This PR adds that ABI and removes the `#[cmse_nonsecure_entry]` attribute. All relevant tests have been updated, some are now obsolete and have been removed. Error 0775 is no longer generated. It contains the list of targets that support the CMSE feature, and maybe we want to still use this? right now a generic "this abi is not supported on this platform" error is returned when this abi is used on an unsupported platform. On the other hand, users of this abi are likely to be experienced rust users, so maybe the generic error is good enough.
2 parents 1d68e6d + ac9a49f commit bbc239a

File tree

45 files changed

+185
-182
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+185
-182
lines changed

compiler/rustc_codegen_cranelift/src/abi/mod.rs

+3
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ pub(crate) fn conv_to_call_conv(sess: &Session, c: Conv, default_call_conv: Call
6161
Conv::CCmseNonSecureCall => {
6262
sess.dcx().fatal("C-cmse-nonsecure-call call conv is not yet implemented");
6363
}
64+
Conv::CCmseNonSecureEntry => {
65+
sess.dcx().fatal("C-cmse-nonsecure-entry call conv is not yet implemented");
66+
}
6467

6568
Conv::Msp430Intr | Conv::PtxKernel | Conv::AvrInterrupt | Conv::AvrNonBlockingInterrupt => {
6669
unreachable!("tried to use {c:?} call conv which only exists on an unsupported target");

compiler/rustc_codegen_llvm/src/abi.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,9 @@ impl<'ll, 'tcx> FnAbiLlvmExt<'ll, 'tcx> for FnAbi<'tcx, Ty<'tcx>> {
422422
if let Conv::RiscvInterrupt { kind } = self.conv {
423423
func_attrs.push(llvm::CreateAttrStringValue(cx.llcx, "interrupt", kind.as_str()));
424424
}
425+
if let Conv::CCmseNonSecureEntry = self.conv {
426+
func_attrs.push(llvm::CreateAttrString(cx.llcx, "cmse_nonsecure_entry"))
427+
}
425428
attributes::apply_to_llfn(llfn, llvm::AttributePlace::Function, &{ func_attrs });
426429

427430
let mut i = 0;
@@ -659,9 +662,11 @@ impl<'tcx> AbiBuilderMethods<'tcx> for Builder<'_, '_, 'tcx> {
659662
impl From<Conv> for llvm::CallConv {
660663
fn from(conv: Conv) -> Self {
661664
match conv {
662-
Conv::C | Conv::Rust | Conv::CCmseNonSecureCall | Conv::RiscvInterrupt { .. } => {
663-
llvm::CCallConv
664-
}
665+
Conv::C
666+
| Conv::Rust
667+
| Conv::CCmseNonSecureCall
668+
| Conv::CCmseNonSecureEntry
669+
| Conv::RiscvInterrupt { .. } => llvm::CCallConv,
665670
Conv::Cold => llvm::ColdCallConv,
666671
Conv::PreserveMost => llvm::PreserveMost,
667672
Conv::PreserveAll => llvm::PreserveAll,

compiler/rustc_codegen_llvm/src/attributes.rs

-3
Original file line numberDiff line numberDiff line change
@@ -483,9 +483,6 @@ pub(crate) fn llfn_attrs_from_instance<'ll, 'tcx>(
483483
let allocated_pointer = AttributeKind::AllocatedPointer.create_attr(cx.llcx);
484484
attributes::apply_to_llfn(llfn, AttributePlace::Argument(0), &[allocated_pointer]);
485485
}
486-
if codegen_fn_attrs.flags.contains(CodegenFnAttrFlags::CMSE_NONSECURE_ENTRY) {
487-
to_add.push(llvm::CreateAttrString(cx.llcx, "cmse_nonsecure_entry"));
488-
}
489486
if let Some(align) = codegen_fn_attrs.alignment {
490487
llvm::set_alignment(llfn, align);
491488
}

compiler/rustc_codegen_ssa/src/codegen_attrs.rs

-18
Original file line numberDiff line numberDiff line change
@@ -195,24 +195,6 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
195195
}
196196
}
197197
}
198-
sym::cmse_nonsecure_entry => {
199-
if let Some(fn_sig) = fn_sig()
200-
&& !matches!(fn_sig.skip_binder().abi(), abi::Abi::C { .. })
201-
{
202-
struct_span_code_err!(
203-
tcx.dcx(),
204-
attr.span,
205-
E0776,
206-
"`#[cmse_nonsecure_entry]` requires C ABI"
207-
)
208-
.emit();
209-
}
210-
if !tcx.sess.target.llvm_target.contains("thumbv8m") {
211-
struct_span_code_err!(tcx.dcx(), attr.span, E0775, "`#[cmse_nonsecure_entry]` is only valid for targets with the TrustZone-M extension")
212-
.emit();
213-
}
214-
codegen_fn_attrs.flags |= CodegenFnAttrFlags::CMSE_NONSECURE_ENTRY
215-
}
216198
sym::thread_local => codegen_fn_attrs.flags |= CodegenFnAttrFlags::THREAD_LOCAL,
217199
sym::track_caller => {
218200
let is_closure = tcx.is_closure_like(did.to_def_id());

compiler/rustc_error_codes/src/error_codes/E0775.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1+
#### Note: this error code is no longer emitted by the compiler.
2+
13
`#[cmse_nonsecure_entry]` is only valid for targets with the TrustZone-M
24
extension.
35

46
Erroneous code example:
57

6-
```compile_fail,E0775
8+
```ignore (no longer emitted)
79
#![feature(cmse_nonsecure_entry)]
810
9-
#[cmse_nonsecure_entry]
10-
pub extern "C" fn entry_function() {}
11+
pub extern "C-cmse-nonsecure-entry" fn entry_function() {}
1112
```
1213

1314
To fix this error, compile your code for a Rust target that supports the

compiler/rustc_error_codes/src/error_codes/E0776.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
#### Note: this error code is no longer emitted by the compiler.
2+
13
`#[cmse_nonsecure_entry]` functions require a C ABI
24

35
Erroneous code example:
46

5-
```compile_fail,E0776
7+
```ignore (no longer emitted)
68
#![feature(cmse_nonsecure_entry)]
79
810
#[no_mangle]

compiler/rustc_error_codes/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -681,4 +681,5 @@ E0800: 0800,
681681
// E0723, // unstable feature in `const` context
682682
// E0738, // Removed; errored on `#[track_caller] fn`s in `extern "Rust" { ... }`.
683683
// E0744, // merged into E0728
684+
// E0776, // Removed; cmse_nonsecure_entry is now `C-cmse-nonsecure-entry`
684685
// E0796, // unused error code. We use `static_mut_refs` lint instead.

compiler/rustc_feature/src/builtin_attrs.rs

-4
Original file line numberDiff line numberDiff line change
@@ -551,10 +551,6 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
551551
EncodeCrossCrate::No, experimental!(register_tool),
552552
),
553553

554-
gated!(
555-
cmse_nonsecure_entry, Normal, template!(Word), WarnFollowing,
556-
EncodeCrossCrate::No, experimental!(cmse_nonsecure_entry)
557-
),
558554
// RFC 2632
559555
gated!(
560556
const_trait, Normal, template!(Word), WarnFollowing, EncodeCrossCrate::No, const_trait_impl,

compiler/rustc_feature/src/unstable.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ declare_features! (
395395
(unstable, closure_lifetime_binder, "1.64.0", Some(97362)),
396396
/// Allows `#[track_caller]` on closures and coroutines.
397397
(unstable, closure_track_caller, "1.57.0", Some(87417)),
398-
/// Allows to use the `#[cmse_nonsecure_entry]` attribute.
398+
/// Allows `extern "C-cmse-nonsecure-entry" fn()`.
399399
(unstable, cmse_nonsecure_entry, "1.48.0", Some(75835)),
400400
/// Allows `async {}` expressions in const contexts.
401401
(unstable, const_async_blocks, "1.53.0", Some(85368)),

compiler/rustc_middle/src/middle/codegen_fn_attrs.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,7 @@ bitflags::bitflags! {
120120
/// #[ffi_const]: applies clang's `const` attribute to a foreign function
121121
/// declaration.
122122
const FFI_CONST = 1 << 12;
123-
/// #[cmse_nonsecure_entry]: with a TrustZone-M extension, declare a
124-
/// function as an entry function from Non-Secure code.
125-
const CMSE_NONSECURE_ENTRY = 1 << 13;
123+
// (Bit 13 was used for `#[cmse_nonsecure_entry]`, but is now unused.)
126124
// (Bit 14 was used for `#[coverage(off)]`, but is now unused.)
127125
/// `#[used(linker)]`:
128126
/// indicates that neither LLVM nor the linker will eliminate this function.

compiler/rustc_middle/src/ty/layout.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1191,6 +1191,7 @@ pub fn fn_can_unwind(tcx: TyCtxt<'_>, fn_def_id: Option<DefId>, abi: SpecAbi) ->
11911191
| RiscvInterruptM
11921192
| RiscvInterruptS
11931193
| CCmseNonSecureCall
1194+
| CCmseNonSecureEntry
11941195
| Unadjusted => false,
11951196
Rust | RustCall | RustCold | RustIntrinsic => {
11961197
tcx.sess.panic_strategy() == PanicStrategy::Unwind

compiler/rustc_passes/src/check_attr.rs

-24
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,6 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
188188
| [sym::rustc_must_implement_one_of, ..]
189189
| [sym::rustc_deny_explicit_impl, ..]
190190
| [sym::const_trait, ..] => self.check_must_be_applied_to_trait(attr, span, target),
191-
[sym::cmse_nonsecure_entry, ..] => {
192-
self.check_cmse_nonsecure_entry(hir_id, attr, span, target)
193-
}
194191
[sym::collapse_debuginfo, ..] => self.check_collapse_debuginfo(attr, span, target),
195192
[sym::must_not_suspend, ..] => self.check_must_not_suspend(attr, span, target),
196193
[sym::must_use, ..] => self.check_must_use(hir_id, attr, target),
@@ -563,27 +560,6 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
563560
}
564561
}
565562

566-
/// Checks if `#[cmse_nonsecure_entry]` is applied to a function definition.
567-
fn check_cmse_nonsecure_entry(
568-
&self,
569-
hir_id: HirId,
570-
attr: &Attribute,
571-
span: Span,
572-
target: Target,
573-
) {
574-
match target {
575-
Target::Fn
576-
| Target::Method(MethodKind::Trait { body: true } | MethodKind::Inherent) => {}
577-
_ => {
578-
self.dcx().emit_err(errors::AttrShouldBeAppliedToFn {
579-
attr_span: attr.span,
580-
defn_span: span,
581-
on_crate: hir_id == CRATE_HIR_ID,
582-
});
583-
}
584-
}
585-
}
586-
587563
/// Debugging aid for `object_lifetime_default` query.
588564
fn check_object_lifetime_default(&self, hir_id: HirId) {
589565
let tcx = self.tcx;

compiler/rustc_smir/src/rustc_internal/internal.rs

+1
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,7 @@ impl RustcInternal for Abi {
470470
Abi::AvrInterrupt => rustc_target::spec::abi::Abi::AvrInterrupt,
471471
Abi::AvrNonBlockingInterrupt => rustc_target::spec::abi::Abi::AvrNonBlockingInterrupt,
472472
Abi::CCmseNonSecureCall => rustc_target::spec::abi::Abi::CCmseNonSecureCall,
473+
Abi::CCmseNonSecureEntry => rustc_target::spec::abi::Abi::CCmseNonSecureEntry,
473474
Abi::System { unwind } => rustc_target::spec::abi::Abi::System { unwind },
474475
Abi::RustIntrinsic => rustc_target::spec::abi::Abi::RustIntrinsic,
475476
Abi::RustCall => rustc_target::spec::abi::Abi::RustCall,

compiler/rustc_smir/src/rustc_smir/convert/abi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ impl<'tcx> Stable<'tcx> for rustc_target::abi::call::Conv {
105105
Conv::PreserveAll => CallConvention::PreserveAll,
106106
Conv::ArmAapcs => CallConvention::ArmAapcs,
107107
Conv::CCmseNonSecureCall => CallConvention::CCmseNonSecureCall,
108+
Conv::CCmseNonSecureEntry => CallConvention::CCmseNonSecureEntry,
108109
Conv::Msp430Intr => CallConvention::Msp430Intr,
109110
Conv::PtxKernel => CallConvention::PtxKernel,
110111
Conv::X86Fastcall => CallConvention::X86Fastcall,

compiler/rustc_smir/src/rustc_smir/convert/ty.rs

+1
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,7 @@ impl<'tcx> Stable<'tcx> for rustc_target::spec::abi::Abi {
910910
abi::Abi::AvrInterrupt => Abi::AvrInterrupt,
911911
abi::Abi::AvrNonBlockingInterrupt => Abi::AvrNonBlockingInterrupt,
912912
abi::Abi::CCmseNonSecureCall => Abi::CCmseNonSecureCall,
913+
abi::Abi::CCmseNonSecureEntry => Abi::CCmseNonSecureEntry,
913914
abi::Abi::System { unwind } => Abi::System { unwind },
914915
abi::Abi::RustIntrinsic => Abi::RustIntrinsic,
915916
abi::Abi::RustCall => Abi::RustCall,

compiler/rustc_target/src/abi/call/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ pub enum Conv {
779779
// Target-specific calling conventions.
780780
ArmAapcs,
781781
CCmseNonSecureCall,
782+
CCmseNonSecureEntry,
782783

783784
Msp430Intr,
784785

@@ -972,6 +973,7 @@ impl FromStr for Conv {
972973
"RustCold" => Ok(Conv::Rust),
973974
"ArmAapcs" => Ok(Conv::ArmAapcs),
974975
"CCmseNonSecureCall" => Ok(Conv::CCmseNonSecureCall),
976+
"CCmseNonSecureEntry" => Ok(Conv::CCmseNonSecureEntry),
975977
"Msp430Intr" => Ok(Conv::Msp430Intr),
976978
"PtxKernel" => Ok(Conv::PtxKernel),
977979
"X86Fastcall" => Ok(Conv::X86Fastcall),

compiler/rustc_target/src/json.rs

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ impl ToJson for crate::abi::call::Conv {
103103
Self::PreserveAll => "PreserveAll",
104104
Self::ArmAapcs => "ArmAapcs",
105105
Self::CCmseNonSecureCall => "CCmseNonSecureCall",
106+
Self::CCmseNonSecureEntry => "CCmseNonSecureEntry",
106107
Self::Msp430Intr => "Msp430Intr",
107108
Self::PtxKernel => "PtxKernel",
108109
Self::X86Fastcall => "X86Fastcall",

compiler/rustc_target/src/spec/abi/mod.rs

+15-8
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ pub enum Abi {
4848
AvrInterrupt,
4949
AvrNonBlockingInterrupt,
5050
CCmseNonSecureCall,
51+
CCmseNonSecureEntry,
5152
System {
5253
unwind: bool,
5354
},
@@ -124,6 +125,7 @@ const AbiDatas: &[AbiData] = &[
124125
AbiData { abi: Abi::AvrInterrupt, name: "avr-interrupt" },
125126
AbiData { abi: Abi::AvrNonBlockingInterrupt, name: "avr-non-blocking-interrupt" },
126127
AbiData { abi: Abi::CCmseNonSecureCall, name: "C-cmse-nonsecure-call" },
128+
AbiData { abi: Abi::CCmseNonSecureEntry, name: "C-cmse-nonsecure-entry" },
127129
AbiData { abi: Abi::System { unwind: false }, name: "system" },
128130
AbiData { abi: Abi::System { unwind: true }, name: "system-unwind" },
129131
AbiData { abi: Abi::RustIntrinsic, name: "rust-intrinsic" },
@@ -244,6 +246,10 @@ pub fn is_stable(name: &str) -> Result<(), AbiDisabled> {
244246
feature: sym::abi_c_cmse_nonsecure_call,
245247
explain: "C-cmse-nonsecure-call ABI is experimental and subject to change",
246248
}),
249+
"C-cmse-nonsecure-entry" => Err(AbiDisabled::Unstable {
250+
feature: sym::cmse_nonsecure_entry,
251+
explain: "C-cmse-nonsecure-entry ABI is experimental and subject to change",
252+
}),
247253
_ => Err(AbiDisabled::Unrecognized),
248254
}
249255
}
@@ -286,15 +292,16 @@ impl Abi {
286292
AvrInterrupt => 23,
287293
AvrNonBlockingInterrupt => 24,
288294
CCmseNonSecureCall => 25,
295+
CCmseNonSecureEntry => 26,
289296
// Cross-platform ABIs
290-
System { unwind: false } => 26,
291-
System { unwind: true } => 27,
292-
RustIntrinsic => 28,
293-
RustCall => 29,
294-
Unadjusted => 30,
295-
RustCold => 31,
296-
RiscvInterruptM => 32,
297-
RiscvInterruptS => 33,
297+
System { unwind: false } => 27,
298+
System { unwind: true } => 28,
299+
RustIntrinsic => 29,
300+
RustCall => 30,
301+
Unadjusted => 31,
302+
RustCold => 32,
303+
RiscvInterruptM => 33,
304+
RiscvInterruptS => 34,
298305
};
299306
debug_assert!(
300307
AbiDatas

compiler/rustc_target/src/spec/mod.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -2724,7 +2724,10 @@ impl Target {
27242724
}
27252725
X86Interrupt => ["x86", "x86_64"].contains(&&self.arch[..]),
27262726
Aapcs { .. } => "arm" == self.arch,
2727-
CCmseNonSecureCall => ["arm", "aarch64"].contains(&&self.arch[..]),
2727+
CCmseNonSecureCall | CCmseNonSecureEntry => {
2728+
["thumbv8m.main-none-eabi", "thumbv8m.main-none-eabihf", "thumbv8m.base-none-eabi"]
2729+
.contains(&&self.llvm_target[..])
2730+
}
27282731
Win64 { .. } | SysV64 { .. } => self.arch == "x86_64",
27292732
PtxKernel => self.arch == "nvptx64",
27302733
Msp430Interrupt => self.arch == "msp430",

compiler/rustc_ty_utils/src/abi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ fn conv_from_spec_abi(tcx: TyCtxt<'_>, abi: SpecAbi, c_variadic: bool) -> Conv {
312312
SysV64 { .. } => Conv::X86_64SysV,
313313
Aapcs { .. } => Conv::ArmAapcs,
314314
CCmseNonSecureCall => Conv::CCmseNonSecureCall,
315+
CCmseNonSecureEntry => Conv::CCmseNonSecureEntry,
315316
PtxKernel => Conv::PtxKernel,
316317
Msp430Interrupt => Conv::Msp430Intr,
317318
X86Interrupt => Conv::X86Intr,

compiler/stable_mir/src/abi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,7 @@ pub enum CallConvention {
433433
// Target-specific calling conventions.
434434
ArmAapcs,
435435
CCmseNonSecureCall,
436+
CCmseNonSecureEntry,
436437

437438
Msp430Intr,
438439

compiler/stable_mir/src/ty.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,7 @@ pub enum Abi {
10621062
AvrInterrupt,
10631063
AvrNonBlockingInterrupt,
10641064
CCmseNonSecureCall,
1065+
CCmseNonSecureEntry,
10651066
System { unwind: bool },
10661067
RustIntrinsic,
10671068
RustCall,

src/doc/unstable-book/src/language-features/cmse-nonsecure-entry.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ LLVM, the Rust compiler and the linker are providing
1515
TrustZone-M feature.
1616

1717
One of the things provided, with this unstable feature, is the
18-
`cmse_nonsecure_entry` attribute. This attribute marks a Secure function as an
18+
`C-cmse-nonsecure-entry` ABI. This ABI marks a Secure function as an
1919
entry function (see [section
2020
5.4](https://developer.arm.com/documentation/ecm0359818/latest/) for details).
21-
With this attribute, the compiler will do the following:
21+
With this ABI, the compiler will do the following:
2222
* add a special symbol on the function which is the `__acle_se_` prefix and the
2323
standard function name
2424
* constrain the number of parameters to avoid using the Non-Secure stack
@@ -38,11 +38,11 @@ gateway veneer.
3838
<!-- NOTE(ignore) this example is specific to thumbv8m targets -->
3939

4040
``` rust,ignore
41+
#![no_std]
4142
#![feature(cmse_nonsecure_entry)]
4243
4344
#[no_mangle]
44-
#[cmse_nonsecure_entry]
45-
pub extern "C" fn entry_function(input: u32) -> u32 {
45+
pub extern "C-cmse-nonsecure-entry" fn entry_function(input: u32) -> u32 {
4646
input + 6
4747
}
4848
```

src/tools/rust-analyzer/crates/hir-ty/src/lib.rs

+3
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ pub enum FnAbi {
377377
AvrNonBlockingInterrupt,
378378
C,
379379
CCmseNonsecureCall,
380+
CCmseNonsecureEntry,
380381
CDecl,
381382
CDeclUnwind,
382383
CUnwind,
@@ -434,6 +435,7 @@ impl FnAbi {
434435
s if *s == sym::avr_dash_interrupt => FnAbi::AvrInterrupt,
435436
s if *s == sym::avr_dash_non_dash_blocking_dash_interrupt => FnAbi::AvrNonBlockingInterrupt,
436437
s if *s == sym::C_dash_cmse_dash_nonsecure_dash_call => FnAbi::CCmseNonsecureCall,
438+
s if *s == sym::C_dash_cmse_dash_nonsecure_dash_entry => FnAbi::CCmseNonsecureEntry,
437439
s if *s == sym::C_dash_unwind => FnAbi::CUnwind,
438440
s if *s == sym::C => FnAbi::C,
439441
s if *s == sym::cdecl_dash_unwind => FnAbi::CDeclUnwind,
@@ -477,6 +479,7 @@ impl FnAbi {
477479
FnAbi::AvrNonBlockingInterrupt => "avr-non-blocking-interrupt",
478480
FnAbi::C => "C",
479481
FnAbi::CCmseNonsecureCall => "C-cmse-nonsecure-call",
482+
FnAbi::CCmseNonsecureEntry => "C-cmse-nonsecure-entry",
480483
FnAbi::CDecl => "C-decl",
481484
FnAbi::CDeclUnwind => "cdecl-unwind",
482485
FnAbi::CUnwind => "C-unwind",

src/tools/rust-analyzer/crates/ide-completion/src/completions/extern_abi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const SUPPORTED_CALLING_CONVENTIONS: &[&str] = &[
3232
"riscv-interrupt-m",
3333
"riscv-interrupt-s",
3434
"C-cmse-nonsecure-call",
35+
"C-cmse-nonsecure-entry",
3536
"wasm",
3637
"system",
3738
"system-unwind",

src/tools/rust-analyzer/crates/intern/src/symbol/symbols.rs

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ define_symbols! {
9494
avr_dash_interrupt = "avr-interrupt",
9595
avr_dash_non_dash_blocking_dash_interrupt = "avr-non-blocking-interrupt",
9696
C_dash_cmse_dash_nonsecure_dash_call = "C-cmse-nonsecure-call",
97+
C_dash_cmse_dash_nonsecure_dash_entry = "C-cmse-nonsecure-entry",
9798
C_dash_unwind = "C-unwind",
9899
cdecl_dash_unwind = "cdecl-unwind",
99100
fastcall_dash_unwind = "fastcall-unwind",

src/tools/tidy/src/issues.txt

-1
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,6 @@ ui/closures/issue-87814-2.rs
467467
ui/closures/issue-90871.rs
468468
ui/closures/issue-97607.rs
469469
ui/closures/issue-99565.rs
470-
ui/cmse-nonsecure/cmse-nonsecure-entry/issue-83475.rs
471470
ui/codegen/auxiliary/issue-97708-aux.rs
472471
ui/codegen/issue-101585-128bit-repeat.rs
473472
ui/codegen/issue-16602-1.rs

0 commit comments

Comments
 (0)