]> git.proxmox.com Git - rustc.git/blob - src/test/codegen/match-optimizes-away.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / codegen / match-optimizes-away.rs
1 //
2 // no-system-llvm
3 // compile-flags: -O
4 #![crate_type="lib"]
5
6 pub enum Three { A, B, C }
7
8 #[repr(u16)]
9 pub enum Four { A, B, C, D }
10
11 #[no_mangle]
12 pub fn three_valued(x: Three) -> Three {
13 // CHECK-LABEL: @three_valued
14 // CHECK-NEXT: {{^.*:$}}
15 // CHECK-NEXT: ret i8 %0
16 match x {
17 Three::A => Three::A,
18 Three::B => Three::B,
19 Three::C => Three::C,
20 }
21 }
22
23 #[no_mangle]
24 pub fn four_valued(x: Four) -> Four {
25 // CHECK-LABEL: @four_valued
26 // CHECK-NEXT: {{^.*:$}}
27 // CHECK-NEXT: ret i16 %0
28 match x {
29 Four::A => Four::A,
30 Four::B => Four::B,
31 Four::C => Four::C,
32 Four::D => Four::D,
33 }
34 }