# HG changeset patch # User Tomas Lindquist Olsen # Date 1227979712 -3600 # Node ID c8d9b30a0dc2e9582b396859e66933b34eb58f34 # Parent d14e4594c7d7b30f5a9ab4021e4ec135f01331f9# Parent 9f92b6e40fd3ad67aeb694af6f7fdce5f93687a8 merge diff -r d14e4594c7d7 -r c8d9b30a0dc2 gen/classes.cpp --- a/gen/classes.cpp Sat Nov 29 18:28:17 2008 +0100 +++ b/gen/classes.cpp Sat Nov 29 18:28:32 2008 +0100 @@ -547,7 +547,7 @@ FuncDeclaration* fd = dsym->isFuncDeclaration(); assert(fd); - if (fd->isAbstract()) + if (fd->isAbstract() || (cd->isAbstract() && !fd->fbody)) { sinits[k] = getNullPtr(getVoidPtrType()); } diff -r d14e4594c7d7 -r c8d9b30a0dc2 gen/llvmhelpers.cpp --- a/gen/llvmhelpers.cpp Sat Nov 29 18:28:17 2008 +0100 +++ b/gen/llvmhelpers.cpp Sat Nov 29 18:28:32 2008 +0100 @@ -972,7 +972,7 @@ // FIXME: I don't think it's thread safe ... bool doLazyInit = false; - Dsymbol* par = vd->toParent2(); + Dsymbol* par = vd->toParent(); if (par && par->isFuncDeclaration() && vd->init) {