aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/target.zig')
-rw-r--r--src/target.zig14
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,