zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2beb21c4e4a59190c998e07596e323d5ace68a21 (tree)
parent 960932a4bf4f470e7a3f32b2d56035fc4b530ba8
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Wed, 23 Jun 2021 10:06:52 -0700

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:
Msrc/Compilation.zig | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 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) {