]>
Commit | Line | Data |
---|---|---|
abe05a73 XL |
1 | // |
2 | // no-system-llvm | |
3 | // compile-flags: -O | |
4 | #![crate_type="lib"] | |
5 | ||
ff7c6d11 | 6 | pub enum Three { A, B, C } |
abe05a73 | 7 | |
a1dfa0c6 | 8 | #[repr(u16)] |
ff7c6d11 | 9 | pub enum Four { A, B, C, D } |
abe05a73 XL |
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 { | |
ff7c6d11 XL |
17 | Three::A => Three::A, |
18 | Three::B => Three::B, | |
19 | Three::C => Three::C, | |
abe05a73 XL |
20 | } |
21 | } | |
22 | ||
23 | #[no_mangle] | |
24 | pub fn four_valued(x: Four) -> Four { | |
25 | // CHECK-LABEL: @four_valued | |
26 | // CHECK-NEXT: {{^.*:$}} | |
a1dfa0c6 | 27 | // CHECK-NEXT: ret i16 %0 |
abe05a73 | 28 | match x { |
ff7c6d11 XL |
29 | Four::A => Four::A, |
30 | Four::B => Four::B, | |
31 | Four::C => Four::C, | |
32 | Four::D => Four::D, | |
abe05a73 XL |
33 | } |
34 | } |