Commit fba33ee58c

Veikka Tuominen <git@vexu.eu>
2022-11-30 18:12:05
Sema: print line column and path when using `--debug-compile-errors`
1 parent 71038c4
Changed files (1)
src/Sema.zig
@@ -2189,10 +2189,16 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError {
     @setCold(true);
 
     if (crash_report.is_enabled and sema.mod.comp.debug_compile_errors) {
-        std.debug.print("compile error during Sema: {s}, src: {s}:{}\n", .{
+        const err_path = err_msg.src_loc.file_scope.fullPath(sema.mod.gpa) catch unreachable;
+        const err_source = err_msg.src_loc.file_scope.getSource(sema.mod.gpa) catch unreachable;
+        const err_span = err_msg.src_loc.span(sema.mod.gpa) catch unreachable;
+        const err_loc = std.zig.findLineColumn(err_source.bytes, err_span.main);
+        std.debug.print("compile error during Sema:\n{s}:{d}:{d}: error: {s}\n{s}\n\n", .{
+            err_path,
+            err_loc.line + 1,
+            err_loc.column + 1,
             err_msg.msg,
-            err_msg.src_loc.file_scope.sub_file_path,
-            err_msg.src_loc.lazy,
+            err_loc.source_line,
         });
         crash_report.compilerPanic("unexpected compile error occurred", null, null);
     }