diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index 2aab98ea72..c2c2993f84 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -1370,3 +1370,21 @@ test "vector pointer is indexable" { try expectEqual(@as(u32, 100), (&y)[0]); try expectEqual(@as(u32, 200), (&y)[1]); } + +test "boolean vector with 2 or more booleans" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO + + // TODO: try removing this after : + if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return; + + const vec1 = @Vector(2, bool){ true, true }; + _ = vec1; + + const vec2 = @Vector(3, bool){ true, true, true }; + _ = vec2; +} diff --git a/test/cases/compile_errors/as_many_ptr_undefined.zig b/test/cases/compile_errors/as_many_ptr_undefined.zig new file mode 100644 index 0000000000..deec465d24 --- /dev/null +++ b/test/cases/compile_errors/as_many_ptr_undefined.zig @@ -0,0 +1,10 @@ +export fn entry1() void { + const slice = @as([*]i32, undefined)[0]; + _ = slice; +} + +// error +// backend=stage2 +// target=native +// +// :2:41: error: use of undefined value here causes undefined behavior