FuncDeclaration::nestedVars should only be filled in DtoCreateNestedContextType.

This commit is contained in:
David Nadlinger
2013-09-12 13:46:45 +02:00
parent 0063546bc3
commit e5463f77b7

View File

@@ -302,14 +302,13 @@ static void DtoCreateNestedContextType(FuncDeclaration* fd) {
return;
fd->ir.irFunc->nestedContextCreated = true;
if (fd->nestedVars.empty()) {
// fill nestedVars
size_t nnest = fd->closureVars.dim;
for (size_t i = 0; i < nnest; ++i)
{
VarDeclaration* vd = static_cast<VarDeclaration*>(fd->closureVars.data[i]);
fd->nestedVars.insert(vd);
}
// fill nestedVars
assert(fd->nestedVars.empty() && "nestedVars should only be filled here");
size_t nnest = fd->closureVars.dim;
for (size_t i = 0; i < nnest; ++i)
{
VarDeclaration* vd = static_cast<VarDeclaration*>(fd->closureVars.data[i]);
fd->nestedVars.insert(vd);
}
// construct nested variables array