diff --git a/gen/classes.cpp b/gen/classes.cpp index 656305e4..101615a2 100644 --- a/gen/classes.cpp +++ b/gen/classes.cpp @@ -560,7 +560,7 @@ static void init_class_vtbl_initializer(ClassDeclaration* cd) FuncDeclaration* fd = dsym->isFuncDeclaration(); assert(fd); - if (fd->isAbstract()) + if (fd->isAbstract() || (cd->isAbstract() && !fd->fbody)) { sinits[k] = getNullPtr(getVoidPtrType()); }