From 4cc16fd6f7ac22e32ff4e42b61ad1bb7157d282f Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Wed, 28 Aug 2024 04:22:51 -0400 Subject: [PATCH] Dwarf: fix and test inline function bugs --- ci/x86_64-linux-debug.sh | 2 +- ci/x86_64-linux-release.sh | 2 +- test/src/Debugger.zig | 604 ++++++++++++++++++++++++++++++++----- 3 files changed, 532 insertions(+), 76 deletions(-) diff --git a/ci/x86_64-linux-debug.sh b/ci/x86_64-linux-debug.sh index b058b5005e..8e9929bc22 100755 --- a/ci/x86_64-linux-debug.sh +++ b/ci/x86_64-linux-debug.sh @@ -64,7 +64,7 @@ stage3-debug/bin/zig build \ stage3-debug/bin/zig build test docs \ --maxrss 21000000000 \ - -Dlldb=$HOME/deps/lldb-zig/Debug-70b8227f1/bin/lldb \ + -Dlldb=$HOME/deps/lldb-zig/Debug-befcd57a8/bin/lldb \ -fqemu \ -fwasmtime \ -Dstatic-llvm \ diff --git a/ci/x86_64-linux-release.sh b/ci/x86_64-linux-release.sh index f976439d67..346e942602 100755 --- a/ci/x86_64-linux-release.sh +++ b/ci/x86_64-linux-release.sh @@ -64,7 +64,7 @@ stage3-release/bin/zig build \ stage3-release/bin/zig build test docs \ --maxrss 21000000000 \ - -Dlldb=$HOME/deps/lldb-zig/Release-70b8227f1/bin/lldb \ + -Dlldb=$HOME/deps/lldb-zig/Release-befcd57a8/bin/lldb \ -fqemu \ -fwasmtime \ -Dstatic-llvm \ diff --git a/test/src/Debugger.zig b/test/src/Debugger.zig index dcb07ba476..afa4f6d803 100644 --- a/test/src/Debugger.zig +++ b/test/src/Debugger.zig @@ -667,37 +667,156 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { target, &.{ .{ - .path = "main.zig", + .path = "root0.zig", .source = - \\const module = @import("module"); + \\const root0 = @This(); + \\pub const root1 = @import("root1.zig"); + \\const mod0 = @import("module"); + \\const mod1 = mod0.mod1; + \\pub fn r0pf(r0pa: u32) void { + \\ root0.r0cf(r0pa ^ 1); + \\ root0.r0cfi(r0pa ^ 2); + \\ root1.r1cf(r0pa ^ 3); + \\ root1.r1cfi(r0pa ^ 4); + \\ mod0.m0cf(r0pa ^ 5); + \\ mod0.m0cfi(r0pa ^ 6); + \\ mod1.m1cf(r0pa ^ 7); + \\ mod1.m1cfi(r0pa ^ 8); + \\} + \\pub inline fn r0pfi(r0pai: u32) void { + \\ root0.r0cf(r0pai ^ 1); + \\ root0.r0cfi(r0pai ^ 2); + \\ root1.r1cf(r0pai ^ 3); + \\ root1.r1cfi(r0pai ^ 4); + \\ mod0.m0cf(r0pai ^ 5); + \\ mod0.m0cfi(r0pai ^ 6); + \\ mod1.m1cf(r0pai ^ 7); + \\ mod1.m1cfi(r0pai ^ 8); + \\} + \\pub fn r0cf(r0ca: u32) void { + \\ _ = r0ca; + \\} + \\pub inline fn r0cfi(r0cai: u32) void { + \\ _ = r0cai; + \\} \\pub fn main() void { - \\ fa(12); - \\ fb(34); - \\ module.fc(56); - \\ module.fd(78); + \\ root0.r0pf(12); + \\ root0.r0pfi(23); + \\ root1.r1pf(34); + \\ root1.r1pfi(45); + \\ mod0.m0pf(56); + \\ mod0.m0pfi(67); + \\ mod1.m1pf(78); + \\ mod1.m1pfi(89); \\} - \\fn fa(pa: u32) void { - \\ const la = ~pa; - \\ _ = la; + \\ + , + }, + .{ + .path = "root1.zig", + .source = + \\const root0 = @import("root0.zig"); + \\const root1 = @This(); + \\const mod0 = @import("module"); + \\const mod1 = mod0.mod1; + \\pub fn r1pf(r1pa: u32) void { + \\ root0.r0cf(r1pa ^ 1); + \\ root0.r0cfi(r1pa ^ 2); + \\ root1.r1cf(r1pa ^ 3); + \\ root1.r1cfi(r1pa ^ 4); + \\ mod0.m0cf(r1pa ^ 5); + \\ mod0.m0cfi(r1pa ^ 6); + \\ mod1.m1cf(r1pa ^ 7); + \\ mod1.m1cfi(r1pa ^ 8); \\} - \\inline fn fb(pb: u32) void { - \\ const lb = ~pb; - \\ _ = lb; + \\pub inline fn r1pfi(r1pai: u32) void { + \\ root0.r0cf(r1pai ^ 1); + \\ root0.r0cfi(r1pai ^ 2); + \\ root1.r1cf(r1pai ^ 3); + \\ root1.r1cfi(r1pai ^ 4); + \\ mod0.m0cf(r1pai ^ 5); + \\ mod0.m0cfi(r1pai ^ 6); + \\ mod1.m1cf(r1pai ^ 7); + \\ mod1.m1cfi(r1pai ^ 8); + \\} + \\pub fn r1cf(r1ca: u32) void { + \\ _ = r1ca; + \\} + \\pub inline fn r1cfi(r1cai: u32) void { + \\ _ = r1cai; \\} \\ , }, .{ .import = "module", - .path = "module.zig", + .path = "mod0.zig", .source = - \\pub fn fc(pc: u32) void { - \\ const lc = ~pc; - \\ _ = lc; + \\const root0 = @import("root"); + \\const root1 = root0.root1; + \\const mod0 = @This(); + \\pub const mod1 = @import("mod1.zig"); + \\pub fn m0pf(m0pa: u32) void { + \\ root0.r0cf(m0pa ^ 1); + \\ root0.r0cfi(m0pa ^ 2); + \\ root1.r1cf(m0pa ^ 3); + \\ root1.r1cfi(m0pa ^ 4); + \\ mod0.m0cf(m0pa ^ 5); + \\ mod0.m0cfi(m0pa ^ 6); + \\ mod1.m1cf(m0pa ^ 7); + \\ mod1.m1cfi(m0pa ^ 8); \\} - \\pub inline fn fd(pd: u32) void { - \\ const ld = ~pd; - \\ _ = ld; + \\pub inline fn m0pfi(m0pai: u32) void { + \\ root0.r0cf(m0pai ^ 1); + \\ root0.r0cfi(m0pai ^ 2); + \\ root1.r1cf(m0pai ^ 3); + \\ root1.r1cfi(m0pai ^ 4); + \\ mod0.m0cf(m0pai ^ 5); + \\ mod0.m0cfi(m0pai ^ 6); + \\ mod1.m1cf(m0pai ^ 7); + \\ mod1.m1cfi(m0pai ^ 8); + \\} + \\pub fn m0cf(m0ca: u32) void { + \\ _ = m0ca; + \\} + \\pub inline fn m0cfi(m0cai: u32) void { + \\ _ = m0cai; + \\} + \\ + , + }, + .{ + .path = "mod1.zig", + .source = + \\const root0 = @import("root"); + \\const root1 = root0.root1; + \\const mod0 = @import("mod0.zig"); + \\const mod1 = @This(); + \\pub fn m1pf(m1pa: u32) void { + \\ root0.r0cf(m1pa ^ 1); + \\ root0.r0cfi(m1pa ^ 2); + \\ root1.r1cf(m1pa ^ 3); + \\ root1.r1cfi(m1pa ^ 4); + \\ mod0.m0cf(m1pa ^ 5); + \\ mod0.m0cfi(m1pa ^ 6); + \\ mod1.m1cf(m1pa ^ 7); + \\ mod1.m1cfi(m1pa ^ 8); + \\} + \\pub inline fn m1pfi(m1pai: u32) void { + \\ root0.r0cf(m1pai ^ 1); + \\ root0.r0cfi(m1pai ^ 2); + \\ root1.r1cf(m1pai ^ 3); + \\ root1.r1cfi(m1pai ^ 4); + \\ mod0.m0cf(m1pai ^ 5); + \\ mod0.m0cfi(m1pai ^ 6); + \\ mod1.m1cf(m1pai ^ 7); + \\ mod1.m1cfi(m1pai ^ 8); + \\} + \\pub fn m1cf(m1ca: u32) void { + \\ _ = m1ca; + \\} + \\pub inline fn m1cfi(m1cai: u32) void { + \\ _ = m1cai; \\} \\ , @@ -705,70 +824,407 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { }, \\settings set frame-format 'frame #${frame.index}:{ ${module.file.basename}{\`${function.name-with-args}{${frame.no-debug}${function.pc-offset}}}}{ at ${line.file.basename}:${line.number}{:${line.column}}}{${function.is-optimized} [opt]}{${frame.is-artificial} [artificial]}\n' \\ - \\breakpoint set --file main.zig --source-pattern-regexp '_ = la;' + \\breakpoint set --file root0.zig --line 26 + \\breakpoint set --file root0.zig --line 29 + \\breakpoint set --file root1.zig --line 26 + \\breakpoint set --file root1.zig --line 29 + \\breakpoint set --file mod0.zig --line 26 + \\breakpoint set --file mod0.zig --line 29 + \\breakpoint set --file mod1.zig --line 26 + \\breakpoint set --file mod1.zig --line 29 + \\ \\process launch - \\frame variable pa la - \\thread backtrace --count 2 - \\breakpoint delete --force 1 - \\ - \\breakpoint set --file main.zig --source-pattern-regexp '_ = lb;' + \\thread backtrace --count 3 \\process continue - \\frame variable pb lb - \\thread backtrace --count 2 - \\breakpoint delete --force 2 - \\ - \\breakpoint set --file module.zig --source-pattern-regexp '_ = lc;' + \\thread backtrace --count 3 \\process continue - \\frame variable pc lc - \\thread backtrace --count 2 - \\breakpoint delete --force 3 - \\ - \\breakpoint set --file module.zig --line 7 + \\thread backtrace --count 3 \\process continue - \\frame variable pd ld - \\thread backtrace --count 2 - \\breakpoint delete --force 4 + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\ + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 + \\process continue + \\thread backtrace --count 3 , &.{ - \\(lldb) frame variable pa la - \\(u32) pa = 12 - \\(u32) la = 4294967283 - \\(lldb) thread backtrace --count 2 - \\* thread #1, name = 'inline_call', stop reason = breakpoint 1.1 - \\ * frame #0: inline_call`main.fa(pa=12) at main.zig:10:5 - \\ frame #1: inline_call`main.main at main.zig:3:7 - \\(lldb) breakpoint delete --force 1 - \\1 breakpoints deleted; 0 breakpoint locations disabled. + \\ * frame #0: inline_call`root0.r0cf(r0ca=13) at root0.zig:26:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:6:15 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 , - \\(lldb) frame variable pb lb - \\(u32) pb = 34 - \\(u32) lb = 4294967261 - \\(lldb) thread backtrace --count 2 - \\* thread #1, name = 'inline_call', stop reason = breakpoint 2.1 - \\ * frame #0: inline_call`main.main [inlined] fb(pb=34) at main.zig:14:5 - \\ frame #1: inline_call`main.main at main.zig:4:7 - \\(lldb) breakpoint delete --force 2 - \\1 breakpoints deleted; 0 breakpoint locations disabled. + \\ * frame #0: inline_call`root0.r0pf [inlined] r0cfi(r0cai=14) at root0.zig:29:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:7:16 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 , - \\(lldb) frame variable pc lc - \\(u32) pc = 56 - \\(u32) lc = 4294967239 - \\(lldb) thread backtrace --count 2 - \\* thread #1, name = 'inline_call', stop reason = breakpoint 3.1 - \\ * frame #0: inline_call`module.fc(pc=56) at module.zig:3:5 - \\ frame #1: inline_call`main.main at main.zig:5:14 - \\(lldb) breakpoint delete --force 3 - \\1 breakpoints deleted; 0 breakpoint locations disabled. + \\ * frame #0: inline_call`root1.r1cf(r1ca=15) at root1.zig:26:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:8:15 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 , - \\(lldb) frame variable pd ld - \\(u32) pd = 78 - \\(u32) ld = 4294967217 - \\(lldb) thread backtrace --count 2 - \\* thread #1, name = 'inline_call', stop reason = breakpoint 4.1 - \\ * frame #0: inline_call`main.main [inlined] fd(pd=78) at module.zig:7:5 - \\ frame #1: inline_call`main.main at main.zig:6:14 - \\(lldb) breakpoint delete --force 4 - \\1 breakpoints deleted; 0 breakpoint locations disabled. + \\ * frame #0: inline_call`root0.r0pf [inlined] r1cfi(r1cai=8) at root1.zig:29:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:9:16 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=9) at mod0.zig:26:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:10:14 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 + , + \\ * frame #0: inline_call`root0.r0pf [inlined] m0cfi(m0cai=10) at mod0.zig:29:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:11:15 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=11) at mod1.zig:26:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:12:14 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 + , + \\ * frame #0: inline_call`root0.r0pf [inlined] m1cfi(m1cai=4) at mod1.zig:29:5 + \\ frame #1: inline_call`root0.r0pf(r0pa=12) at root0.zig:13:15 + \\ frame #2: inline_call`root0.main at root0.zig:32:15 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=22) at root0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:16:15 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root0.main [inlined] r0cfi(r0cai=21) at root0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:17:16 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=20) at root1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:18:15 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root0.main [inlined] r1cfi(r1cai=19) at root1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:19:16 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=18) at mod0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:20:14 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root0.main [inlined] m0cfi(m0cai=17) at mod0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:21:15 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=16) at mod1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:22:14 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root0.main [inlined] m1cfi(m1cai=31) at mod1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r0pfi(r0pai=23) at root0.zig:23:15 + \\ frame #2: inline_call`root0.main at root0.zig:33:16 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=35) at root0.zig:26:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:6:15 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root1.r1pf [inlined] r0cfi(r0cai=32) at root0.zig:29:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:7:16 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=33) at root1.zig:26:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:8:15 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root1.r1pf [inlined] r1cfi(r1cai=38) at root1.zig:29:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:9:16 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=39) at mod0.zig:26:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:10:14 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root1.r1pf [inlined] m0cfi(m0cai=36) at mod0.zig:29:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:11:15 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=37) at mod1.zig:26:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:12:14 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root1.r1pf [inlined] m1cfi(m1cai=42) at mod1.zig:29:5 + \\ frame #1: inline_call`root1.r1pf(r1pa=34) at root1.zig:13:15 + \\ frame #2: inline_call`root0.main at root0.zig:34:15 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=44) at root0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:16:15 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root0.main [inlined] r0cfi(r0cai=47) at root0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:17:16 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=46) at root1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:18:15 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root0.main [inlined] r1cfi(r1cai=41) at root1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:19:16 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=40) at mod0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:20:14 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root0.main [inlined] m0cfi(m0cai=43) at mod0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:21:15 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=42) at mod1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:22:14 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root0.main [inlined] m1cfi(m1cai=37) at mod1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] r1pfi(r1pai=45) at root1.zig:23:15 + \\ frame #2: inline_call`root0.main at root0.zig:35:16 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=57) at root0.zig:26:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:6:15 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod0.m0pf [inlined] r0cfi(r0cai=58) at root0.zig:29:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:7:16 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=59) at root1.zig:26:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:8:15 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod0.m0pf [inlined] r1cfi(r1cai=60) at root1.zig:29:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:9:16 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=61) at mod0.zig:26:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:10:14 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod0.m0pf [inlined] m0cfi(m0cai=62) at mod0.zig:29:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:11:15 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=63) at mod1.zig:26:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:12:14 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`mod0.m0pf [inlined] m1cfi(m1cai=48) at mod1.zig:29:5 + \\ frame #1: inline_call`mod0.m0pf(m0pa=56) at mod0.zig:13:15 + \\ frame #2: inline_call`root0.main at root0.zig:36:14 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=66) at root0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:16:15 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root0.main [inlined] r0cfi(r0cai=65) at root0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:17:16 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=64) at root1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:18:15 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root0.main [inlined] r1cfi(r1cai=71) at root1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:19:16 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=70) at mod0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:20:14 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root0.main [inlined] m0cfi(m0cai=69) at mod0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:21:15 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=68) at mod1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:22:14 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root0.main [inlined] m1cfi(m1cai=75) at mod1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m0pfi(m0pai=67) at mod0.zig:23:15 + \\ frame #2: inline_call`root0.main at root0.zig:37:15 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=79) at root0.zig:26:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:6:15 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod1.m1pf [inlined] r0cfi(r0cai=76) at root0.zig:29:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:7:16 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=77) at root1.zig:26:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:8:15 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod1.m1pf [inlined] r1cfi(r1cai=74) at root1.zig:29:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:9:16 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=75) at mod0.zig:26:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:10:14 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod1.m1pf [inlined] m0cfi(m0cai=72) at mod0.zig:29:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:11:15 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=73) at mod1.zig:26:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:12:14 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`mod1.m1pf [inlined] m1cfi(m1cai=70) at mod1.zig:29:5 + \\ frame #1: inline_call`mod1.m1pf(m1pa=78) at mod1.zig:13:15 + \\ frame #2: inline_call`root0.main at root0.zig:38:14 + , + \\ * frame #0: inline_call`root0.r0cf(r0ca=88) at root0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:16:15 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`root0.main [inlined] r0cfi(r0cai=91) at root0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:17:16 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`root1.r1cf(r1ca=90) at root1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:18:15 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`root0.main [inlined] r1cfi(r1cai=93) at root1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:19:16 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`mod0.m0cf(m0ca=92) at mod0.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:20:14 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`root0.main [inlined] m0cfi(m0cai=95) at mod0.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:21:15 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`mod1.m1cf(m1ca=94) at mod1.zig:26:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:22:14 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 + , + \\ * frame #0: inline_call`root0.main [inlined] m1cfi(m1cai=81) at mod1.zig:29:5 + \\ frame #1: inline_call`root0.main [inlined] m1pfi(m1pai=89) at mod1.zig:23:15 + \\ frame #2: inline_call`root0.main at root0.zig:39:15 }, ); db.addLldbTest(