changeset 489:822774a94750

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.
author Christian Kamm <kamm incasoftware de>
date Sun, 10 Aug 2008 13:42:08 +0200
parents 993b217af574
children f8c979770af3
files dmd/mtype.c
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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: