Mercurial > projects > ldc
diff gen/toir.cpp @ 809:69a5e4a6fc0f
Changed some hardcoded offset/alignment for classes in DMD, broke offsets for 64bits.
Changed ClassInfo generation to no longer access the default initializer of ClassInfo, fixes problems with index mismatch.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 30 Nov 2008 20:22:09 +0100 |
parents | 28ce72c60a21 |
children | 446263a8a30d |
line wrap: on
line diff
--- a/gen/toir.cpp Sun Nov 30 19:19:39 2008 +0100 +++ b/gen/toir.cpp Sun Nov 30 20:22:09 2008 +0100 @@ -2035,7 +2035,7 @@ DValue* u = e1->toElem(p); LLValue* value = u->getRVal(); - LLValue* minusone = llvm::ConstantInt::get(value->getType(), -1, true); + LLValue* minusone = llvm::ConstantInt::get(value->getType(), (uint64_t)-1, true); value = llvm::BinaryOperator::Create(llvm::Instruction::Xor, value, minusone, "tmp", p->scopebb()); return new DImValue(type, value);