diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-12-08 16:53:22 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-12-08 16:53:55 +0100 |
| commit | 6951ee43bf2cb7802cb71ddeb74bf5ab7bee8857 (patch) | |
| tree | 3a3c4dff29cc6c9a92d6701e19ce790f8c5d3da2 /src | |
| parent | 8d9ff8353d23048076a42d728959470f207dc838 (diff) | |
| download | zig-6951ee43bf2cb7802cb71ddeb74bf5ab7bee8857.tar.gz zig-6951ee43bf2cb7802cb71ddeb74bf5ab7bee8857.zip | |
Compilation: Don't rely on Clang defaults for options that are user-facing.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compilation.zig | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index a7d3b6b437..369d886f24 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -5254,17 +5254,10 @@ pub fn addCCArgs( try argv.append("-fno-caret-diagnostics"); } - if (comp.function_sections) { - try argv.append("-ffunction-sections"); - } - - if (comp.data_sections) { - try argv.append("-fdata-sections"); - } + try argv.append(if (comp.function_sections) "-ffunction-sections" else "-fno-function-sections"); + try argv.append(if (comp.data_sections) "-fdata-sections" else "-fno-data-sections"); - if (mod.no_builtin) { - try argv.append("-fno-builtin"); - } + try argv.append(if (mod.no_builtin) "-fno-builtin" else "-fbuiltin"); if (comp.config.link_libcpp) { const libcxx_include_path = try std.fs.path.join(arena, &[_][]const u8{ @@ -5482,17 +5475,11 @@ pub fn addCCArgs( } } - if (mod.red_zone) { - try argv.append("-mred-zone"); - } else if (target_util.hasRedZone(target)) { - try argv.append("-mno-red-zone"); + if (target_util.hasRedZone(target)) { + try argv.append(if (mod.red_zone) "-mred-zone" else "-mno-red-zone"); } - if (mod.omit_frame_pointer) { - try argv.append("-fomit-frame-pointer"); - } else { - try argv.append("-fno-omit-frame-pointer"); - } + try argv.append(if (mod.omit_frame_pointer) "-fomit-frame-pointer" else "-fno-omit-frame-pointer"); const ssp_buf_size = mod.stack_protector; if (ssp_buf_size != 0) { @@ -5629,8 +5616,8 @@ pub fn addCCArgs( try argv.append("-municode"); } - if (target.cpu.arch.isThumb()) { - try argv.append("-mthumb"); + if (target.cpu.arch.isArm()) { + try argv.append(if (target.cpu.arch.isThumb()) "-mthumb" else "-mno-thumb"); } if (target_util.supports_fpic(target)) { |
