From 06ee275295b6e0674557069a09af0c3d037ff046 Mon Sep 17 00:00:00 2001 From: Loris Cro Date: Thu, 2 Jun 2022 16:29:22 +0200 Subject: [PATCH] autodoc: fix crash when handling siwtch_block instructions --- src/Autodoc.zig | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Autodoc.zig b/src/Autodoc.zig index 974bb3ab5e717b59f2243aed9065852c5a057d02..c7992de0364739589102b59ef8c468f4fa40ff61 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -2679,10 +2679,15 @@ fn walkInstruction( array_data[scalar_i] = item.expr.as.exprArg; const body_ref = @intToEnum(Ref, file.zir.extra[extra_index]); - const body_item = try self.walkRef(file, parent_scope, body_ref, false); - _ = body_item; + if (extra.data.bits.is_ref) { + const body_item = try self.walkRef(file, parent_scope, body_ref, false); + _ = body_item; - array_data[scalar_i] = item.expr.as.exprArg; + array_data[scalar_i] = item.expr.as.exprArg; + } else { + array_data[scalar_i] = 0; + // TODO: this is wrong, decide an actual strategy + } // std.debug.print("{s}\n", .{sep}); // std.debug.print("body item_ref = {any}\n", .{item_ref}); // std.debug.print("body item = {any}\n", .{item}); -- 2.54.0