[svn r217] Updated: the rebuild profiles.

Fixed: way to find class data fields was too strict type wise.
Fixed: foreach resulting in an implicit delegate could fail.
This commit is contained in:
Tomas Lindquist Olsen
2008-05-12 22:44:25 +02:00
parent ee551c95b9
commit c571bf0f70
6 changed files with 22 additions and 12 deletions

View File

@@ -1153,7 +1153,7 @@ llvm::Value* DtoIndexClass(llvm::Value* ptr, ClassDeclaration* cd, Type* t, unsi
Type* vdtype = DtoDType(vd->type);
//Logger::println("found %u type %s", vd->offset, vdtype->toChars());
assert(vd->ir.irField->index >= 0);
if (os == vd->offset && vdtype == t) {
if (os == vd->offset && vdtype->toBasetype() == t->toBasetype()) {
Logger::println("found %s %s", vdtype->toChars(), vd->toChars());
idxs.push_back(vd->ir.irField->index + dataoffset);
//Logger::cout() << "indexing: " << *ptr << '\n';