summaryrefslogtreecommitdiffstats
path: root/tests/codegen/issues/issue-56267-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/issues/issue-56267-2.rs')
-rw-r--r--tests/codegen/issues/issue-56267-2.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/codegen/issues/issue-56267-2.rs b/tests/codegen/issues/issue-56267-2.rs
new file mode 100644
index 000000000..4dc9ebfeb
--- /dev/null
+++ b/tests/codegen/issues/issue-56267-2.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 load from bar.1 should have alignment 4. Not checking
+// other loads here, as the alignment will be platform-dependent.
+
+// CHECK: %{{.+}} = load i32, {{i32\*|ptr}} %{{.+}}, align 4
+#[no_mangle]
+pub fn test(x: Foo<(i32, i32)>) -> (i32, i32) {
+ x.bar
+}