authorgravatar for r00ster91@proton.meWooster <r00ster91@proton.me> 2023-06-15 03:22:25-04:00
committergravatar for r00ster91@proton.meWooster <r00ster91@proton.me> 2023-06-27 19:57:23-04:00
logadf07183165eb910be6f8b13ae0192dab6ed59e7
treee7abdcf397ada6c2425c9e2502888d0f316bcb15
parentd01641f6be1e9f330be87e45a14bfda60387306b

behavior: boolean vector with 2 or more elements

Closes #12169

2 files changed, 28 insertions(+), 0 deletions(-)

test/behavior/vector.zig+18
......@@ -1370,3 +1370,21 @@ test "vector pointer is indexable" {
13701370 try expectEqual(@as(u32, 100), (&y)[0]);
13711371 try expectEqual(@as(u32, 200), (&y)[1]);
13721372}
1373
1374test "boolean vector with 2 or more booleans" {
1375 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1376 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1377 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1378 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1379 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1380 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
1381
1382 // TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:
1383 if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return;
1384
1385 const vec1 = @Vector(2, bool){ true, true };
1386 _ = vec1;
1387
1388 const vec2 = @Vector(3, bool){ true, true, true };
1389 _ = vec2;
1390}
test/cases/compile_errors/as_many_ptr_undefined.zig created+10
......@@ -0,0 +1,10 @@
1export fn entry1() void {
2 const slice = @as([*]i32, undefined)[0];
3 _ = slice;
4}
5
6// error
7// backend=stage2
8// target=native
9//
10// :2:41: error: use of undefined value here causes undefined behavior