Skip to content

Commit 8a6b2f2

Browse files
committed
translate-c: Ensure extra_cflags are passed to clang
Fixes the issue identified in #8662
1 parent 557eb41 commit 8a6b2f2

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main.zig

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2202,12 +2202,16 @@ fn cmdTranslateC(comp: *Compilation, arena: *Allocator, enable_cache: bool) !voi
22022202
}
22032203

22042204
// Convert to null terminated args.
2205-
const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1);
2206-
new_argv_with_sentinel[argv.items.len] = null;
2207-
const new_argv = new_argv_with_sentinel[0..argv.items.len :null];
2205+
const clang_args_len = argv.items.len + c_source_file.extra_flags.len;
2206+
const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, clang_args_len + 1);
2207+
new_argv_with_sentinel[clang_args_len] = null;
2208+
const new_argv = new_argv_with_sentinel[0..clang_args_len :null];
22082209
for (argv.items) |arg, i| {
22092210
new_argv[i] = try arena.dupeZ(u8, arg);
22102211
}
2212+
for (c_source_file.extra_flags) |arg, i| {
2213+
new_argv[argv.items.len + i] = try arena.dupeZ(u8, arg);
2214+
}
22112215

22122216
const c_headers_dir_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{"include"});
22132217
const c_headers_dir_path_z = try arena.dupeZ(u8, c_headers_dir_path);

0 commit comments

Comments
 (0)