[svn r385] Fix lvalue cast problems with -= and friends.

Fix complex DtoBoolean.
This commit is contained in:
Christian Kamm
2008-07-14 22:48:03 +02:00
parent 27674069e7
commit 25dea7a16e
6 changed files with 36 additions and 28 deletions

View File

@@ -757,7 +757,8 @@ static LLValue* DtoArrayEqCmp_impl(const char* func, DValue* l, DValue* r, bool
//////////////////////////////////////////////////////////////////////////////////////////
LLValue* DtoArrayEquals(TOK op, DValue* l, DValue* r)
{
LLValue* res = DtoBoolean(DtoArrayEqCmp_impl("_adEq", l, r, true));
LLValue* res = DtoArrayEqCmp_impl("_adEq", l, r, true);
res = new llvm::ICmpInst(llvm::ICmpInst::ICMP_NE, res, DtoConstInt(0), "tmp", gIR->scopebb());
if (op == TOKnotequal)
res = gIR->ir->CreateNot(res, "tmp");