zig

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

commit b993728f10c213b679def931c2f59c8e64b14660 (tree)
parent 29ac68b2537b9a9c67f92cc2a5dd4c35bf1c2b31
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Mon, 14 Jul 2025 10:02:37 -0700

make it a behavior test instead

It's important to check for correct runtime behavior, rather than only
checking that the compiler does not crash.

Diffstat:
Mtest/behavior/switch_loop.zig | 10++++++++++
Dtest/cases/discard_labeled_switch_tag.zig | 12------------
2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/test/behavior/switch_loop.zig b/test/behavior/switch_loop.zig @@ -216,3 +216,13 @@ test "switch loop with pointer capture" { try S.doTheTest(); try comptime S.doTheTest(); } + +test "unanalyzed continue with operand" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + @setRuntimeSafety(false); + label: switch (false) { + false => if (false) continue :label true, + true => {}, + } +} diff --git a/test/cases/discard_labeled_switch_tag.zig b/test/cases/discard_labeled_switch_tag.zig @@ -1,12 +0,0 @@ -// https://github.com/ziglang/zig/issues/24323 - -export fn f() void { - const x: u32 = 0; - sw: switch (x) { - else => if (false) continue :sw undefined, - } -} - -// compile -// backend=stage2,llvm -// target=native