aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorTravis Lange <travislange12@gmail.com>2025-01-03 11:04:40 -0500
committerAlex Rønne Petersen <alex@alexrp.com>2025-01-05 18:08:11 +0100
commit82e7f23c49be10ce74cb1a951aa7cb77799c2798 (patch)
treeda65434206224508642a9b79adfbc21a29a2176c /src/Compilation.zig
parentda1ffae7d23b04c4efc5e99ba153d8c45eb980f3 (diff)
downloadzig-82e7f23c49be10ce74cb1a951aa7cb77799c2798.tar.gz
zig-82e7f23c49be10ce74cb1a951aa7cb77799c2798.zip
Added support for thin lto
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index fc2e25febf..be501646a3 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -5399,8 +5399,10 @@ pub fn addCCArgs(
},
}
- if (comp.config.lto) {
- try argv.append("-flto");
+ switch (comp.config.lto) {
+ .none => try argv.append("-fno-lto"),
+ .full => try argv.append("-flto=full"),
+ .thin => try argv.append("-flto=thin"),
}
// This only works for preprocessed files. Guarded by `FileExt.clangSupportsDepFile`.
@@ -6450,7 +6452,7 @@ pub fn build_crt_file(
.link_libc = false,
.lto = switch (output_mode) {
.Lib => comp.config.lto,
- .Obj, .Exe => false,
+ .Obj, .Exe => .none,
},
});
const root_mod = try Package.Module.create(arena, .{