Mercurial > projects > ldc
diff ir/irclass.cpp @ 1231:212ec2d9d176
Fixed some minitest regressions.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Thu, 16 Apr 2009 19:21:30 +0200 |
parents | e67c85d6e680 |
children | ded6a557220a |
line wrap: on
line diff
--- a/ir/irclass.cpp Thu Apr 16 13:18:56 2009 +0200 +++ b/ir/irclass.cpp Thu Apr 16 19:21:30 2009 +0200 @@ -81,6 +81,8 @@ ClassDeclaration* cd = aggrdecl->isClassDeclaration(); + // FIXME: + // also happens for mini/s.d :( assert(cd->vtblInterfaces && cd->vtblInterfaces->dim > 0 && "should not create interface info array for class with no explicit " "interface implementations"); @@ -324,7 +326,14 @@ for (size_t i = 1; i < n; i++) { Dsymbol* dsym = (Dsymbol*)vtbl_array.data[i]; - assert(dsym && "null vtbl member"); + if (dsym == NULL) + { + // FIXME + // why is this null? + // happens for mini/s.d + constants.push_back(getNullValue(getVoidPtrType())); + continue; + } FuncDeclaration* fd = dsym->isFuncDeclaration(); assert(fd && "vtbl entry not a function");