summaryrefslogtreecommitdiffstats
path: root/tests/codegen/issues/issue-56267.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/issues/issue-56267.rs')
-rw-r--r--tests/codegen/issues/issue-56267.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/codegen/issues/issue-56267.rs b/tests/codegen/issues/issue-56267.rs
new file mode 100644
index 000000000..7bdd25779
--- /dev/null
+++ b/tests/codegen/issues/issue-56267.rs
@@ -0,0 +1,18 @@
+// compile-flags: -C no-prepopulate-passes
+
+#![crate_type="rlib"]
+
+#[allow(dead_code)]
+pub struct Foo<T> {
+ foo: u64,
+ bar: T,
+}
+
+// The store writing to bar.1 should have alignment 4. Not checking
+// other stores here, as the alignment will be platform-dependent.
+
+// CHECK: store i32 [[TMP1:%.+]], {{i32\*|ptr}} [[TMP2:%.+]], align 4
+#[no_mangle]
+pub fn test(x: (i32, i32)) -> Foo<(i32, i32)> {
+ Foo { foo: 0, bar: x }
+}