diff gen/functions.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 0c8048e13867
children 15e9762bb620
line wrap: on
line diff
--- a/gen/functions.cpp	Fri Apr 24 16:47:42 2009 +0200
+++ b/gen/functions.cpp	Sat Apr 25 09:11:32 2009 +0200
@@ -386,11 +386,8 @@
     Logger::println("DtoResolveFunction(%s): %s", fdecl->toPrettyChars(), fdecl->loc.toChars());
     LOG_SCOPE;
 
-    // queue declaration unless the function is abstract without body;
-    // bodyless functions in an abstract class are considered abstract
-    ClassDeclaration* cd = fdecl->isMember() ? fdecl->isMember()->isClassDeclaration() : NULL;
-    bool isabstract = fdecl->isAbstract() || (cd && cd->isAbstract());
-    if (!isabstract || fdecl->fbody)
+    // queue declaration unless the function is abstract without body
+    if (!fdecl->isAbstract() || fdecl->fbody)
     {
         DtoDeclareFunction(fdecl);
     }