Pass each target feature flag separately

This commit is contained in:
George Roman 2020-04-24 15:48:24 +03:00 committed by Andrew Kelley
parent a7a8c433d0
commit 0c037a8561

View File

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