rust/src/test/codegen/catch-unwind.rs
Tom Eccles 08529aff80 test: codegen: skip catch-unwind on riscv64
It isn't clear to me if this is a bug or not, hence the FIXME
2020-06-04 12:15:26 +01:00

28 lines
537 B
Rust

// compile-flags: -O
// On x86 the closure is inlined in foo() producting something like
// define i32 @foo() [...] {
// tail call void @bar() [...]
// ret i32 0
// }
// On riscv the closure is another function, placed before fn foo so CHECK can't
// find it
// ignore-riscv64 FIXME
#![crate_type = "lib"]
extern "C" {
fn bar();
}
// CHECK-LABEL: @foo
#[no_mangle]
pub unsafe fn foo() -> i32 {
// CHECK: call void @bar
// CHECK: ret i32 0
std::panic::catch_unwind(|| {
bar();
0
})
.unwrap()
}