diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-10-16 06:07:13 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-10-26 21:59:58 +0200 |
| commit | 4b78dbe068445eb37cb28f2f8d1faf5836dc1175 (patch) | |
| tree | b03b0b028fb3e38fc407db57e94afde7b90612f7 /src/target.zig | |
| parent | 6a364b4a5e71b971b753d2b62c7708ae1e76d707 (diff) | |
| download | zig-4b78dbe068445eb37cb28f2f8d1faf5836dc1175.tar.gz zig-4b78dbe068445eb37cb28f2f8d1faf5836dc1175.zip | |
Compilation: Omit Clang CPU model flags for some targets.
Diffstat (limited to 'src/target.zig')
| -rw-r--r-- | src/target.zig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/target.zig b/src/target.zig index 1f8a567f03..f0ef89d4e9 100644 --- a/src/target.zig +++ b/src/target.zig @@ -315,6 +315,20 @@ pub fn clangAssemblerSupportsMcpuArg(target: std.Target) bool { }; } +/// Some experimental or poorly-maintained LLVM targets do not properly process CPU models in their +/// Clang driver code. For these, we should omit the `-Xclang -target-cpu -Xclang <model>` flags. +pub fn clangSupportsTargetCpuArg(target: std.Target) bool { + return switch (target.cpu.arch) { + .arc, + .msp430, + .ve, + .xcore, + .xtensa, + => false, + else => true, + }; +} + pub fn clangSupportsFloatAbiArg(target: std.Target) bool { return switch (target.cpu.arch) { .arm, |
