authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-10-13 17:37:04+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-13 17:49:47-04:00
logb164e0ae5599610e39804845331caab612010c13
tree17ce7e1bd5fdc4d73d12a9f45e050ba2154010ce
parent9439bf3809de68a30a73451cc7648a266aba0a36

Fix stack iteration stop condition


1 files changed, 3 insertions(+), 3 deletions(-)

lib/std/debug.zig+3-3
...@@ -290,12 +290,12 @@ pub const StackIterator = struct {...@@ -290,12 +290,12 @@ pub const StackIterator = struct {
290 0;290 0;
291291
292 fn next(self: *StackIterator) ?usize {292 fn next(self: *StackIterator) ?usize {
293 if (self.fp < fp_adjust_factor) return null;293 if (self.fp <= fp_adjust_factor) return null;
294 self.fp = @intToPtr(*const usize, self.fp - fp_adjust_factor).*;294 self.fp = @intToPtr(*const usize, self.fp - fp_adjust_factor).*;
295 if (self.fp < fp_adjust_factor) return null;295 if (self.fp <= fp_adjust_factor) return null;
296296
297 if (self.first_addr) |addr| {297 if (self.first_addr) |addr| {
298 while (self.fp >= fp_adjust_factor) : (self.fp = @intToPtr(*const usize, self.fp - fp_adjust_factor).*) {298 while (self.fp > fp_adjust_factor) : (self.fp = @intToPtr(*const usize, self.fp - fp_adjust_factor).*) {
299 const return_address = @intToPtr(*const usize, self.fp - fp_adjust_factor + @sizeOf(usize)).*;299 const return_address = @intToPtr(*const usize, self.fp - fp_adjust_factor + @sizeOf(usize)).*;
300 if (addr == return_address) {300 if (addr == return_address) {
301 self.first_addr = null;301 self.first_addr = null;