From ec21da0d51afa9b688ed99425b307e23a9c57a07 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 18 Oct 2023 00:01:33 -0700 Subject: [PATCH] compiler: fix LTO availability logic Before this commit, the logic would fail with a "LTO not available" error if the user set `-fno-lto` which doesn't make sense. This commit corrects the logic to understand when the user is explicitly requesting to turn LTO off. --- src/Compilation.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index cb5281c696256f802340a5f27f7b5a4765739df5..8032e679430bd8265b8de7a14fa7e58fe45733aa 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -946,13 +946,13 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { }; const lto = blk: { - if (options.want_lto) |explicit| { - if (!use_lld and !options.target.isDarwin()) + if (options.want_lto) |want_lto| { + if (want_lto and !use_lld and !options.target.isDarwin()) return error.LtoUnavailableWithoutLld; - break :blk explicit; + break :blk want_lto; } else if (!use_lld) { - // TODO zig ld LTO support - // See https://github.com/ziglang/zig/issues/8680 + // zig ld LTO support is tracked by + // https://github.com/ziglang/zig/issues/8680 break :blk false; } else if (options.c_source_files.len == 0) { break :blk false; -- 2.54.0