zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit f20929bd8b6cd2b0af5edade9c27a5e002480d65 (tree)
parent 63cbec1a96740c325115e4ff955437ea0198c9fe
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Thu, 17 Feb 2022 13:12:31 -0700

stage2: fix crash using -femit-bin

Diffstat:
Msrc/Compilation.zig | 2++
Msrc/Module.zig | 6+++++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/Compilation.zig b/src/Compilation.zig @@ -2771,6 +2771,8 @@ fn processOneJob(comp: *Compilation, job: Job, main_progress_node: *std.Progress sema_frame.end(); sema_frame_ended = true; + if (comp.bin_file.options.emit == null) return; + const liveness_frame = tracy.namedFrame("liveness"); var liveness_frame_ended = false; errdefer if (!liveness_frame_ended) liveness_frame.end(); diff --git a/src/Module.zig b/src/Module.zig @@ -5266,7 +5266,11 @@ pub fn populateTestFunctions(mod: *Module) !void { } pub fn linkerUpdateDecl(mod: *Module, decl: *Decl) !void { - mod.comp.bin_file.updateDecl(mod, decl) catch |err| switch (err) { + const comp = mod.comp; + + if (comp.bin_file.options.emit == null) return; + + comp.bin_file.updateDecl(mod, decl) catch |err| switch (err) { error.OutOfMemory => return error.OutOfMemory, error.AnalysisFail => { decl.analysis = .codegen_failure;