From c6024691cfc3fa329cf1b7ac9fcb0855b7211aa0 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Sun, 27 Aug 2023 16:18:51 -0400 Subject: [PATCH] Sema: implement reference trace with called from here notes Closes #15124 --- src/Module.zig | 6 ------ src/Sema.zig | 5 ++--- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index 37ec79796d..c13be489bb 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -1566,12 +1566,6 @@ pub const ErrorMsg = struct { gpa.free(err_msg.reference_trace); err_msg.* = undefined; } - - pub fn clearTrace(err_msg: *ErrorMsg, gpa: Allocator) void { - if (err_msg.reference_trace.len == 0) return; - gpa.free(err_msg.reference_trace); - err_msg.reference_trace = &.{}; - } }; /// Canonical reference to a position within a source file. diff --git a/src/Sema.zig b/src/Sema.zig index f8ae2aee1b..8817f6f503 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -2409,8 +2409,8 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError { break :blk default_reference_trace_len; }; - var referenced_by = if (sema.func_index != .none) - mod.funcOwnerDeclIndex(sema.func_index) + var referenced_by = if (sema.owner_func_index != .none) + mod.funcOwnerDeclIndex(sema.owner_func_index) else sema.owner_decl_index; var reference_stack = std.ArrayList(Module.ErrorMsg.Trace).init(gpa); @@ -7430,7 +7430,6 @@ fn analyzeCall( const err_msg = sema.err orelse return err; if (mem.eql(u8, err_msg.msg, recursive_msg)) return err; try sema.errNote(block, call_src, err_msg, "called from here", .{}); - err_msg.clearTrace(gpa); return err; }, else => |e| return e,