Mercurial > projects > ldc
diff gen/toir.cpp @ 1270:dd135ff697fa
Fixed class default initializers and type generation. Bug #260 is fixed.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Mon, 27 Apr 2009 03:40:40 +0200 |
parents | 9014d7f0433f |
children | 0686701178d3 |
line wrap: on
line diff
--- a/gen/toir.cpp Mon Apr 27 01:43:29 2009 +0200 +++ b/gen/toir.cpp Mon Apr 27 03:40:40 2009 +0200 @@ -217,7 +217,9 @@ assert(ts->sym); ts->sym->codegen(Type::sir); - return new DVarValue(type, ts->sym->ir.irStruct->getInitSymbol()); + LLValue* initsym = ts->sym->ir.irStruct->getInitSymbol(); + initsym = DtoBitCast(initsym, DtoType(ts->pointerTo())); + return new DVarValue(type, initsym); } else { @@ -1645,7 +1647,7 @@ else { assert(ts->sym); ts->sym->codegen(Type::sir); - DtoAggrCopy(mem,ts->sym->ir.irStruct->getInitSymbol()); + DtoAggrCopy(mem, ts->sym->ir.irStruct->getInitSymbol()); } return new DImValue(type, mem); }