CMSE features should check ABI conformance in rustc, not LLVM #81347
Labels
A-codegen
Area: Code generation
C-bug
Category: This is a bug.
F-abi_c_cmse_nonsecure_call
`#![feature(abi_c_cmse_nonsecure_call)]`
F-cmse_nonsecure_entry
`#![feature(cmse_nonsecure_entry)]`
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Using
#[cmse_nonsecure_entry]
on a function limits its capabilities. Namely, only up to 4 32-bit arguments can be accepted, and none of them may be passed on the stack. The same is true for the"C-cmse-nonsecure-call"
ABI.Currently, this is checked in LLVM, so the user experience is sub-par, and the check happens very late (during codegen instead of type checking). It should be checked in rustc instead.
The text was updated successfully, but these errors were encountered: