diff gen/arrays.cpp @ 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 39dbe48d3fe2
children 192b82878b78
line wrap: on
line diff
--- a/gen/arrays.cpp	Mon Sep 08 20:38:55 2008 +0200
+++ b/gen/arrays.cpp	Tue Sep 09 16:49:47 2008 -0700
@@ -116,10 +116,10 @@
     LLValue* val;
 
     // give slices and complex values storage (and thus an address to pass)
-    if (value->isSlice() || value->isComplex())
+    if (value->isSlice())
     {
         val = DtoAlloca(DtoType(value->getType()), ".tmpparam");
-        DVarValue lval(value->getType(), val, true);
+        DVarValue lval(value->getType(), val);
         DtoAssign(loc, &lval, value);
     }
     else
@@ -526,7 +526,7 @@
     LLValue* ptr = slice->ptr;
     ptr = llvm::GetElementPtrInst::Create(ptr, idx, "tmp", gIR->scopebb());
 
-    DValue* dptr = new DVarValue(exp->type, ptr, true);
+    DValue* dptr = new DVarValue(exp->type, ptr);
 
     DValue* e = exp->toElem(gIR);
 
@@ -631,7 +631,7 @@
         DSliceValue* slice = DtoNewDynArray(type, lenval, false);
         LLValue* mem = slice->ptr;
 
-        DVarValue* memval = new DVarValue(e1->getType(), mem, true);
+        DVarValue* memval = new DVarValue(e1->getType(), mem);
         DtoAssign(exp1->loc, memval, e1);
 
         src1 = DtoArrayPtr(e2);
@@ -662,7 +662,7 @@
         DtoMemCpy(mem,src1,bytelen);
 
         mem = gIR->ir->CreateGEP(mem,len1,"tmp");
-        DVarValue* memval = new DVarValue(e2->getType(), mem, true);
+        DVarValue* memval = new DVarValue(e2->getType(), mem);
         DtoAssign(exp1->loc, memval, e2);
 
         return slice;