From ffaa045429c946eaafc199e82b8831cb1e2f637d Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 21 Apr 2022 11:17:26 -0700 Subject: [PATCH] stage2: add zig_backend to the cache hash This makes stage2 and stage3 have different cache namespaces, so that building something with stage3 does not try to reuse the same cached artifacts as were produced by stage2. This makes sense since the code of stage3 is produced by the self-hosted compiler, whereas the code of stage2 is produced by the bootstrap compiler. Note also that stage4 and stage3 will share the same zig_backend, end hence cache namespace. Ideally stage4 and stage3 are identical binaries, so this checks out. --- src/Compilation.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Compilation.zig b/src/Compilation.zig index 6019fc0856b9780a6e0376ed06195abbae6cf265..bfe52cd59e36e6ae29526c49109e7a94a3b82b1c 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -1224,6 +1224,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { // This is shared hasher state common to zig source and all C source files. cache.hash.addBytes(build_options.version); + cache.hash.add(builtin.zig_backend); cache.hash.addBytes(options.zig_lib_directory.path orelse "."); cache.hash.add(options.optimize_mode); cache.hash.add(options.target.cpu.arch); -- 2.54.0