summaryrefslogtreecommitdiffstats
path: root/tests/codegen/issues/issue-111603.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/issues/issue-111603.rs')
-rw-r--r--tests/codegen/issues/issue-111603.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/codegen/issues/issue-111603.rs b/tests/codegen/issues/issue-111603.rs
index 90b3c314d..06429ed3f 100644
--- a/tests/codegen/issues/issue-111603.rs
+++ b/tests/codegen/issues/issue-111603.rs
@@ -5,6 +5,18 @@
use std::sync::Arc;
+// CHECK-LABEL: @new_from_array
+#[no_mangle]
+pub fn new_from_array(x: u64) -> Arc<[u64]> {
+ // Ensure that we only generate one alloca for the array.
+
+ // CHECK: alloca
+ // CHECK-SAME: [1000 x i64]
+ // CHECK-NOT: alloca
+ let array = [x; 1000];
+ Arc::new(array)
+}
+
// CHECK-LABEL: @new_uninit
#[no_mangle]
pub fn new_uninit(x: u64) -> Arc<[u64; 1000]> {