aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-12-09 10:46:31 +0100
committerGitHub <noreply@github.com>2024-12-09 10:46:31 +0100
commit589f4e91708366ddff9ee6793d5f88b05a260959 (patch)
tree2f0b4d594e6758af98bb3752d8aded9f8be3753d /src/Compilation.zig
parenta221b2fbf2829e2e8ba5ecd2d7569e619a66d69b (diff)
parent6951ee43bf2cb7802cb71ddeb74bf5ab7bee8857 (diff)
downloadzig-589f4e91708366ddff9ee6793d5f88b05a260959.tar.gz
zig-589f4e91708366ddff9ee6793d5f88b05a260959.zip
Merge pull request #22190 from alexrp/cc-args
`Compilation`: Don't rely on Clang defaults for options that are user-facing.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig29
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)) {