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);