Mercurial > projects > ldc
diff gen/functions.cpp @ 1250:4b0b470bb2f9
Automated merge with http://hg.dsource.org/projects/ldc
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Tue, 21 Apr 2009 18:57:29 +0200 |
parents | 01909bd1132c 871ae029ff49 |
children | 0c8048e13867 |
line wrap: on
line diff
--- a/gen/functions.cpp Tue Apr 21 17:54:43 2009 +0200 +++ b/gen/functions.cpp Tue Apr 21 18:57:29 2009 +0200 @@ -386,8 +386,11 @@ Logger::println("DtoResolveFunction(%s): %s", fdecl->toPrettyChars(), fdecl->loc.toChars()); LOG_SCOPE; - // queue declaration unless the function is abstract without body - if (!fdecl->isAbstract() || fdecl->fbody) + // queue declaration unless the function is abstract without body; + // bodyless functions in an abstract class are considered abstract + ClassDeclaration* cd = fdecl->parent->isClassDeclaration(); + bool isabstract = fdecl->isAbstract() || (cd && cd->isAbstract()); + if (!isabstract || fdecl->fbody) { DtoDeclareFunction(fdecl); }