changeset 1162:0424e7dfadb1

Do not skip abstract function declarations if they have a function body. Fixes abstract_17_A,B.
author Christian Kamm <kamm incasoftware de>
date Sat, 28 Mar 2009 20:25:59 +0100
parents f528e55fb32f
children ea52660f828b
files gen/functions.cpp
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gen/functions.cpp	Sat Mar 28 20:01:37 2009 +0100
+++ b/gen/functions.cpp	Sat Mar 28 20:25:59 2009 +0100
@@ -368,10 +368,10 @@
     Logger::println("DtoResolveFunction(%s): %s", fdecl->toPrettyChars(), fdecl->loc.toChars());
     LOG_SCOPE;
 
-    // queue declaration
-    if (!fdecl->isAbstract())
+    // queue declaration unless the function is abstract without body
+    if (!fdecl->isAbstract() || fdecl->fbody)
     {
-        Logger::println("Ignoring declaration of abstract function %s", fdecl->toPrettyChars());
+        Logger::println("Ignoring declaration of abstract bodyless function %s", fdecl->toPrettyChars());
         DtoDeclareFunction(fdecl);
     }
 }