mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 10:53:14 +01:00
revert 1784
This commit is contained in:
@@ -85,6 +85,7 @@ DValue* VarExp::toElem(IRState* p)
|
||||
if (cachedLvalue)
|
||||
{
|
||||
LLValue* V = cachedLvalue;
|
||||
cachedLvalue = NULL;
|
||||
return new DVarValue(type, V);
|
||||
}
|
||||
|
||||
@@ -603,9 +604,6 @@ DValue* X##AssignExp::toElem(IRState* p) \
|
||||
e3.type = e1->type; \
|
||||
DValue* dst = findLvalue(p, e1)->toElem(p); \
|
||||
DValue* res = e3.toElem(p); \
|
||||
while(e1->op == TOKcast) \
|
||||
e1 = ((CastExp*)e1)->e1; \
|
||||
e1->cachedLvalue = NULL; \
|
||||
DValue* stval = DtoCast(loc, res, dst->getType()); \
|
||||
DtoAssign(loc, dst, stval); \
|
||||
return DtoCast(loc, res, type); \
|
||||
@@ -1140,6 +1138,7 @@ DValue* PtrExp::toElem(IRState* p)
|
||||
if (cachedLvalue)
|
||||
{
|
||||
V = cachedLvalue;
|
||||
cachedLvalue = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1166,6 +1165,7 @@ DValue* DotVarExp::toElem(IRState* p)
|
||||
{
|
||||
Logger::println("using cached lvalue");
|
||||
LLValue *V = cachedLvalue;
|
||||
cachedLvalue = NULL;
|
||||
VarDeclaration* vd = var->isVarDeclaration();
|
||||
assert(vd);
|
||||
return new DVarValue(type, vd, V);
|
||||
@@ -1304,6 +1304,7 @@ DValue* IndexExp::toElem(IRState* p)
|
||||
if (cachedLvalue)
|
||||
{
|
||||
LLValue* V = cachedLvalue;
|
||||
cachedLvalue = NULL;
|
||||
return new DVarValue(type, V);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user