aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-02-03 01:22:56 +0000
committermlugg <mlugg@mlugg.co.uk>2024-02-04 18:38:39 +0000
commit1e91ee1e05f08013e3a4edec5d9f0aef978f3f0b (patch)
tree92f1353ae14a77d14b11897cd9c48484b63bd9c3 /lib/std
parent7f4bd247c7735ccf277c9bba42222e014cacf856 (diff)
downloadzig-1e91ee1e05f08013e3a4edec5d9f0aef978f3f0b.tar.gz
zig-1e91ee1e05f08013e3a4edec5d9f0aef978f3f0b.zip
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.
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/zig.zig5
1 files changed, 3 insertions, 2 deletions
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);