diff dmd/mtype.c @ 585:fbb1a366cfbc

Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 09 Sep 2008 16:49:47 -0700
parents 337554fd34f1
children e6bcc4d9e5ff
line wrap: on
line diff
--- a/dmd/mtype.c	Mon Sep 08 20:38:55 2008 +0200
+++ b/dmd/mtype.c	Tue Sep 09 16:49:47 2008 -0700
@@ -4456,18 +4456,17 @@
 
 	// *(&e + offset)
 	accessCheck(e->loc, sc, e, d);
+
+// LLVMDC we don't want dot exprs turned into pointer arithmetic. it complicates things for no apparent gain
+#ifndef IN_LLVM
 	b = new AddrExp(e->loc, e);
 	b->type = e->type->pointerTo();
 	b = new AddExp(e->loc, b, new IntegerExp(e->loc, v->offset, Type::tint32));
-#if IN_LLVM
-    // LLVMDC modification
-    // this is *essential*
-    ((AddExp*)b)->llvmFieldIndex = true;
-#endif
 	b->type = v->type->pointerTo();
 	e = new PtrExp(e->loc, b);
 	e->type = v->type;
 	return e;
+#endif
     }
 
     de = new DotVarExp(e->loc, e, d);