22b704bac4
In llvm/llvm-project@9067070d91 they ended up largely reverting llvm/llvm-project@e817966718. This means the change we did in rust-lang/rust@b378059e6b is now only corrct for LLVM 18...so we have to adjust again. @rustbot label: +llvm-main
28 lines
1.0 KiB
Rust
28 lines
1.0 KiB
Rust
// ignore-tidy-linelength
|
|
//@ revisions: riscv32 riscv64
|
|
//
|
|
//@ [riscv32] needs-llvm-components: riscv
|
|
//@ [riscv32] compile-flags: --target=riscv32i-unknown-none-elf -C target-feature=-unaligned-scalar-mem --crate-type=rlib
|
|
//@ [riscv64] needs-llvm-components: riscv
|
|
//@ [riscv64] compile-flags: --target=riscv64gc-unknown-none-elf -C target-feature=-unaligned-scalar-mem --crate-type=rlib
|
|
#![no_core]
|
|
#![feature(
|
|
no_core,
|
|
lang_items,
|
|
abi_riscv_interrupt
|
|
)]
|
|
#[lang = "sized"]
|
|
trait Sized {}
|
|
|
|
extern "riscv-interrupt" fn isr() {}
|
|
//~^ ERROR invalid ABI
|
|
//~^^ NOTE invalid ABI
|
|
//~^^^ NOTE invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
|
|
//~^^^^ NOTE please use one of riscv-interrupt-m or riscv-interrupt-s
|
|
|
|
extern "riscv-interrupt-u" fn isr_U() {}
|
|
//~^ ERROR invalid ABI
|
|
//~^^ NOTE invalid ABI
|
|
//~^^^ NOTE invoke `rustc --print=calling-conventions` for a full list of supported calling conventions
|
|
//~^^^^ NOTE user-mode interrupt handlers have been removed from LLVM pending standardization
|