From 0f820d0bdf98b3f8429a9cf2f1b405c2c0a4d958 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Thu, 9 Jun 2022 17:54:32 +0300 Subject: stage2: improve debugging tools llvm: dump failed module when -femit-llvm-ir set print_air: * print fully qualified name * use Type.fmt and Value.fmtValue, fmtDebug is useless TypedValue * handle anon structs and tuples * fix bugs --- src/Module.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/Module.zig') diff --git a/src/Module.zig b/src/Module.zig index f03ba77a39..bcf6491ce6 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -3790,9 +3790,12 @@ pub fn ensureFuncBodyAnalyzed(mod: *Module, func: *Fn) SemaError!void { defer liveness.deinit(gpa); if (builtin.mode == .Debug and mod.comp.verbose_air) { - std.debug.print("# Begin Function AIR: {s}:\n", .{decl.name}); + const fqn = try decl.getFullyQualifiedName(mod); + defer mod.gpa.free(fqn); + + std.debug.print("# Begin Function AIR: {s}:\n", .{fqn}); @import("print_air.zig").dump(mod, air, liveness); - std.debug.print("# End Function AIR: {s}\n\n", .{decl.name}); + std.debug.print("# End Function AIR: {s}\n\n", .{fqn}); } mod.comp.bin_file.updateFunc(mod, func, air, liveness) catch |err| switch (err) { -- cgit v1.2.3