From 753ef4d9e8e7c55dd0883109978e446ec23c36d0 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 26 May 2024 12:20:50 -0700 Subject: [PATCH] frontend: fix use of undefined progress node This was causing a crash when running `zig test`. --- src/Module.zig | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index bfd79e611752..ef410fad4e33 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -5340,15 +5340,13 @@ pub fn populateTestFunctions( // We have to call `ensureDeclAnalyzed` here in case `builtin.test_functions` // was not referenced by start code. mod.sema_prog_node = main_progress_node.start("Semantic Analysis", 0); - mod.codegen_prog_node = main_progress_node.start("Code Generation", 0); defer { mod.sema_prog_node.end(); mod.sema_prog_node = undefined; - mod.codegen_prog_node.end(); - mod.codegen_prog_node = undefined; } try mod.ensureDeclAnalyzed(decl_index); } + const decl = mod.declPtr(decl_index); const test_fn_ty = decl.typeOf(mod).slicePtrFieldType(mod).childType(mod); @@ -5449,7 +5447,15 @@ pub fn populateTestFunctions( decl.val = new_val; decl.has_tv = true; } - try mod.linkerUpdateDecl(decl_index); + { + mod.codegen_prog_node = main_progress_node.start("Code Generation", 0); + defer { + mod.codegen_prog_node.end(); + mod.codegen_prog_node = undefined; + } + + try mod.linkerUpdateDecl(decl_index); + } } pub fn linkerUpdateDecl(zcu: *Zcu, decl_index: Decl.Index) !void {