zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 96daca7b3b6f02033e68ac91776bf6e8d2b67409 (tree)
parent 69e304bd510e3fed2d51582edc6f11127824d7e6
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Sat, 31 Aug 2024 20:57:27 -0700

Merge pull request #21173 from mrjbq7/writeStackTrace

std.debug: remove allocator from std.debug.writeStackTrace()
Diffstat:
Mlib/std/Build/Step.zig | 3+--
Mlib/std/builtin.zig | 4+---
Mlib/std/debug.zig | 6++----
3 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/lib/std/Build/Step.zig b/lib/std/Build/Step.zig @@ -295,10 +295,9 @@ pub fn dump(step: *Step, file: std.fs.File) void { }) catch {}; return; }; - const ally = debug_info.allocator; if (step.getStackTrace()) |stack_trace| { w.print("name: '{s}'. creation stack trace:\n", .{step.name}) catch {}; - std.debug.writeStackTrace(stack_trace, w, ally, debug_info, tty_config) catch |err| { + std.debug.writeStackTrace(stack_trace, w, debug_info, tty_config) catch |err| { w.print("Unable to dump stack trace: {s}\n", .{@errorName(err)}) catch {}; return; }; diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig @@ -48,14 +48,12 @@ pub const StackTrace = struct { if (builtin.os.tag == .freestanding) return; _ = options; - var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); - defer arena.deinit(); const debug_info = std.debug.getSelfDebugInfo() catch |err| { return writer.print("\nUnable to print stack trace: Unable to open debug info: {s}\n", .{@errorName(err)}); }; const tty_config = std.io.tty.detectConfig(std.io.getStdErr()); try writer.writeAll("\n"); - std.debug.writeStackTrace(self, writer, arena.allocator(), debug_info, tty_config) catch |err| { + std.debug.writeStackTrace(self, writer, debug_info, tty_config) catch |err| { try writer.print("Unable to print stack trace: {s}\n", .{@errorName(err)}); }; } diff --git a/lib/std/debug.zig b/lib/std/debug.zig @@ -377,7 +377,7 @@ pub fn dumpStackTrace(stack_trace: std.builtin.StackTrace) void { stderr.print("Unable to dump stack trace: Unable to open debug info: {s}\n", .{@errorName(err)}) catch return; return; }; - writeStackTrace(stack_trace, stderr, getDebugInfoAllocator(), debug_info, io.tty.detectConfig(io.getStdErr())) catch |err| { + writeStackTrace(stack_trace, stderr, debug_info, io.tty.detectConfig(io.getStdErr())) catch |err| { stderr.print("Unable to dump stack trace: {s}\n", .{@errorName(err)}) catch return; return; }; @@ -520,11 +520,9 @@ fn waitForOtherThreadToFinishPanicking() void { pub fn writeStackTrace( stack_trace: std.builtin.StackTrace, out_stream: anytype, - allocator: mem.Allocator, debug_info: *SelfInfo, tty_config: io.tty.Config, ) !void { - _ = allocator; if (builtin.strip_debug_info) return error.MissingDebugInfo; var frame_index: usize = 0; var frames_left: usize = @min(stack_trace.index, stack_trace.instruction_addresses.len); @@ -1452,7 +1450,7 @@ pub fn ConfigurableTrace(comptime size: usize, comptime stack_frame_count: usize .index = frames.len, .instruction_addresses = frames, }; - writeStackTrace(stack_trace, stderr, getDebugInfoAllocator(), debug_info, tty_config) catch continue; + writeStackTrace(stack_trace, stderr, debug_info, tty_config) catch continue; } if (t.index > end) { stderr.print("{d} more traces not shown; consider increasing trace size\n", .{