mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-16 12:53:14 +01:00
Fix #125 – Nested class context pointer invalid (D1).
Patch originally by Alexey Prokhin, thanks.
This commit is contained in:
@@ -725,13 +725,6 @@ void DtoDefineFunction(FuncDeclaration* fd)
|
||||
fd->vthis->ir.irParam->isVthis = true;
|
||||
|
||||
DtoDwarfLocalVariable(thismem, fd->vthis);
|
||||
|
||||
#if DMDV1
|
||||
if (fd->vthis->nestedref)
|
||||
{
|
||||
fd->nestedVars.insert(fd->vthis);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// give the 'nestArg' storage
|
||||
@@ -790,12 +783,18 @@ void DtoDefineFunction(FuncDeclaration* fd)
|
||||
}
|
||||
}
|
||||
|
||||
// need result variable? (nested)
|
||||
|
||||
#if DMDV1
|
||||
// need result variable? (nested)
|
||||
if (fd->vresult && fd->vresult->nestedref) {
|
||||
Logger::println("nested vresult value: %s", fd->vresult->toChars());
|
||||
fd->nestedVars.insert(fd->vresult);
|
||||
}
|
||||
|
||||
if (fd->vthis && fd->vthis->nestedref && !fd->nestedVars.empty()) {
|
||||
Logger::println("nested vthis value: %s", fd->vthis->toChars());
|
||||
fd->nestedVars.insert(fd->vthis);
|
||||
}
|
||||
#endif
|
||||
|
||||
FuncGen fg;
|
||||
|
||||
Reference in New Issue
Block a user