mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-21 15:23:13 +01:00
Fixed ldc bug #444: Segfault when calling non-static methods from static
methods.
This commit is contained in:
17
gen/toir.cpp
17
gen/toir.cpp
@@ -88,7 +88,14 @@ DValue* VarExp::toElem(IRState* p)
|
||||
cachedLvalue = NULL;
|
||||
return new DVarValue(type, V);
|
||||
}
|
||||
|
||||
|
||||
// this is an error! must be accessed with DotVarExp
|
||||
if (var->needThis())
|
||||
{
|
||||
error("need 'this' to access member %s", toChars());
|
||||
fatal();
|
||||
}
|
||||
|
||||
if (VarDeclaration* vd = var->isVarDeclaration())
|
||||
{
|
||||
Logger::println("VarDeclaration ' %s ' of type ' %s '", vd->toChars(), vd->type->toChars());
|
||||
@@ -100,14 +107,6 @@ DValue* VarExp::toElem(IRState* p)
|
||||
return new DConstValue(type, DtoConstBool(false));
|
||||
}
|
||||
#endif
|
||||
|
||||
// this is an error! must be accessed with DotVarExp
|
||||
if (var->needThis())
|
||||
{
|
||||
error("need 'this' to access member %s", toChars());
|
||||
fatal();
|
||||
}
|
||||
|
||||
// _arguments
|
||||
if (vd->ident == Id::_arguments && p->func()->_arguments)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user