summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorhi-rustin <rustin.liu@gmail.com>2021-03-11 23:30:39 +0800
committerhi-rustin <rustin.liu@gmail.com>2021-03-12 12:06:10 +0800
commitd180f918240d2f8bd3d6f7292b63194f45901759 (patch)
tree036c6a6ed4ae43467af16a28e621e3f752475cf6 /src/test/codegen
parent5c6d3bf3896b465e15550f49c2861e3d18102270 (diff)
downloadrust-d180f918240d2f8bd3d6f7292b63194f45901759.tar.gz
rust-d180f918240d2f8bd3d6f7292b63194f45901759.zip
Emit the enum range assumption if the range only contains one element
test: add test case

make tidy happy
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/enum-bounds-check-issue-82871.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/codegen/enum-bounds-check-issue-82871.rs b/src/test/codegen/enum-bounds-check-issue-82871.rs
new file mode 100644
index 00000000000..e779e2ef274
--- /dev/null
+++ b/src/test/codegen/enum-bounds-check-issue-82871.rs
@@ -0,0 +1,16 @@
+// compile-flags: -O
+// min-llvm-version: 11.0
+
+#![crate_type = "lib"]
+
+#[repr(C)]
+pub enum E {
+    A,
+}
+
+// CHECK-LABEL: @index
+#[no_mangle]
+pub fn index(x: &[u32; 3], ind: E) -> u32{
+    // CHECK-NOT: panic_bounds_check
+    x[ind as usize]
+}