aboutsummaryrefslogtreecommitdiff
path: root/src/link/Plan9.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-11-27 01:07:35 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-11-29 23:30:38 -0700
commitceb0a632cfd6a4eada6bd27bf6a3754e95dcac86 (patch)
tree3c174281ab0b9d51b6c78234b0648e197412eea8 /src/link/Plan9.zig
parentdeda6b514691c3a7ffc7931469886d0e7be2f67e (diff)
downloadzig-ceb0a632cfd6a4eada6bd27bf6a3754e95dcac86.tar.gz
zig-ceb0a632cfd6a4eada6bd27bf6a3754e95dcac86.zip
std.mem.Allocator: allow shrink to fail
closes #13535
Diffstat (limited to 'src/link/Plan9.zig')
-rw-r--r--src/link/Plan9.zig16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/link/Plan9.zig b/src/link/Plan9.zig
index 54eea6ee25..2d221463c9 100644
--- a/src/link/Plan9.zig
+++ b/src/link/Plan9.zig
@@ -230,7 +230,7 @@ fn putFn(self: *Plan9, decl_index: Module.Decl.Index, out: FnDeclOutput) !void {
// null terminate
try a.append(0);
- const final = a.toOwnedSlice();
+ const final = try a.toOwnedSlice();
self.syms.items[fn_map_res.value_ptr.sym_index - 1] = .{
.type = .z,
.value = 1,
@@ -296,7 +296,7 @@ pub fn updateFunc(self: *Plan9, module: *Module, func: *Module.Fn, air: Air, liv
},
);
const code = switch (res) {
- .appended => code_buffer.toOwnedSlice(),
+ .appended => try code_buffer.toOwnedSlice(),
.fail => |em| {
decl.analysis = .codegen_failure;
try module.failed_decls.put(module.gpa, decl_index, em);
@@ -305,7 +305,7 @@ pub fn updateFunc(self: *Plan9, module: *Module, func: *Module.Fn, air: Air, liv
};
const out: FnDeclOutput = .{
.code = code,
- .lineinfo = dbg_line_buffer.toOwnedSlice(),
+ .lineinfo = try dbg_line_buffer.toOwnedSlice(),
.start_line = start_line.?,
.end_line = end_line,
};
@@ -574,7 +574,7 @@ pub fn flushModule(self: *Plan9, comp: *Compilation, prog_node: *std.Progress.No
}
self.syms.items[decl.link.plan9.sym_index.?].value = off;
if (mod.decl_exports.get(decl_index)) |exports| {
- try self.addDeclExports(mod, decl, exports);
+ try self.addDeclExports(mod, decl, exports.items);
}
}
}
@@ -611,7 +611,7 @@ pub fn flushModule(self: *Plan9, comp: *Compilation, prog_node: *std.Progress.No
}
self.syms.items[decl.link.plan9.sym_index.?].value = off;
if (mod.decl_exports.get(decl_index)) |exports| {
- try self.addDeclExports(mod, decl, exports);
+ try self.addDeclExports(mod, decl, exports.items);
}
}
// write the unnamed constants after the other data decls
@@ -641,7 +641,7 @@ pub fn flushModule(self: *Plan9, comp: *Compilation, prog_node: *std.Progress.No
self.syms.items[1].value = self.getAddr(0x0, .b);
var sym_buf = std.ArrayList(u8).init(self.base.allocator);
try self.writeSyms(&sym_buf);
- const syms = sym_buf.toOwnedSlice();
+ const syms = try sym_buf.toOwnedSlice();
defer self.base.allocator.free(syms);
assert(2 + self.atomCount() == iovecs_i); // we didn't write all the decls
iovecs[iovecs_i] = .{ .iov_base = syms.ptr, .iov_len = syms.len };
@@ -914,7 +914,7 @@ pub fn writeSyms(self: *Plan9, buf: *std.ArrayList(u8)) !void {
const sym = self.syms.items[decl.link.plan9.sym_index.?];
try self.writeSym(writer, sym);
if (self.base.options.module.?.decl_exports.get(decl_index)) |exports| {
- for (exports) |e| {
+ for (exports.items) |e| {
try self.writeSym(writer, self.syms.items[e.link.plan9.?]);
}
}
@@ -939,7 +939,7 @@ pub fn writeSyms(self: *Plan9, buf: *std.ArrayList(u8)) !void {
const sym = self.syms.items[decl.link.plan9.sym_index.?];
try self.writeSym(writer, sym);
if (self.base.options.module.?.decl_exports.get(decl_index)) |exports| {
- for (exports) |e| {
+ for (exports.items) |e| {
const s = self.syms.items[e.link.plan9.?];
if (mem.eql(u8, s.name, "_start"))
self.entry_val = s.value;