diff --git a/src/x86/normalize.c b/src/x86/normalize.c index 7b591ff..943ae25 100644 --- a/src/x86/normalize.c +++ b/src/x86/normalize.c @@ -35,6 +35,7 @@ static AST *varify(AST *tlc, AST *chunk, AST *stmtPrev, AST *stmt, AST *e) { assign->nodeKind = AST_STMT_ASSIGN; assign->what = (AST*) ev[0]; assign->to = e; + vte->data.var.declaration = (AST*) assign; if(stmtPrev) { stmtPrev->statement.next = (AST*) assign; @@ -297,6 +298,7 @@ static void normalize_visitor(AST **nptr, AST *stmt, AST *stmtPrev, AST *chu, AS assign2->nodeKind = AST_STMT_ASSIGN; assign2->what = (AST*) s->stmtAssign.what; assign2->to = (AST*) ev[0]; + tmp->data.var.declaration = (AST*) s; s->stmtAssign.what = (AST*) ev[1]; @@ -517,6 +519,7 @@ static void pre_norm_visitor(AST **nptr, AST *stmt, AST *stmtPrev, AST *chunk, A ass->what = (AST*) evar; ass->to = ast_cast_expr((AST*) deref, vte->type); // Must cast because of "convention correctness" ass->next = n->chunk.statementFirst; + vte->data.var.declaration = (AST*) ass; if(n->chunk.statementFirst) { n->chunk.statementFirst = ass;