diff gen/classes.cpp @ 201:8f9191180c7a trunk

[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.
author lindquist
date Mon, 12 May 2008 22:44:25 +0200
parents ba47ac346ddd
children 9d44ec83acd1
line wrap: on
line diff
--- a/gen/classes.cpp	Mon May 12 22:27:05 2008 +0200
+++ b/gen/classes.cpp	Mon May 12 22:44:25 2008 +0200
@@ -1153,7 +1153,7 @@
         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';