diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-06-23 10:06:52 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-06-23 10:44:46 -0700 |
| commit | 2beb21c4e4a59190c998e07596e323d5ace68a21 (patch) | |
| tree | 6614a9bcf9968b15adf71636cc623ab24dcdef71 /src/Compilation.zig | |
| parent | 960932a4bf4f470e7a3f32b2d56035fc4b530ba8 (diff) | |
| download | zig-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.zig | 10 |
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) { |
