More declarations

This commit is contained in:
Mid 2025-10-17 14:09:25 +03:00
parent 8c164a3b09
commit 2aa64f4a37
2 changed files with 3 additions and 0 deletions

View File

@ -38,6 +38,7 @@ static AST *varify(AST *tlc, AST *chunk, AST **stmtPrev, AST *stmt, AST *e) {
assign->nodeKind = AST_STMT_ASSIGN; assign->nodeKind = AST_STMT_ASSIGN;
assign->what = (AST*) ev[0]; assign->what = (AST*) ev[0];
assign->to = e; assign->to = e;
vte->data.var.declaration = (AST*) assign;
if(*stmtPrev) { if(*stmtPrev) {
(*stmtPrev)->statement.next = (AST*) assign; (*stmtPrev)->statement.next = (AST*) assign;
@ -96,6 +97,7 @@ static void ast_segmented_dereference_visitor(AST **aptr, AST *stmt, AST *stmtPr
ass->what = (AST*) ev; ass->what = (AST*) ev;
ass->to = (AST*) edseg; ass->to = (AST*) edseg;
ass->next = (AST*) stmt; ass->next = (AST*) stmt;
si->data.var.declaration = (AST*) ass;
if(stmtPrev) if(stmtPrev)
stmtPrev->statement.next = (AST*) ass; stmtPrev->statement.next = (AST*) ass;
else else

View File

@ -51,6 +51,7 @@ static void ast_decompose_automatic_record(AST *tlc, ScopeItem *target) {
si->kind = SCOPEITEM_VAR; si->kind = SCOPEITEM_VAR;
si->type = target->type->record.fieldTypes[f]; si->type = target->type->record.fieldTypes[f];
si->data.var.name = malp("%s_sroa_%s", target->data.var.name, target->type->record.fieldNames[f]); si->data.var.name = malp("%s_sroa_%s", target->data.var.name, target->type->record.fieldNames[f]);
si->data.var.declaration = target->data.var.declaration;
state.replacements[f] = si; state.replacements[f] = si;
tlc->chunk.vars[tlc->chunk.varCount++] = si; tlc->chunk.vars[tlc->chunk.varCount++] = si;