diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-06-09 17:54:32 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-06-11 11:02:56 +0300 |
| commit | 0f820d0bdf98b3f8429a9cf2f1b405c2c0a4d958 (patch) | |
| tree | d8793ad6cd0258eb704d35fc536636aac3fa45fc /src/Module.zig | |
| parent | 002df65b6ec55684d6bc6790ae7b0c0f4abb1375 (diff) | |
| download | zig-0f820d0bdf98b3f8429a9cf2f1b405c2c0a4d958.tar.gz zig-0f820d0bdf98b3f8429a9cf2f1b405c2c0a4d958.zip | |
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
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 7 |
1 files changed, 5 insertions, 2 deletions
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) { |
