Fixed dmdfe generated class invariant calls. Also insert proper "this !is null" check before it. Fixed invariant* dstress regressions and generally seems like a good idea. Hope I didn't break anything.. minitests run fine!

This commit is contained in:
Tomas Lindquist Olsen
2009-05-10 00:46:09 +02:00
parent 06108db87e
commit ecc106d7b7
2 changed files with 23 additions and 4 deletions

View File

@@ -1753,9 +1753,8 @@ DValue* AssertExp::toElem(IRState* p)
LLValue* thisarg = p->func()->thisArg;
assert(thisarg && "null thisarg, but we're in assert(this) exp;");
LLValue* thisptr = DtoLoad(p->func()->thisArg);
LLValue* thisnotnull = p->ir->CreateIsNotNull(thisptr);
cond = new DImValue(Type::tbool, thisnotnull);
condty = Type::tbool;
condty = e1->type->toBasetype();
cond = new DImValue(condty, thisptr);
}
else
{