authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2023-10-08 11:38:43+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2023-10-15 14:00:06+02:00
log0af16a58a0af20efa063057e90f8f448b010afd1
tree28b421682eefff69c80f1098800b6844540b137e
parentd0e7a3596ba480fdbc59644fd13859efe3024ea8
signaturebadge-check Signed by SSH key SHA256:CQ99aPxq+RueiL9u7z0FEki5Fm7V6T8q4PrEGmINrA4

spirv: fix air is_null optional slice field type


2 files changed, 1 insertions(+), 7 deletions(-)

src/codegen/spirv.zig+1-1
......@@ -3659,7 +3659,7 @@ const DeclGen = struct {
36593659 payload_ty;
36603660
36613661 const ptr_id = if (payload_ty.isSlice(mod))
3662 try self.extractField(Type.bool, operand_id, 0)
3662 try self.extractField(ptr_ty, operand_id, 0)
36633663 else
36643664 operand_id;
36653665
test/behavior/cast.zig-6
......@@ -1208,7 +1208,6 @@ test "implicitly cast from [N]T to ?[]const T" {
12081208 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
12091209 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12101210 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1211 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12121211
12131212 try expect(mem.eql(u8, castToOptionalSlice().?, "hi"));
12141213 try comptime expect(mem.eql(u8, castToOptionalSlice().?, "hi"));
......@@ -1293,7 +1292,6 @@ test "*const [N]null u8 to ?[]const u8" {
12931292 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
12941293 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12951294 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1296 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12971295
12981296 const S = struct {
12991297 fn doTheTest() !void {
......@@ -1335,8 +1333,6 @@ test "assignment to optional pointer result loc" {
13351333}
13361334
13371335test "cast between *[N]void and []void" {
1338 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1339
13401336 var a: [4]void = undefined;
13411337 var b: []void = &a;
13421338 try expect(b.len == 4);
......@@ -1398,7 +1394,6 @@ test "peer type resolution: unreachable, null, slice" {
13981394 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
13991395 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
14001396 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1401 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14021397
14031398 const S = struct {
14041399 fn doTheTest(num: usize, word: []const u8) !void {
......@@ -1438,7 +1433,6 @@ test "cast compatible optional types" {
14381433 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
14391434 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
14401435 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1441 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14421436
14431437 var a: ?[:0]const u8 = null;
14441438 var b: ?[]const u8 = a;