aboutsummaryrefslogtreecommitdiff
path: root/tools/update_spirv_features.zig
diff options
context:
space:
mode:
authorJosh Wolfe <thejoshwolfe@gmail.com>2023-06-19 11:21:37 -0400
committerGitHub <noreply@github.com>2023-06-19 11:21:37 -0400
commit32cb9462ffa0a9df7a080d67eaf3a5762173f742 (patch)
treeb3d25551b9cfed2e0b21f12864bcc33cae9d6739 /tools/update_spirv_features.zig
parent423d7b848b1953173df99fde1f83166dc68c2a2c (diff)
downloadzig-32cb9462ffa0a9df7a080d67eaf3a5762173f742.tar.gz
zig-32cb9462ffa0a9df7a080d67eaf3a5762173f742.zip
std: Support user-provided jsonParse method. Unify json.Parser and json.parse* (#15705)
Diffstat (limited to 'tools/update_spirv_features.zig')
-rw-r--r--tools/update_spirv_features.zig8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/update_spirv_features.zig b/tools/update_spirv_features.zig
index 6a923cf72a..6fd1b26c7f 100644
--- a/tools/update_spirv_features.zig
+++ b/tools/update_spirv_features.zig
@@ -74,7 +74,13 @@ pub fn main() !void {
const registry_path = try fs.path.join(allocator, &.{ spirv_headers_root, "include", "spirv", "unified1", "spirv.core.grammar.json" });
const registry_json = try std.fs.cwd().readFileAlloc(allocator, registry_path, std.math.maxInt(usize));
- const registry = try std.json.parseFromSlice(g.CoreRegistry, allocator, registry_json, .{});
+ var scanner = std.json.Scanner.initCompleteInput(allocator, registry_json);
+ var diagnostics = std.json.Diagnostics{};
+ scanner.enableDiagnostics(&diagnostics);
+ const registry = std.json.parseFromTokenSourceLeaky(g.CoreRegistry, allocator, &scanner, .{}) catch |err| {
+ std.debug.print("line,col: {},{}\n", .{ diagnostics.getLine(), diagnostics.getColumn() });
+ return err;
+ };
const capabilities = for (registry.operand_kinds) |opkind| {
if (std.mem.eql(u8, opkind.kind, "Capability"))