From d81aeb0d28d15551ea89e2481f42ce4a6521e8a5 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Sun, 10 Aug 2008 13:42:08 +0200 Subject: [PATCH] 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. --- dmd/mtype.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dmd/mtype.c b/dmd/mtype.c index b1c4f0a0..d8fde78c 100644 --- a/dmd/mtype.c +++ b/dmd/mtype.c @@ -1002,10 +1002,20 @@ unsigned TypeBasic::alignsize() 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: