| ... | @@ -9362,10 +9362,16 @@ void add_cc_args(CodeGen *g, ZigList<const char *> &args, const char *out_dep_pa | ... | @@ -9362,10 +9362,16 @@ void add_cc_args(CodeGen *g, ZigList<const char *> &args, const char *out_dep_pa |
| 9362 | args.append(g->zig_target->llvm_cpu_name); | 9362 | args.append(g->zig_target->llvm_cpu_name); |
| 9363 | } | 9363 | } |
| 9364 | if (g->zig_target->llvm_cpu_features != nullptr) { | 9364 | if (g->zig_target->llvm_cpu_features != nullptr) { |
| 9365 | args.append("-Xclang"); | 9365 | // https://github.com/ziglang/zig/issues/5017 |
| 9366 | args.append("-target-feature"); | 9366 | SplitIterator it = memSplit(str(g->zig_target->llvm_cpu_features), str(",")); |
| 9367 | args.append("-Xclang"); | 9367 | Optional<Slice<uint8_t>> flag = SplitIterator_next(&it); |
| 9368 | args.append(g->zig_target->llvm_cpu_features); | 9368 | while (flag.is_some) { |
| | 9369 | args.append("-Xclang"); |
| | 9370 | args.append("-target-feature"); |
| | 9371 | args.append("-Xclang"); |
| | 9372 | args.append(buf_ptr(buf_create_from_slice(flag.value))); |
| | 9373 | flag = SplitIterator_next(&it); |
| | 9374 | } |
| 9369 | } | 9375 | } |
| 9370 | if (translate_c) { | 9376 | if (translate_c) { |
| 9371 | // this gives us access to preprocessing entities, presumably at | 9377 | // this gives us access to preprocessing entities, presumably at |