macho: create LlvmObject in createEmpty only

Prior to this change we would also create it in `openPath`, but as
`openPath` internally calls `createEmpty` we would end up with a
memory leak.
This commit is contained in:
Jakub Konka 2022-04-21 12:04:27 +02:00 committed by Andrew Kelley
parent bd5831ce0e
commit 42ed34d1f6

View File

@ -321,7 +321,6 @@ pub fn openPath(allocator: Allocator, options: link.Options) !*MachO {
// TODO this intermediary_basename isn't enough; in the case of `zig build-exe`,
// we also want to put the intermediary object file in the cache while the
// main emit directory is the cwd.
self.llvm_object = try LlvmObject.create(allocator, options);
self.base.intermediary_basename = try std.fmt.allocPrint(allocator, "{s}{s}", .{
emit.sub_path, options.object_format.fileExt(options.target.cpu.arch),
});