authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-30 19:12:05+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-30 19:12:05+02:00
logfba33ee58cc3dcd832fe9422be4dc05228afce76
tree2a640a67583b9c68d8d479f13e76162b6adb1c5a
parent71038c42f554da86ee23c9c448d39e457d5818eb

Sema: print line column and path when using `--debug-compile-errors`


1 files changed, 9 insertions(+), 3 deletions(-)

src/Sema.zig+9-3
...@@ -2189,10 +2189,16 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError {...@@ -2189,10 +2189,16 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError {
2189 @setCold(true);2189 @setCold(true);
21902190
2191 if (crash_report.is_enabled and sema.mod.comp.debug_compile_errors) {2191 if (crash_report.is_enabled and sema.mod.comp.debug_compile_errors) {
2192 std.debug.print("compile error during Sema: {s}, src: {s}:{}\n", .{2192 const err_path = err_msg.src_loc.file_scope.fullPath(sema.mod.gpa) catch unreachable;
2193 const err_source = err_msg.src_loc.file_scope.getSource(sema.mod.gpa) catch unreachable;
2194 const err_span = err_msg.src_loc.span(sema.mod.gpa) catch unreachable;
2195 const err_loc = std.zig.findLineColumn(err_source.bytes, err_span.main);
2196 std.debug.print("compile error during Sema:\n{s}:{d}:{d}: error: {s}\n{s}\n\n", .{
2197 err_path,
2198 err_loc.line + 1,
2199 err_loc.column + 1,
2193 err_msg.msg,2200 err_msg.msg,
2194 err_msg.src_loc.file_scope.sub_file_path,2201 err_loc.source_line,
2195 err_msg.src_loc.lazy,
2196 });2202 });
2197 crash_report.compilerPanic("unexpected compile error occurred", null, null);2203 crash_report.compilerPanic("unexpected compile error occurred", null, null);
2198 }2204 }