[svn r209] Fixed: exotic array to pointer casts were broken.

Changed: classes now have opaque vtables.
This commit is contained in:
Tomas Lindquist Olsen
2008-05-12 18:44:11 +02:00
parent 7c78e3665b
commit 9f3be435b0
11 changed files with 129 additions and 48 deletions

View File

@@ -1474,6 +1474,10 @@ DValue* DotVarExp::toElem(IRState* p)
funcval = new llvm::LoadInst(funcval,"tmp",p->scopebb());
funcval = DtoGEP(funcval, zero, vtblidx, toChars(), p->scopebb());
funcval = new llvm::LoadInst(funcval,"tmp",p->scopebb());
#if OPAQUE_VTBLS
funcval = DtoBitCast(funcval, getPtrToType(DtoType(fdecl->type)));
Logger::cout() << "funcval casted: " << *funcval << '\n';
#endif
//assert(funcval->getType() == DtoType(fdecl->type));
//cc = DtoCallingConv(fdecl->linkage);
}