From d8fa8b5455058d235793a8b9ecdf252fb8dd8782 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 29 Sep 2020 12:06:35 -0700 Subject: use Allocator.allocSentinel now that the stage1 bug is fixed Thanks @LemonBoy! --- src/link/Coff.zig | 4 +--- src/link/Elf.zig | 5 +---- src/link/MachO.zig | 5 +---- src/link/Wasm.zig | 5 +---- 4 files changed, 4 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/link/Coff.zig b/src/link/Coff.zig index 0356a327ba..424ece511b 100644 --- a/src/link/Coff.zig +++ b/src/link/Coff.zig @@ -1118,9 +1118,7 @@ fn linkWithLLD(self: *Coff, comp: *Compilation) !void { Compilation.dump_argv(argv.items); } - const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1); - new_argv_with_sentinel[argv.items.len] = null; - const new_argv = new_argv_with_sentinel[0..argv.items.len :null]; + const new_argv = try arena.allocSentinel(?[*:0]const u8, argv.items.len, null); for (argv.items) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } diff --git a/src/link/Elf.zig b/src/link/Elf.zig index dc664b14be..38b9b1acca 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1589,10 +1589,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void { } // Oh, snapplesauce! We need null terminated argv. - // TODO allocSentinel crashed stage1 so this is working around it. - const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1); - new_argv_with_sentinel[argv.items.len] = null; - const new_argv = new_argv_with_sentinel[0..argv.items.len: null]; + const new_argv = try arena.allocSentinel(?[*:0]const u8, argv.items.len, null); for (argv.items) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 146f2616c2..2570a92daa 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -567,10 +567,7 @@ fn linkWithLLD(self: *MachO, comp: *Compilation) !void { Compilation.dump_argv(argv.items); } - // TODO allocSentinel crashed stage1 so this is working around it. - const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1); - new_argv_with_sentinel[argv.items.len] = null; - const new_argv = new_argv_with_sentinel[0..argv.items.len :null]; + const new_argv = try arena.allocSentinel(?[*:0]const u8, argv.items.len, null); for (argv.items) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index 509544c94f..3f879a3b32 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -385,10 +385,7 @@ fn linkWithLLD(self: *Wasm, comp: *Compilation) !void { Compilation.dump_argv(argv.items); } - // TODO allocSentinel crashed stage1 so this is working around it. - const new_argv_with_sentinel = try arena.alloc(?[*:0]const u8, argv.items.len + 1); - new_argv_with_sentinel[argv.items.len] = null; - const new_argv = new_argv_with_sentinel[0..argv.items.len :null]; + const new_argv = try arena.allocSentinel(?[*:0]const u8, argv.items.len, null); for (argv.items) |arg, i| { new_argv[i] = try arena.dupeZ(u8, arg); } -- cgit v1.2.3