aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2021-07-13 23:20:51 +0200
committerJakub Konka <kubkon@jakubkonka.com>2021-07-15 18:49:47 +0200
commit9ca69c51e76525e1e753588375036ea711f72df0 (patch)
tree8ffc99b93a6a3287abc7d61fde5db094c8924253 /src
parente3575cdad44e63f598b557ba3142675197875906 (diff)
downloadzig-9ca69c51e76525e1e753588375036ea711f72df0.tar.gz
zig-9ca69c51e76525e1e753588375036ea711f72df0.zip
zld: error out if LTO is requested targeting Darwin
Diffstat (limited to 'src')
-rw-r--r--src/Compilation.zig4
-rw-r--r--src/main.zig8
2 files changed, 10 insertions, 2 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 5146e757fa..6256e2551f 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -929,7 +929,9 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
if (!use_lld and !options.target.isDarwin())
return error.LtoUnavailableWithoutLld;
break :blk explicit;
- } else if (!use_lld and !options.target.isDarwin()) {
+ } else if (!use_lld) {
+ // TODO zig ld LTO support
+ // See https://github.com/ziglang/zig/issues/8680
break :blk false;
} else if (options.c_source_files.len == 0) {
break :blk false;
diff --git a/src/main.zig b/src/main.zig
index 9d515cc398..ae39b9c167 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -1648,7 +1648,13 @@ fn buildOutputType(
if (use_lld) |opt| {
if (opt and cross_target.isDarwin()) {
- fatal("-fLLD requested with Mach-O object format. Only the self-hosted linker is supported for this target.", .{});
+ fatal("LLD requested with Mach-O object format. Only the self-hosted linker is supported for this target.", .{});
+ }
+ }
+
+ if (want_lto) |opt| {
+ if (opt and cross_target.isDarwin()) {
+ fatal("LTO is not yet supported with the Mach-O object format. More details: https://github.com/ziglang/zig/issues/8680", .{});
}
}