diff gen/toir.cpp @ 837:331a176c1f4f

Removed error on naked, not fully complete, but I'll be doing more work on it during this Christmas, and some things do work. Fixed taking delegate of final class method. see mini/delegate3.d.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 09 Dec 2008 14:07:30 +0100
parents 14c3319ac1bb
children 217e8c719a2f
line wrap: on
line diff
--- a/gen/toir.cpp	Tue Dec 09 03:01:19 2008 +0100
+++ b/gen/toir.cpp	Tue Dec 09 14:07:30 2008 +0100
@@ -1970,7 +1970,7 @@
     Logger::println("func: '%s'", func->toPrettyChars());
 
     LLValue* castfptr;
-    if (func->isVirtual())
+    if (func->isVirtual() && !func->isFinal())
         castfptr = DtoVirtualFunctionPointer(u, func);
     else if (func->isAbstract())
         assert(0 && "TODO delegate to abstract method");