-
Notifications
You must be signed in to change notification settings - Fork 32
/
issue-69841.rs
45 lines (42 loc) · 1.03 KB
/
issue-69841.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// This is a regression test for issue rust-lang/rust#69841, which exposed an
// LLVM bug which needed a fix to be backported.
//@ run-pass
fn main() {
let buffer = [49u8, 10];
let mut a : u64 = 0;
'read: loop {
for c in &buffer {
match c {
48..=57 => {
a*= 10;
a+= *c as u64 - 48;
}
10 => {
break 'read;
}
_ => {
unsafe { std::hint::unreachable_unchecked() };
}
}
}
}
if a == 1 {
println!("What did you expect?");
} else {
panic!("this should be unreachable.");
}
}
// ferrocene-annotations: fls_jr4tpuyksr75
// Break Expressions
//
// ferrocene-annotations: fls_onfyolkcbeh3
// For Loops
//
// ferrocene-annotations: fls_uusi0zej55is
// Loop Labels
//
// ferrocene-annotations: fls_e5td0fa92fay
// Match Expressions
//
// ferrocene-annotations: fls_zjoamsr3dbqk
// Diverging Expressions