From cacfb0cfe4217a19872d62e248389bc522b36bf8 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 8 Nov 2022 16:50:23 +0200 Subject: llvm: fix leaks of fully qualified names --- src/codegen/llvm.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/codegen/llvm.zig') diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index acbf5b337f..b10402cc09 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -8671,9 +8671,9 @@ pub const FuncGen = struct { const arena = arena_allocator.allocator(); const mod = self.dg.module; - const llvm_fn_name = try std.fmt.allocPrintZ(arena, "__zig_is_named_enum_value_{s}", .{ - try mod.declPtr(enum_decl).getFullyQualifiedName(mod), - }); + const fqn = try mod.declPtr(enum_decl).getFullyQualifiedName(mod); + defer self.gpa.free(fqn); + const llvm_fn_name = try std.fmt.allocPrintZ(arena, "__zig_is_named_enum_value_{s}", .{fqn}); var int_tag_type_buffer: Type.Payload.Bits = undefined; const int_tag_ty = enum_ty.intTagType(&int_tag_type_buffer); @@ -8752,9 +8752,9 @@ pub const FuncGen = struct { const arena = arena_allocator.allocator(); const mod = self.dg.module; - const llvm_fn_name = try std.fmt.allocPrintZ(arena, "__zig_tag_name_{s}", .{ - try mod.declPtr(enum_decl).getFullyQualifiedName(mod), - }); + const fqn = try mod.declPtr(enum_decl).getFullyQualifiedName(mod); + defer self.gpa.free(fqn); + const llvm_fn_name = try std.fmt.allocPrintZ(arena, "__zig_tag_name_{s}", .{fqn}); const slice_ty = Type.initTag(.const_slice_u8_sentinel_0); const llvm_ret_ty = try self.dg.lowerType(slice_ty); -- cgit v1.2.3