Do not skip abstract function declarations if they have a function body. Fixes abstract_17_A,B.

This commit is contained in:
Christian Kamm 2009-03-28 20:25:59 +01:00
parent c5a09c9deb
commit 42da8b98b1

View file

@ -368,10 +368,10 @@ void DtoResolveFunction(FuncDeclaration* fdecl)
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);
}
}