authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-13 15:56:56-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-24 20:01:19-07:00
loge1d6f478c9e96d89ad1f2683d6b372eb466b8339
treef2069c16239172dd65f2ebc187c225833bd5fd48
parent9ad1e83e631a19094b4994a9cecfd24763a2684a

`@cImport`: don't pass args to Aro it doesn't understand


1 files changed, 7 insertions(+), 4 deletions(-)

src/Compilation.zig+7-4
......@@ -6692,7 +6692,7 @@ pub fn addTranslateCCArgs(
66926692 const resource_path = try comp.dirs.zig_lib.join(arena, &.{"compiler/aro/include"});
66936693 try argv.appendSlice(&.{ "-isystem", resource_path });
66946694
6695 try comp.addCommonCCArgs(arena, argv, ext, out_dep_path, owner_mod);
6695 try comp.addCommonCCArgs(arena, argv, ext, out_dep_path, owner_mod, .aro);
66966696
66976697 try argv.appendSlice(&[_][]const u8{ "-target", try target.zigTriple(arena) });
66986698
......@@ -6728,6 +6728,7 @@ fn addCommonCCArgs(
67286728 ext: FileExt,
67296729 out_dep_path: ?[]const u8,
67306730 mod: *Package.Module,
6731 c_frontend: Config.CFrontend,
67316732) !void {
67326733 const target = &mod.resolved_target.result;
67336734
......@@ -6911,6 +6912,8 @@ fn addCommonCCArgs(
69116912 }
69126913 }
69136914
6915 const is_clang = c_frontend == .clang;
6916
69146917 // Only C-family files support these flags.
69156918 switch (ext) {
69166919 .c,
......@@ -6922,7 +6925,7 @@ fn addCommonCCArgs(
69226925 .mm,
69236926 .hmm,
69246927 => {
6925 try argv.append("-fno-spell-checking");
6928 if (is_clang) try argv.append("-fno-spell-checking");
69266929
69276930 if (target.os.tag == .windows and target.abi.isGnu()) {
69286931 // windows.h has files such as pshpack1.h which do #pragma packing,
......@@ -6954,7 +6957,7 @@ fn addCommonCCArgs(
69546957 try argv.append(try std.fmt.allocPrint(arena, "-mcmodel={s}", .{@tagName(mod.code_model)}));
69556958 }
69566959
6957 {
6960 if (is_clang) {
69586961 var san_arg: std.ArrayListUnmanaged(u8) = .empty;
69596962 const prefix = "-fsanitize=";
69606963 if (mod.sanitize_c != .off) {
......@@ -7102,7 +7105,7 @@ pub fn addCCArgs(
71027105 });
71037106 }
71047107
7105 try comp.addCommonCCArgs(arena, argv, ext, out_dep_path, mod);
7108 try comp.addCommonCCArgs(arena, argv, ext, out_dep_path, mod, comp.config.c_frontend);
71067109
71077110 // Only assembly files support these flags.
71087111 switch (ext) {