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:
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