# HG changeset patch # User Christian Kamm # Date 1218368528 -7200 # Node ID 822774a947501b6b05eb36a05c5991b035ee7c59 # Parent 993b217af574ba47c7575c29072b054b59464210 Make the alignment computations of the frontend match the llvm default alignment. Breaks run/double_03 because it assumes double.alignof >= 8, which does not seem to be the case for llvm. diff -r 993b217af574 -r 822774a94750 dmd/mtype.c --- a/dmd/mtype.c Sun Aug 10 10:50:53 2008 +0200 +++ b/dmd/mtype.c Sun Aug 10 13:42:08 2008 +0200 @@ -1002,10 +1002,20 @@ switch (ty) { +//LLVMDC: llvm aligns 12 byte reals to 4 byte case Tfloat80: case Timaginary80: case Tcomplex80: - sz = REALSIZE; + //sz = REALSIZE; + sz = 4; + break; + +//LLVMDC: llvm aligns these to 4 byte boundaries + case Tint64: + case Tuns64: + case Tfloat64: + case Timaginary64: + sz = 4; break; default: