aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-02-18 15:58:27 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-02-18 19:20:19 -0700
commit8b05205bb71fca55569a9ff4cab89ec9e09640ba (patch)
tree1bcc329a4a2d79b35f6ab5b6e8e6fcf8bc986f72 /test/behavior
parente89bfedd8d68a731cb227327a325e16fc7812df9 (diff)
downloadzig-8b05205bb71fca55569a9ff4cab89ec9e09640ba.tar.gz
zig-8b05205bb71fca55569a9ff4cab89ec9e09640ba.zip
implement error for unbounded for loops
Diffstat (limited to 'test/behavior')
-rw-r--r--test/behavior/for.zig19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/behavior/for.zig b/test/behavior/for.zig
index 20d43c6ff2..0c5ab392f4 100644
--- a/test/behavior/for.zig
+++ b/test/behavior/for.zig
@@ -378,3 +378,22 @@ test "raw pointer and slice" {
try expect(buf[2] == 'a');
try expect(buf[3] == 'h');
}
+
+test "raw pointer and counter" {
+ if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+
+ var buf: [10]u8 = undefined;
+ const ptr: [*]u8 = &buf;
+
+ for (ptr, 0..4) |*a, b| {
+ a.* = @intCast(u8, 'A' + b);
+ }
+
+ try expect(buf[0] == 'A');
+ try expect(buf[1] == 'B');
+ try expect(buf[2] == 'C');
+ try expect(buf[3] == 'D');
+}