diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-08-30 01:43:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-30 01:43:48 +0200 |
| commit | d5b98a74d09e05bad03f08dbd0701330d65919cb (patch) | |
| tree | 14cf4332a22144dbae4fc4a7d8d5d16280c6bc7b /src/test/codegen | |
| parent | fe43918c38ec16d6ef8bd4b4cff515a124a14848 (diff) | |
| parent | 046556e94c641d2615bc9f7b11fba7a8573277ce (diff) | |
| download | rust-d5b98a74d09e05bad03f08dbd0701330d65919cb.tar.gz rust-d5b98a74d09e05bad03f08dbd0701330d65919cb.zip | |
Rollup merge of #75910 - bugadani:testcase, r=oli-obk
Add test for issue #27130 #27130 seems to be fixed by the llvm 11 update. The issue is marked with needs-test, so here it is. As some historical context, the generated code was fine until 1.38, and remained unoptimized from 1.38 up until the current nightly. I've also added a pattern matching version that was fine on 1.45.2.
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/issue-27130.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/codegen/issue-27130.rs b/src/test/codegen/issue-27130.rs new file mode 100644 index 00000000000..7ae78782ff9 --- /dev/null +++ b/src/test/codegen/issue-27130.rs @@ -0,0 +1,22 @@ +// compile-flags: -O +// min-llvm-version: 11.0 + +#![crate_type = "lib"] + +// CHECK-LABEL: @trim_in_place +#[no_mangle] +pub fn trim_in_place(a: &mut &[u8]) { + while a.first() == Some(&42) { + // CHECK-NOT: slice_index_order_fail + *a = &a[1..]; + } +} + +// CHECK-LABEL: @trim_in_place2 +#[no_mangle] +pub fn trim_in_place2(a: &mut &[u8]) { + while let Some(&42) = a.first() { + // CHECK-NOT: slice_index_order_fail + *a = &a[2..]; + } +} |
