extern "x86-interrupt" fn allows absurd signatures · Issue #132835 · rust-lang/rust (original) (raw)

I tried this code:

#![feature(abi_x86_interrupt)] extern "x86-interrupt" fn three_args(_a: u8, _b: u8, _c: u8) {}

fn main() { three_args(1, 2, 3); }

I expected to see rustc reject this code, because this signature makes no sense for this ABI.

Instead, this happened:

rustc-LLVM ERROR: unsupported x86 interrupt prototype
error: could not compile playground (bin "playground")

Meta

rustc --version --verbose:

rustc 1.84.0-nightly (a0d98ff0e 2024-10-31)
binary: rustc
commit-hash: a0d98ff0e5b6e1f2c63fd26f68484792621b235c
commit-date: 2024-10-31
host: x86_64-unknown-linux-gnu
release: 1.84.0-nightly
LLVM version: 19.1.1

@rustbot label: +F-abi_x86_interrupt +A-LLVM +O-x86_64 +O-x86_32 +A-ABI +T-compiler