about summary refs log tree commit diff
path: root/src/rustc
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-04-26 21:52:55 -0700
committerBrian Anderson <banderson@mozilla.com>2012-04-26 21:59:59 -0700
commit1c46ee34beb7149b8a8b167340acf9fb7a12cd2e (patch)
tree9ad14da8d3bbb788ccdcd2e765e8261328dc74c9 /src/rustc
parent43751e45d90ed3a2f5a9d0208d50125d88af6dfc (diff)
downloadrust-1c46ee34beb7149b8a8b167340acf9fb7a12cd2e.tar.gz
rust-1c46ee34beb7149b8a8b167340acf9fb7a12cd2e.zip
rustc: Add llalign_of_min
Diffstat (limited to 'src/rustc')
-rw-r--r--src/rustc/middle/trans/shape.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rustc/middle/trans/shape.rs b/src/rustc/middle/trans/shape.rs
index ffd80bcf7da..bc694b3b1e2 100644
--- a/src/rustc/middle/trans/shape.rs
+++ b/src/rustc/middle/trans/shape.rs
@@ -637,6 +637,12 @@ fn llalign_of_pref(cx: @crate_ctxt, t: TypeRef) -> uint {
     ret llvm::LLVMPreferredAlignmentOfType(cx.td.lltd, t) as uint;
 }
 
+// Returns the minimum alignment of a type required by the plattform.
+// This is the alignment that will be used for struct fields.
+fn llalign_of_min(cx: @crate_ctxt, t: TypeRef) -> uint {
+    ret llvm::LLVMABIAlignmentOfType(cx.td.lltd, t) as uint;
+}
+
 fn llsize_of(cx: @crate_ctxt, t: TypeRef) -> ValueRef {
     ret llvm::LLVMConstIntCast(lib::llvm::llvm::LLVMSizeOf(t), cx.int_type,
                                False);