| ... | ... | @@ -2647,12 +2647,19 @@ pub fn wouldUseLlvm(use_llvm: ?bool, query: std.Target.Query, optimize_mode: Opt |
| 2647 | 2647 | } |
| 2648 | 2648 | const cpu_arch = query.cpu_arch orelse builtin.cpu.arch; |
| 2649 | 2649 | const os_tag = query.os_tag orelse builtin.os.tag; |
| 2650 | const ofmt: std.Target.ObjectFormat = query.ofmt orelse .default(os_tag, cpu_arch); |
| 2650 | 2651 | switch (cpu_arch) { |
| 2651 | | .x86_64 => if (os_tag.isBSD() or os_tag == .illumos or std.Target.ptrBitWidth_arch_abi(cpu_arch, query.abi orelse .none) != 64) return true, |
| 2652 | .x86_64 => { |
| 2653 | if (std.Target.ptrBitWidth_arch_abi(cpu_arch, query.abi orelse .none) != 64) return true; |
| 2654 | if (os_tag.isBSD() or os_tag == .illumos) return true; |
| 2655 | return switch (ofmt) { |
| 2656 | .elf, .macho => return false, |
| 2657 | else => return true, |
| 2658 | }; |
| 2659 | }, |
| 2652 | 2660 | .spirv32, .spirv64 => return false, |
| 2653 | 2661 | else => return true, |
| 2654 | 2662 | } |
| 2655 | | return false; |
| 2656 | 2663 | } |
| 2657 | 2664 | |
| 2658 | 2665 | const CAbiTestOptions = struct { |