diff options
| author | Folkert de Vries <folkert@folkertdev.nl> | 2025-09-14 21:14:37 +0200 |
|---|---|---|
| committer | Folkert de Vries <folkert@folkertdev.nl> | 2025-09-16 10:23:07 +0200 |
| commit | 8b752cb37d646118c46f7739ae965b8e9c9a9b03 (patch) | |
| tree | 80d5a3e5f478d00d68ea96e87ded854bfa2a5b00 /compiler/rustc_hir_analysis/src | |
| parent | 8a1b39995e5b630c5872f5de5079f1f569bd5ac2 (diff) | |
| download | rust-8b752cb37d646118c46f7739ae965b8e9c9a9b03.tar.gz rust-8b752cb37d646118c46f7739ae965b8e9c9a9b03.zip | |
fix issue with `cmse-nonsecure-entry` ABI being both async and c-variadic
Diffstat (limited to 'compiler/rustc_hir_analysis/src')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/hir_ty_lowering/cmse.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_hir_analysis/src/hir_ty_lowering/cmse.rs b/compiler/rustc_hir_analysis/src/hir_ty_lowering/cmse.rs index 5088c63702e..7867c1c3b48 100644 --- a/compiler/rustc_hir_analysis/src/hir_ty_lowering/cmse.rs +++ b/compiler/rustc_hir_analysis/src/hir_ty_lowering/cmse.rs @@ -85,6 +85,12 @@ pub(crate) fn validate_cmse_abi<'tcx>( return; }; + // An `extern "cmse-nonsecure-entry"` function cannot be c-variadic. We run + // into https://github.com/rust-lang/rust/issues/132142 if we don't explicitly bail. + if decl.c_variadic { + return; + } + match is_valid_cmse_inputs(tcx, fn_sig) { Ok(Ok(())) => {} Ok(Err(index)) => { |
