motiejus/zig

fork of https://codeberg.org/ziglang/zig
git clone https://git.jakstys.lt/motiejus/zig.git
Log | Tree | Refs | README | LICENSE

commit 03de5ec6dd572ee9601fef6ee5d527c310fb726c (tree)
parent a804944c7d844763103aa37ba07541f2349ab273
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Fri, 26 Feb 2021 23:52:04 -0700

tools/update_cpu_features: handle ISAs with no features

These are represented by not having a file for them.

Diffstat:
Mlib/std/target.zig | 2+-
Mtools/update_cpu_features.zig | 7+++++++
2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/std/target.zig b/lib/std/target.zig @@ -430,8 +430,8 @@ pub const Target = struct { pub const powerpc = @import("target/powerpc.zig"); pub const riscv = @import("target/riscv.zig"); pub const sparc = @import("target/sparc.zig"); - pub const spirv = @import("target/spirv.zig"); pub const systemz = @import("target/systemz.zig"); + pub const ve = @import("target/ve.zig"); pub const wasm = @import("target/wasm.zig"); pub const x86 = @import("target/x86.zig"); diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig @@ -320,6 +320,13 @@ fn processOneTarget(job: Job) anyerror!void { defer target_dir.close(); const zig_code_basename = try std.fmt.allocPrint(arena, "{s}.zig", .{llvm_target.zig_name}); + + if (all_features.items.len == 0) { + // We represent this with an empty file. + try target_dir.deleteTree(zig_code_basename); + return; + } + var zig_code_file = try target_dir.createFile(zig_code_basename, .{}); defer zig_code_file.close();