From c470a715a07a38fc7d6d24bb4651aa7a6a4b7555 Mon Sep 17 00:00:00 2001 From: Alexey Prokhin Date: Tue, 19 Jul 2011 19:20:39 +0400 Subject: [PATCH] DMD issue 1570 - Wrong return for address operator --- gen/toir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/toir.cpp b/gen/toir.cpp index f478afa6..de890077 100644 --- a/gen/toir.cpp +++ b/gen/toir.cpp @@ -2226,7 +2226,7 @@ DValue* DelegateExp::toElem(IRState* p) LLValue* castfptr; - if (e1->op != TOKsuper && func->isVirtual() && !func->isFinal()) + if (e1->op != TOKsuper && e1->op != TOKdottype && func->isVirtual() && !func->isFinal()) castfptr = DtoVirtualFunctionPointer(u, func, toChars()); else if (func->isAbstract()) assert(0 && "TODO delegate to abstract method");