aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-06-23 10:06:52 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-06-23 10:44:46 -0700
commit2beb21c4e4a59190c998e07596e323d5ace68a21 (patch)
tree6614a9bcf9968b15adf71636cc623ab24dcdef71 /src/Compilation.zig
parent960932a4bf4f470e7a3f32b2d56035fc4b530ba8 (diff)
downloadzig-2beb21c4e4a59190c998e07596e323d5ace68a21.tar.gz
zig-2beb21c4e4a59190c998e07596e323d5ace68a21.zip
stage2: fix crash when using stage1 backend
Calling processOutdatedAndDeletedDecls() should not happen when using the stage1 backend. Problem solved with checking a simple flag.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 93990b0528..ea878056ae 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -1952,9 +1952,13 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor
}
}
- // Iterate over all the files and look for outdated and deleted declarations.
- if (self.bin_file.options.module) |mod| {
- try mod.processOutdatedAndDeletedDecls();
+ const use_stage1 = build_options.omit_stage2 or
+ (build_options.is_stage1 and self.bin_file.options.use_llvm);
+ if (!use_stage1) {
+ // Iterate over all the files and look for outdated and deleted declarations.
+ if (self.bin_file.options.module) |mod| {
+ try mod.processOutdatedAndDeletedDecls();
+ }
}
while (self.work_queue.readItem()) |work_item| switch (work_item) {