From 2bb4a694d1e71644f9fb770d2a0b33f80dd213f4 Mon Sep 17 00:00:00 2001 From: Caio Date: Sun, 31 Jan 2021 19:46:46 -0300 Subject: Move some tests to more reasonable directories --- src/test/ui/for-loop-while/issue-2216.rs | 24 ++++++++++++++++++++++++ src/test/ui/for-loop-while/issue-69841.rs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/test/ui/for-loop-while/issue-2216.rs create mode 100644 src/test/ui/for-loop-while/issue-69841.rs (limited to 'src/test/ui/for-loop-while') diff --git a/src/test/ui/for-loop-while/issue-2216.rs b/src/test/ui/for-loop-while/issue-2216.rs new file mode 100644 index 00000000000..ad54107423d --- /dev/null +++ b/src/test/ui/for-loop-while/issue-2216.rs @@ -0,0 +1,24 @@ +// run-pass +#![allow(unreachable_code)] +pub fn main() { + let mut x = 0; + + 'foo: loop { + 'bar: loop { + loop { + if 1 == 2 { + break 'foo; + } + else { + break 'bar; + } + } + continue 'foo; + } + x = 42; + break; + } + + println!("{}", x); + assert_eq!(x, 42); +} diff --git a/src/test/ui/for-loop-while/issue-69841.rs b/src/test/ui/for-loop-while/issue-69841.rs new file mode 100644 index 00000000000..1aca16ca804 --- /dev/null +++ b/src/test/ui/for-loop-while/issue-69841.rs @@ -0,0 +1,31 @@ +// 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 +// no-system-llvm + +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."); + } +} -- cgit 1.4.1-3-g733a5