authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-12-28 21:34:11-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-01-01 19:49:08-07:00
logc2cc1b37928034cdcd49d07819fbb4f87683cf87
tree369c69ce19462bc0d0d95680416f06692e52e7ab
parent96b4eeab55e21b294af3c915dda2881258601532

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


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

src/Builtin.zig+18-3
......@@ -280,10 +280,25 @@ pub fn populateFile(comp: *Compilation, mod: *Module, file: *File) !void {
280280
281281fn writeFile(file: *File, mod: *Module) !void {
282282 var buf: [std.fs.MAX_PATH_BYTES]u8 = undefined;
283 var af = try mod.root.atomicFile(mod.root_src_path, .{ .make_path = true }, &buf);
283 var af = mod.root.atomicFile(mod.root_src_path, .{ .make_path = true }, &buf) catch |err| {
284 std.log.warn("unable to create builtin atomic file '{}{s}'", .{
285 mod.root, mod.root_src_path,
286 });
287 return err;
288 };
284289 defer af.deinit();
285 try af.file.writeAll(file.source);
286 try af.finish();
290 af.file.writeAll(file.source) catch |err| {
291 std.log.warn("unable to write builtin file data to '{}{s}'", .{
292 mod.root, mod.root_src_path,
293 });
294 return err;
295 };
296 af.finish() catch |err| {
297 std.log.warn("unable to rename atomic builtin file into '{}{s}'", .{
298 mod.root, mod.root_src_path,
299 });
300 return err;
301 };
287302
288303 file.stat = .{
289304 .size = file.source.len,