mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
36 lines
631 B
Rust
36 lines
631 B
Rust
// Test that jump tables are (not) emitted when the `-Zno-jump-tables`
|
|
// flag is (not) set.
|
|
|
|
//@ revisions: unset set
|
|
//@ assembly-output: emit-asm
|
|
//@ compile-flags: -O
|
|
//@ [set] compile-flags: -Zno-jump-tables
|
|
//@ only-x86_64
|
|
//@ ignore-sgx
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
extern "C" {
|
|
fn bar1();
|
|
fn bar2();
|
|
fn bar3();
|
|
fn bar4();
|
|
fn bar5();
|
|
fn bar6();
|
|
}
|
|
|
|
// CHECK-LABEL: foo:
|
|
#[no_mangle]
|
|
pub unsafe fn foo(x: i32) {
|
|
// unset: LJTI0_0
|
|
// set-NOT: LJTI0_0
|
|
match x {
|
|
1 => bar1(),
|
|
2 => bar2(),
|
|
3 => bar3(),
|
|
4 => bar4(),
|
|
5 => bar5(),
|
|
_ => bar6(),
|
|
}
|
|
}
|