From eae6d2a789f6538806a3859a144e99558d3e6caf Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sun, 25 Jan 2026 12:20:33 +0000 Subject: Further fix for #121 --- src/codegen/codegen_decl.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/codegen/codegen_decl.c') diff --git a/src/codegen/codegen_decl.c b/src/codegen/codegen_decl.c index b82e1af..d525963 100644 --- a/src/codegen/codegen_decl.c +++ b/src/codegen/codegen_decl.c @@ -991,7 +991,14 @@ int emit_tests_and_runner(ParserContext *ctx, ASTNode *node, FILE *out) if (cur->type == NODE_TEST) { fprintf(out, "static void _z_test_%d() {\n", test_count); + int saved = defer_count; codegen_walker(ctx, cur->test_stmt.body, out); + // Run defers + for (int i = defer_count - 1; i >= saved; i--) + { + codegen_node_single(ctx, defer_stack[i], out); + } + defer_count = saved; fprintf(out, "}\n"); test_count++; } -- cgit v1.2.3