zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit c2cc1b37928034cdcd49d07819fbb4f87683cf87 (tree)
parent 96b4eeab55e21b294af3c915dda2881258601532
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Thu, 28 Dec 2023 21:34:11 -0700

frontend: add logging to help troubleshoot builtin.zig write failures

Diffstat:
Msrc/Builtin.zig | 21++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/Builtin.zig b/src/Builtin.zig @@ -280,10 +280,25 @@ pub fn populateFile(comp: *Compilation, mod: *Module, file: *File) !void { fn writeFile(file: *File, mod: *Module) !void { var buf: [std.fs.MAX_PATH_BYTES]u8 = undefined; - var af = try mod.root.atomicFile(mod.root_src_path, .{ .make_path = true }, &buf); + var af = mod.root.atomicFile(mod.root_src_path, .{ .make_path = true }, &buf) catch |err| { + std.log.warn("unable to create builtin atomic file '{}{s}'", .{ + mod.root, mod.root_src_path, + }); + return err; + }; defer af.deinit(); - try af.file.writeAll(file.source); - try af.finish(); + af.file.writeAll(file.source) catch |err| { + std.log.warn("unable to write builtin file data to '{}{s}'", .{ + mod.root, mod.root_src_path, + }); + return err; + }; + af.finish() catch |err| { + std.log.warn("unable to rename atomic builtin file into '{}{s}'", .{ + mod.root, mod.root_src_path, + }); + return err; + }; file.stat = .{ .size = file.source.len,