Mercurial > projects > ldc
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); } /////////////////////////////////////////////////////////////////////////////////////