diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compilation.zig | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index f458fe9f61..8ea6b545b8 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -3849,7 +3849,11 @@ fn setMiscFailure( ) Allocator.Error!void { try comp.misc_failures.ensureUnusedCapacity(comp.gpa, 1); const msg = try std.fmt.allocPrint(comp.gpa, format, args); - comp.misc_failures.putAssumeCapacityNoClobber(tag, .{ .msg = msg }); + const gop = comp.misc_failures.getOrPutAssumeCapacity(tag); + if (gop.found_existing) { + gop.value_ptr.deinit(comp.gpa); + } + gop.value_ptr.* = .{ .msg = msg }; } pub fn dump_argv(argv: []const []const u8) void { |
