Fixed processing of initial values for block-local variables

This commit is contained in:
Clifford Wolf 2014-07-11 13:05:53 +02:00
parent 3b52121d32
commit 55a1b8dbac
1 changed files with 5 additions and 0 deletions

View File

@ -423,6 +423,11 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
if (did_something_here)
did_something = true;
}
if (stage == 2 && children[i]->type == AST_INITIAL && current_ast_mod != this) {
current_ast_mod->children.push_back(children[i]);
children.erase(children.begin() + (i--));
did_something = true;
}
}
for (auto &attr : attributes) {
while (attr.second->simplify(true, false, false, stage, -1, false, true))