diff gen/aa.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 672eb4893b55
children 26fce59fe80a
line wrap: on
line diff
--- a/gen/aa.cpp	Mon Sep 08 20:38:55 2008 +0200
+++ b/gen/aa.cpp	Tue Sep 09 16:49:47 2008 -0700
@@ -23,13 +23,8 @@
         pkey = key->getRVal();
     }
     else if (DVarValue* var = key->isVar()) {
-        if (var->lval) {
-            pkey = key->getLVal();
-            needmem = false;
-        }
-        else {
-            pkey = key->getRVal();
-        }
+        pkey = key->getLVal();
+        needmem = false;
     }
     else if (key->isConst()) {
         needmem = true;
@@ -37,8 +32,8 @@
     }
     else {
         LLValue* tmp = DtoAlloca(DtoType(keytype), "aatmpkeystorage");
-        DVarValue* var = new DVarValue(keytype, tmp, true);
-        DtoAssign(loc, var, key);
+        DVarValue var(keytype, tmp);
+        DtoAssign(loc, &var, key);
         return tmp;
     }
 
@@ -96,7 +91,7 @@
     if (ret->getType() != targettype)
         ret = DtoBitCast(ret, targettype);
 
-    return new DVarValue(type, ret, true);
+    return new DVarValue(type, ret);
 }
 
 /////////////////////////////////////////////////////////////////////////////////////