From 3697022a41ffa13a3971aeaf96b9c2b8de391ab1 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 17 May 2021 13:44:20 -0700 Subject: stage2: avoid calling freeDecl when hasCodeGenBits == false Previously the frontend incorrectly called freeDecl for structs, which never got allocateDecl called for them. There was simply a missing check for hasCodeGenBits(). --- src/Module.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Module.zig') diff --git a/src/Module.zig b/src/Module.zig index 2227e47d72..b74ef1cc81 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -3499,9 +3499,11 @@ pub fn deleteDecl( } _ = mod.compile_log_decls.swapRemove(decl); mod.deleteDeclExports(decl); - mod.comp.bin_file.freeDecl(decl); if (decl.has_tv) { + if (decl.ty.hasCodeGenBits()) { + mod.comp.bin_file.freeDecl(decl); + } if (decl.getInnerNamespace()) |namespace| { try namespace.deleteAllDecls(mod, outdated_decls); } -- cgit v1.2.3