From 1e91ee1e05f08013e3a4edec5d9f0aef978f3f0b Mon Sep 17 00:00:00 2001 From: mlugg Date: Sat, 3 Feb 2024 01:22:56 +0000 Subject: Zir: store extra source hashes required for incremental Also add corresponding invaidation logic to Zcu. Therefore, the only invalidation logic which is not yet in place is `decl_val` dependencies. --- lib/std/zig.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/std') diff --git a/lib/std/zig.zig b/lib/std/zig.zig index 84feb2cf0a..e0787e7312 100644 --- a/lib/std/zig.zig +++ b/lib/std/zig.zig @@ -27,11 +27,12 @@ pub const parseNumberLiteral = number_literal.parseNumberLiteral; pub const c_builtins = @import("zig/c_builtins.zig"); pub const c_translation = @import("zig/c_translation.zig"); +pub const SrcHasher = std.crypto.hash.Blake3; pub const SrcHash = [16]u8; pub fn hashSrc(src: []const u8) SrcHash { var out: SrcHash = undefined; - std.crypto.hash.Blake3.hash(src, &out, .{}); + SrcHasher.hash(src, &out, .{}); return out; } @@ -41,7 +42,7 @@ pub fn srcHashEql(a: SrcHash, b: SrcHash) bool { pub fn hashName(parent_hash: SrcHash, sep: []const u8, name: []const u8) SrcHash { var out: SrcHash = undefined; - var hasher = std.crypto.hash.Blake3.init(.{}); + var hasher = SrcHasher.init(.{}); hasher.update(&parent_hash); hasher.update(sep); hasher.update(name); -- cgit v1.2.3