authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-04-05 23:22:34+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-04-05 23:22:34+02:00
logdf1f8b0ae6ee493262f4244e3af0fb604ccd0a0f
tree275f53047eefa8c319b4bd2b8982397e0a93c0ad
parente5d900268a1d969dcaf4f2d657e96a5a5f217e7b
parent14e371872399c87e24d38a6774b98646d3d7ab71
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #19539 from alichraghi/spirv

spirv: make behavior tests passing

3 files changed, 18 insertions(+), 0 deletions(-)

src/codegen/spirv.zig+3
......@@ -1102,6 +1102,9 @@ const DeclGen = struct {
11021102 fn constantPtr(self: *DeclGen, ptr_ty: Type, ptr_val: Value) Error!IdRef {
11031103 const result_ty_ref = try self.resolveType(ptr_ty, .direct);
11041104 const mod = self.module;
1105
1106 if (ptr_val.isUndef(mod)) return self.spv.constUndef(result_ty_ref);
1107
11051108 switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {
11061109 .decl => |decl| return try self.constantDeclRef(ptr_ty, decl),
11071110 .anon_decl => |anon_decl| return try self.constantAnonDeclRef(ptr_ty, anon_decl),
test/behavior/array.zig+2
......@@ -946,6 +946,8 @@ test "union that needs padding bytes inside an array" {
946946}
947947
948948test "runtime index of array of zero-bit values" {
949 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
950
949951 var runtime: struct { array: [1]void, index: usize } = undefined;
950952 runtime = .{ .array = .{{}}, .index = 0 };
951953 const result = struct { index: usize, value: void }{
test/behavior/field_parent_ptr.zig+13
......@@ -268,6 +268,8 @@ test "@fieldParentPtr extern struct" {
268268}
269269
270270test "@fieldParentPtr extern struct first zero-bit field" {
271 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
272
271273 const C = extern struct {
272274 a: u0 = 0,
273275 b: f32 = 3.14,
......@@ -369,6 +371,8 @@ test "@fieldParentPtr extern struct first zero-bit field" {
369371}
370372
371373test "@fieldParentPtr extern struct middle zero-bit field" {
374 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
375
372376 const C = extern struct {
373377 a: f32 = 3.14,
374378 b: u0 = 0,
......@@ -470,6 +474,8 @@ test "@fieldParentPtr extern struct middle zero-bit field" {
470474}
471475
472476test "@fieldParentPtr extern struct last zero-bit field" {
477 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
478
473479 const C = extern struct {
474480 a: f32 = 3.14,
475481 b: i32 = 12345,
......@@ -574,6 +580,7 @@ test "@fieldParentPtr unaligned packed struct" {
574580 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
575581 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
576582 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
583 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
577584
578585 const C = packed struct {
579586 a: bool = true,
......@@ -711,6 +718,7 @@ test "@fieldParentPtr aligned packed struct" {
711718 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
712719 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
713720 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
721 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
714722
715723 const C = packed struct {
716724 a: f32 = 3.14,
......@@ -847,6 +855,7 @@ test "@fieldParentPtr aligned packed struct" {
847855test "@fieldParentPtr nested packed struct" {
848856 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
849857 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
858 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
850859
851860 {
852861 const C = packed struct {
......@@ -1008,6 +1017,7 @@ test "@fieldParentPtr nested packed struct" {
10081017test "@fieldParentPtr packed struct first zero-bit field" {
10091018 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
10101019 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
1020 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10111021
10121022 const C = packed struct {
10131023 a: u0 = 0,
......@@ -1112,6 +1122,7 @@ test "@fieldParentPtr packed struct first zero-bit field" {
11121122test "@fieldParentPtr packed struct middle zero-bit field" {
11131123 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
11141124 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
1125 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11151126
11161127 const C = packed struct {
11171128 a: f32 = 3.14,
......@@ -1216,6 +1227,7 @@ test "@fieldParentPtr packed struct middle zero-bit field" {
12161227test "@fieldParentPtr packed struct last zero-bit field" {
12171228 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
12181229 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
1230 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12191231
12201232 const C = packed struct {
12211233 a: f32 = 3.14,
......@@ -1718,6 +1730,7 @@ test "@fieldParentPtr extern union" {
17181730
17191731test "@fieldParentPtr packed union" {
17201732 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
1733 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
17211734
17221735 const C = packed union {
17231736 a: bool,