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 6019fc0856..bfe52cd59e 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);