aboutsummaryrefslogtreecommitdiff
path: root/lib/std/testing.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-11-30 19:31:01 +0200
committerVeikka Tuominen <git@vexu.eu>2022-11-30 19:33:03 +0200
commitfb4a5ccdeeddf56a0849b4168fe7a9525f36b107 (patch)
treeb73a5a59ddb6850ee9c69d2ee8fbbc17126b4d44 /lib/std/testing.zig
parente4fd9acc2a7682d0d64d6d42e2882967cf3877aa (diff)
downloadzig-fb4a5ccdeeddf56a0849b4168fe7a9525f36b107.tar.gz
zig-fb4a5ccdeeddf56a0849b4168fe7a9525f36b107.zip
llvm: make debuggers actually usable
`@llvm.dbg.value` is absolutely useless, adding a temporary alloca to store the constant in will make it actually show up in debuggers. The effect on performance should be minimal since there is only one store and it the change is not applied to ReleaseSafe builds. ```zig fn foo(a: u32, b: []const u8, c: bool, d: enum { yes, no }) void { _ = a; _ = b; _ = c; _ = d; } ``` before: ``` Breakpoint 1, a.foo (a=<optimized out>, b=..., c=<optimized out>, d=<optimized out>) at a.zig:18 18 _ = d; ``` after: ``` Breakpoint 1, a.foo (a=1, b=..., c=false, d=yes) at a.zig:15 15 _ = a; _ = b; _ = c; _ = d; (gdb) p b $1 = {ptr = 0x20854f <a.main.anon_3888> "bar", len = 3} ```
Diffstat (limited to 'lib/std/testing.zig')
0 files changed, 0 insertions, 0 deletions