about summary refs log tree commit diff
path: root/src/test/codegen/align-struct.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-09-28 02:28:25 +0000
committerbors <bors@rust-lang.org>2018-09-28 02:28:25 +0000
commitc222479c6feb036e5e5198e068aa9824d855ffa4 (patch)
treebfab0be84ee73109ef5277104676941e5b064712 /src/test/codegen/align-struct.rs
parent7d52cbce6db83e4fc2d8706b4e4b9c7da76cbcf8 (diff)
parent06b8c3ee5b52dc849259655578afca70cb32dda3 (diff)
downloadrust-c222479c6feb036e5e5198e068aa9824d855ffa4.tar.gz
rust-c222479c6feb036e5e5198e068aa9824d855ffa4.zip
Auto merge of #54547 - AstralSorcerer:issue-54028, r=eddyb
Rely only on base alignment and offset for computing field alignment

Fix #54028
r? @eddyb
Diffstat (limited to 'src/test/codegen/align-struct.rs')
-rw-r--r--src/test/codegen/align-struct.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/codegen/align-struct.rs b/src/test/codegen/align-struct.rs
index bf119da2e82..887c43c6761 100644
--- a/src/test/codegen/align-struct.rs
+++ b/src/test/codegen/align-struct.rs
@@ -48,6 +48,16 @@ pub fn align64(i : i32) -> Align64 {
     a64
 }
 
+// For issue 54028: make sure that we are specifying the correct alignment for fields of aligned
+// structs
+// CHECK-LABEL: @align64_load
+#[no_mangle]
+pub fn align64_load(a: Align64) -> i32 {
+// CHECK: [[FIELD:%.*]] = bitcast %Align64* %{{.*}} to i32*
+// CHECK: {{%.*}} = load i32, i32* [[FIELD]], align 64
+    a.0
+}
+
 // CHECK-LABEL: @nested64
 #[no_mangle]
 pub fn nested64(a: Align64, b: i32, c: i32, d: i8) -> Nested64 {