diff ir/irclass.cpp @ 1261:854e86eaa022

Revert change to treat bodyless functions in abstract classes as abstract. See DMD bug 2894.
author Christian Kamm <kamm incasoftware de>
date Sat, 25 Apr 2009 09:11:32 +0200
parents 752bed475b75
children 4fc43e173a0f
line wrap: on
line diff
--- a/ir/irclass.cpp	Fri Apr 24 16:47:42 2009 +0200
+++ b/ir/irclass.cpp	Sat Apr 25 09:11:32 2009 +0200
@@ -132,7 +132,7 @@
         FuncDeclaration* fd = dsym->isFuncDeclaration();
         assert(fd && "vtbl entry not a function");
 
-        if ((cd->isAbstract() || fd->isAbstract()) && !fd->fbody)
+        if (fd->isAbstract() && !fd->fbody)
         {
             c = getNullValue(DtoType(fd->type->pointerTo()));
         }
@@ -335,7 +335,7 @@
         FuncDeclaration* fd = dsym->isFuncDeclaration();
         assert(fd && "vtbl entry not a function");
 
-        assert(!((fd->isAbstract() || cd->isAbstract()) && !fd->fbody) &&
+        assert((!fd->isAbstract() || fd->fbody) &&
             "null symbol in interface implementation vtable");
 
         fd->codegen(Type::sir);