From 23295f64ca8b93f32e75cef42cc1293ec334e890 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 9 Mar 2023 14:17:25 -0700 Subject: [PATCH] fix ZIR decoding of error notes --- src/AstGen.zig | 4 ++-- src/Compilation.zig | 2 +- src/Zir.zig | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/AstGen.zig b/src/AstGen.zig index 8ac67a7107..6d7b8156c8 100644 --- a/src/AstGen.zig +++ b/src/AstGen.zig @@ -10382,7 +10382,7 @@ fn appendErrorTok( comptime format: []const u8, args: anytype, ) !void { - try astgen.appendErrorTokNotes(token, format, args, &[0]u32{}); + try astgen.appendErrorTokNotesOff(token, 0, format, args, &[0]u32{}); } fn failTokNotes( @@ -10392,7 +10392,7 @@ fn failTokNotes( args: anytype, notes: []const u32, ) InnerError { - try appendErrorTokNotes(astgen, token, format, args, notes); + try appendErrorTokNotesOff(astgen, token, 0, format, args, notes); return error.AnalysisFail; } diff --git a/src/Compilation.zig b/src/Compilation.zig index b542c86511..ec21d2c483 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2909,7 +2909,7 @@ pub fn addZirErrorMessages(eb: *ErrorBundle.Wip, file: *Module.File) !void { .column = @intCast(u32, err_loc.column), .source_line = try eb.addString(err_loc.source_line), }), - .notes_len = item.data.notes, + .notes_len = item.data.notesLen(file.zir), }); } diff --git a/src/Zir.zig b/src/Zir.zig index 65e2f21cc9..001c4e8101 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -3594,6 +3594,12 @@ pub const Inst = struct { /// 0 or a payload index of a `Block`, each is a payload /// index of another `Item`. notes: u32, + + pub fn notesLen(item: Item, zir: Zir) u32 { + if (item.notes == 0) return 0; + const block = zir.extraData(Block, item.notes); + return block.data.body_len; + } }; };