zig

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

commit c91c4dc25696224fd1d15d5b5fbf9698c8a77272 (tree)
parent 5b5097a22a380a93a0f205ba218e8290a42ad051
Author: LemonBoy <thatlemon@gmail.com>
Date:   Fri, 13 Nov 2020 20:54:05 +0100

stage2: Create cache manifest before calling final

If we enter the `if` because `comp.disable_c_depfile` is false the `man`
object has no manifest and calling .final on it will trip an assertion.

Closes #7096

Diffstat:
Msrc/Compilation.zig | 3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/Compilation.zig b/src/Compilation.zig @@ -1818,6 +1818,9 @@ fn updateCObject(comp: *Compilation, c_object: *CObject, c_comp_progress_node: * }; } + // We don't actually care whether it's a cache hit or miss; we just need the digest and the lock. + if (comp.disable_c_depfile) _ = try man.hit(); + // Rename into place. const digest = man.final(); const o_sub_path = try std.fs.path.join(arena, &[_][]const u8{ "o", &digest });