authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2023-09-23 01:30:16+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2023-10-15 20:08:18+02:00
logfaad97edffb2fc9cda4885feb688f3ccec71c5db
treeed81336d6607cfd0ce67fbe8f61d633b2fcb04e7
parent0552e504d061c428655536b82db3bda21d97ef3c
signature Signed by SSH key SHA256:CQ99aPxq+RueiL9u7z0FEki5Fm7V6T8q4PrEGmINrA4

spirv: update failing / passing tests

Some tests are now failing due to debug info changes, some tests now pass due to improved compiler functionality.

87 files changed, 48 insertions(+), 279 deletions(-)

test/behavior/abs.zig-1
......@@ -48,7 +48,6 @@ test "@abs unsigned integers" {
4848 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
4949 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
5050 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5251
5352 try comptime testAbsUnsignedIntegers();
5453 try testAbsUnsignedIntegers();
test/behavior/align.zig-7
......@@ -18,7 +18,6 @@ test "global variable alignment" {
1818test "slicing array of length 1 can not assume runtime index is always zero" {
1919 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2020 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2221
2322 var runtime_index: usize = 1;
2423 const slice = @as(*align(4) [1]u8, &foo)[runtime_index..];
......@@ -226,7 +225,6 @@ fn fnWithAlignedStack() i32 {
226225test "implicitly decreasing slice alignment" {
227226 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
228227 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
229 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
230228
231229 const a: u32 align(4) = 3;
232230 const b: u32 align(8) = 4;
......@@ -396,7 +394,6 @@ test "function align expression depends on generic parameter" {
396394
397395test "function callconv expression depends on generic parameter" {
398396 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
399 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
400397
401398 const S = struct {
402399 fn doTheTest() !void {
......@@ -414,7 +411,6 @@ test "function callconv expression depends on generic parameter" {
414411
415412test "runtime-known array index has best alignment possible" {
416413 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
417 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
418414
419415 // take full advantage of over-alignment
420416 var array align(4) = [_]u8{ 1, 2, 3, 4 };
......@@ -546,7 +542,6 @@ test "align(N) on functions" {
546542 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
547543 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
548544 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
549 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
550545
551546 if (builtin.zig_backend == .stage2_c) {
552547 // https://github.com/ziglang/zig/issues/16845
......@@ -585,7 +580,6 @@ test "comptime alloc alignment" {
585580test "@alignCast null" {
586581 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
587582 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
588 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
589583
590584 var ptr: ?*anyopaque = null;
591585 const aligned: ?*anyopaque = @alignCast(ptr);
......@@ -601,7 +595,6 @@ test "sub-aligned pointer field access" {
601595 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
602596 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
603597 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
604 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
605598 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
606599
607600 // Originally reported at https://github.com/ziglang/zig/issues/14904
test/behavior/array.zig-4
......@@ -72,7 +72,6 @@ test "array concat with tuple" {
7272 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7373 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
7474 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
75 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7675
7776 const array: [2]u8 = .{ 1, 2 };
7877 {
......@@ -298,7 +297,6 @@ const Str = struct { a: []Sub };
298297test "set global var array via slice embedded in struct" {
299298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
300299 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
301 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
302300
303301 var s = Str{ .a = s_array[0..] };
304302
......@@ -568,7 +566,6 @@ test "type coercion of anon struct literal to array" {
568566 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
569567 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
570568 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
571 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
572569
573570 const S = struct {
574571 const U = union {
......@@ -651,7 +648,6 @@ test "array init of container level array variable" {
651648 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
652649 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
653650 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
654 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
655651
656652 const S = struct {
657653 var pair: [2]usize = .{ 1, 2 };
test/behavior/basic.zig-7
......@@ -378,8 +378,6 @@ fn testTakeAddressOfParameter(f: f32) !void {
378378}
379379
380380test "pointer to void return type" {
381 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
382
383381 try testPointerToVoidReturnType();
384382}
385383fn testPointerToVoidReturnType() anyerror!void {
......@@ -473,7 +471,6 @@ fn testStructInFn() !void {
473471
474472test "fn call returning scalar optional in equality expression" {
475473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
476 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
477474 try expect(getNull() == null);
478475}
479476
......@@ -484,7 +481,6 @@ fn getNull() ?*i32 {
484481test "global variable assignment with optional unwrapping with var initialized to undefined" {
485482 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
486483 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
487 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
488484
489485 const S = struct {
490486 var data: i32 = 1234;
......@@ -573,8 +569,6 @@ test "comptime cast fn to ptr" {
573569}
574570
575571test "equality compare fn ptrs" {
576 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
577
578572 var a = &emptyFn;
579573 try expect(a == a);
580574}
......@@ -840,7 +834,6 @@ test "labeled block implicitly ends in a break" {
840834test "catch in block has correct result location" {
841835 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
842836 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
843 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
844837
845838 const S = struct {
846839 fn open() error{A}!@This() {
test/behavior/bitcast.zig-8
......@@ -149,8 +149,6 @@ test "bitcast literal [4]u8 param to u32" {
149149}
150150
151151test "bitcast generates a temporary value" {
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153
154152 var y = @as(u16, 0x55AA);
155153 const x = @as(u16, @bitCast(@as([2]u8, @bitCast(y))));
156154 try expect(y == x);
......@@ -186,7 +184,6 @@ test "@bitCast packed structs at runtime and comptime" {
186184test "@bitCast extern structs at runtime and comptime" {
187185 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
188186 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
189 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
190187
191188 const Full = extern struct {
192189 number: u16,
......@@ -241,7 +238,6 @@ test "bitcast packed struct to integer and back" {
241238test "implicit cast to error union by returning" {
242239 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
243240 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
244 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
245241
246242 const S = struct {
247243 fn entry() !void {
......@@ -271,8 +267,6 @@ test "comptime bitcast used in expression has the correct type" {
271267}
272268
273269test "bitcast passed as tuple element" {
274 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
275
276270 const S = struct {
277271 fn foo(args: anytype) !void {
278272 try comptime expect(@TypeOf(args[0]) == f32);
......@@ -283,8 +277,6 @@ test "bitcast passed as tuple element" {
283277}
284278
285279test "triple level result location with bitcast sandwich passed as tuple element" {
286 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
287
288280 const S = struct {
289281 fn foo(args: anytype) !void {
290282 try comptime expect(@TypeOf(args[0]) == f64);
test/behavior/bugs/10684.zig-1
......@@ -6,7 +6,6 @@ test "slicing slices" {
66 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 const foo = "1234";
1211 const bar = foo[0..4];
test/behavior/bugs/1076.zig-1
......@@ -6,7 +6,6 @@ const expect = std.testing.expect;
66test "comptime code should not modify constant data" {
77 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
88 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 try testCastPtrOfArrayToSliceAndPtr();
1211 try comptime testCastPtrOfArrayToSliceAndPtr();
test/behavior/bugs/11046.zig-1
......@@ -13,7 +13,6 @@ test "fixed" {
1313 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1414 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1515 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
1817 bar() catch |err| switch (err) {
1918 error.Foo => {}, // error: expected (inferred error set of bar), found error{Foo}
test/behavior/bugs/11139.zig-1
......@@ -6,7 +6,6 @@ test "store array of array of structs at comptime" {
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 try expect(storeArrayOfArrayOfStructs() == 15);
1211 try comptime expect(storeArrayOfArrayOfStructs() == 15);
test/behavior/bugs/11213.zig-2
......@@ -3,8 +3,6 @@ const builtin = @import("builtin");
33const testing = std.testing;
44
55test {
6 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7
86 const g: error{Test}!void = error.Test;
97
108 var v: u32 = 0;
test/behavior/bugs/11995.zig-1
......@@ -20,7 +20,6 @@ test {
2020 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
2121 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2222 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2423
2524 var string: [5]u8 = "hello".*;
2625 const arg_data = wuffs_base__slice_u8{ .ptr = @as([*c]u8, @ptrCast(&string)), .len = string.len };
test/behavior/bugs/12092.zig-1
......@@ -17,7 +17,6 @@ test {
1717 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
1818 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1919 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
20 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2120
2221 var baz: u32 = 24;
2322 try takeFoo(&.{
test/behavior/bugs/12142.zig-1
......@@ -22,7 +22,6 @@ test {
2222 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
2323 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2424 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2625
2726 const test_struct = Test{
2827 .holders = &.{
test/behavior/bugs/12551.zig-1
......@@ -4,7 +4,6 @@ const builtin = @import("builtin");
44test {
55 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
87
98 try std.testing.expect(for ([1]u8{0}) |x| {
109 if (x == 0) break true;
test/behavior/bugs/12644.zig-2
......@@ -10,8 +10,6 @@ fn main0() !void {
1010}
1111
1212test "issue12644" {
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14
1513 main0() catch |e| {
1614 try std.testing.expect(e == error.AnError);
1715 };
test/behavior/bugs/12890.zig-1
......@@ -11,7 +11,6 @@ fn a(b: []u3, c: u3) void {
1111test {
1212 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1313 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1514
1615 var arr: [8]u3 = undefined;
1716 a(&arr, 5);
test/behavior/bugs/12891.zig-6
......@@ -29,7 +29,6 @@ test "inf >= 1" {
2929test "isNan(nan * 1)" {
3030 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
3131 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
32 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3332
3433 const nan_times_one = comptime std.math.nan(f64) * 1;
3534 try std.testing.expect(std.math.isNan(nan_times_one));
......@@ -37,7 +36,6 @@ test "isNan(nan * 1)" {
3736test "runtime isNan(nan * 1)" {
3837 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
3938 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
40 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4139
4240 const nan_times_one = std.math.nan(f64) * 1;
4341 try std.testing.expect(std.math.isNan(nan_times_one));
......@@ -45,7 +43,6 @@ test "runtime isNan(nan * 1)" {
4543test "isNan(nan * 0)" {
4644 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
4745 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4946
5047 const nan_times_zero = comptime std.math.nan(f64) * 0;
5148 try std.testing.expect(std.math.isNan(nan_times_zero));
......@@ -55,7 +52,6 @@ test "isNan(nan * 0)" {
5552test "isNan(inf * 0)" {
5653 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
5754 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5955
6056 const inf_times_zero = comptime std.math.inf(f64) * 0;
6157 try std.testing.expect(std.math.isNan(inf_times_zero));
......@@ -65,7 +61,6 @@ test "isNan(inf * 0)" {
6561test "runtime isNan(nan * 0)" {
6662 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
6763 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
68 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6964
7065 const nan_times_zero = std.math.nan(f64) * 0;
7166 try std.testing.expect(std.math.isNan(nan_times_zero));
......@@ -75,7 +70,6 @@ test "runtime isNan(nan * 0)" {
7570test "runtime isNan(inf * 0)" {
7671 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
7772 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
78 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7973
8074 const inf_times_zero = std.math.inf(f64) * 0;
8175 try std.testing.expect(std.math.isNan(inf_times_zero));
test/behavior/bugs/12972.zig-1
......@@ -6,7 +6,6 @@ test {
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 const c: u8 = 42;
1211 f(&[_:null]?u8{c});
test/behavior/bugs/13064.zig-1
......@@ -6,7 +6,6 @@ test {
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 var x: [10][10]u32 = undefined;
1211
test/behavior/bugs/13065.zig-1
......@@ -11,7 +11,6 @@ test {
1111 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1212 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1313 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1514
1615 var x = U{ .array = undefined };
1716
test/behavior/bugs/13366.zig-1
......@@ -16,7 +16,6 @@ test {
1616 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
1717 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1818 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
2120 var a: u32 = 16;
2221 var reason = .{ .c_import = .{ .a = a } };
test/behavior/bugs/1381.zig-1
......@@ -15,7 +15,6 @@ test "union that needs padding bytes inside an array" {
1515 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1616 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1717 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1918
2019 var as = [_]A{
2120 A{ .B = B{ .D = 1 } },
test/behavior/bugs/1442.zig-1
......@@ -10,7 +10,6 @@ test "const error union field alignment" {
1010 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1111 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1212 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
1514 var union_or_err: anyerror!Union = Union{ .Color = 1234 };
1615 try std.testing.expect((union_or_err catch unreachable).Color == 1234);
test/behavior/bugs/1607.zig-1
......@@ -14,7 +14,6 @@ test "slices pointing at the same address as global array." {
1414 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1515 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1616 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1817
1918 try checkAddress(&a);
2019 try comptime checkAddress(&a);
test/behavior/bugs/1741.zig+1-1
......@@ -4,7 +4,7 @@ const builtin = @import("builtin");
44test "fixed" {
55 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // flaky
88
99 const x: f32 align(128) = 12.34;
1010 try std.testing.expect(@intFromPtr(&x) % 128 == 0);
test/behavior/bugs/2346.zig+2
......@@ -1,3 +1,5 @@
1const builtin = @import("builtin");
2
13test "fixed" {
24 const a: *void = undefined;
35 const b: *[1]void = a;
test/behavior/bugs/2578.zig-1
......@@ -15,7 +15,6 @@ test "fixed" {
1515 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1616 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1717 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1918
2019 bar(t);
2120}
test/behavior/bugs/2692.zig-1
......@@ -7,7 +7,6 @@ fn foo(a: []u8) void {
77test "address of 0 length array" {
88 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
99 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
1211 var pt: [0]u8 = undefined;
1312 foo(&pt);
test/behavior/bugs/3046.zig-1
......@@ -16,7 +16,6 @@ test "fixed" {
1616 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1717 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1818 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
2120 some_struct = SomeStruct{
2221 .field = couldFail() catch @as(i32, 0),
test/behavior/bugs/3367.zig-2
......@@ -10,8 +10,6 @@ const Mixin = struct {
1010};
1111
1212test "container member access usingnamespace decls" {
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14
1513 var foo = Foo{};
1614 foo.two();
1715}
test/behavior/bugs/3742.zig-1
......@@ -40,7 +40,6 @@ test "fixed" {
4040 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
4141 if (builtin.zig_backend == .stage2_llvm and
4242 builtin.cpu.arch == .aarch64 and builtin.os.tag == .windows) return error.SkipZigTest;
43 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4443
4544 ArgSerializer.serializeCommand(GET.init("banana"));
4645}
test/behavior/bugs/3779.zig-3
......@@ -34,7 +34,6 @@ const ptr_type_name: [*:0]const u8 = type_name;
3434test "@typeName() returns a string literal" {
3535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
3636 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3837
3938 try std.testing.expect(*const [type_name.len:0]u8 == @TypeOf(type_name));
4039 try std.testing.expect(std.mem.eql(u8, "behavior.bugs.3779.TestType", type_name));
......@@ -48,7 +47,6 @@ const expected_contents = "hello zig\n";
4847test "@embedFile() returns a string literal" {
4948 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
5049 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5250
5351 try std.testing.expect(*const [expected_contents.len:0]u8 == @TypeOf(actual_contents));
5452 try std.testing.expect(std.mem.eql(u8, expected_contents, actual_contents));
......@@ -63,7 +61,6 @@ fn testFnForSrc() std.builtin.SourceLocation {
6361test "@src() returns a struct containing 0-terminated string slices" {
6462 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
6563 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6764
6865 const src = testFnForSrc();
6966 try std.testing.expect([:0]const u8 == @TypeOf(src.file));
test/behavior/bugs/5487.zig-1
......@@ -13,6 +13,5 @@ test "crash" {
1313 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1414 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1515 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716 _ = io.multiWriter(.{writer()});
1817}
test/behavior/bugs/6905.zig-1
......@@ -5,7 +5,6 @@ test "sentinel-terminated 0-length slices" {
55 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
109 var u32s: [4]u32 = [_]u32{ 0, 1, 2, 3 };
1110
test/behavior/bugs/726.zig-2
......@@ -5,7 +5,6 @@ test "@ptrCast from const to nullable" {
55 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
77 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
109 const c: u8 = 4;
1110 var x: ?*const u8 = @as(?*const u8, @ptrCast(&c));
......@@ -16,7 +15,6 @@ test "@ptrCast from var in empty struct to nullable" {
1615 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1716 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1817 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2018
2119 const container = struct {
2220 var c: u8 = 4;
test/behavior/bugs/8646.zig-1
......@@ -10,7 +10,6 @@ test {
1010 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
1111 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1212 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
1514 try std.testing.expect(array[0].len == 1);
1615 try std.testing.expectEqualStrings("hello", array[0][0]);
test/behavior/call.zig-6
......@@ -90,7 +90,6 @@ test "result location of function call argument through runtime condition and st
9090 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9191 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
9292 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
93 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9493
9594 const E = enum { a, b };
9695 const S = struct {
......@@ -400,7 +399,6 @@ test "recursive inline call with comptime known argument" {
400399test "inline while with @call" {
401400 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
402401 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
403 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
404402
405403 const S = struct {
406404 fn inc(a: *u32) void {
......@@ -416,8 +414,6 @@ test "inline while with @call" {
416414}
417415
418416test "method call as parameter type" {
419 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
420
421417 const S = struct {
422418 fn foo(x: anytype, y: @TypeOf(x).Inner()) @TypeOf(y) {
423419 return y;
......@@ -436,7 +432,6 @@ test "non-anytype generic parameters provide result type" {
436432 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
437433 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
438434 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
439 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
440435
441436 const S = struct {
442437 fn f(comptime T: type, y: T) !void {
......@@ -467,7 +462,6 @@ test "argument to generic function has correct result type" {
467462 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
468463 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
469464 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
470 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
471465
472466 const S = struct {
473467 fn foo(_: anytype, e: enum { a, b }) bool {
test/behavior/cast.zig+3-21
......@@ -67,6 +67,8 @@ test "implicit cast comptime_int to comptime_float" {
6767}
6868
6969test "comptime_int @floatFromInt" {
70 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
71
7072 {
7173 const result = @as(f16, @floatFromInt(1234));
7274 try expect(@TypeOf(result) == f16);
......@@ -463,7 +465,6 @@ fn castToOptionalTypeError(z: i32) !void {
463465test "implicitly cast from [0]T to anyerror![]T" {
464466 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
465467 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
466 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
467468
468469 try testCastZeroArrayToErrSliceMut();
469470 try comptime testCastZeroArrayToErrSliceMut();
......@@ -481,7 +482,6 @@ test "peer type resolution: [0]u8, []const u8, and anyerror![]u8" {
481482 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
482483 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
483484 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
484 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
485485
486486 const S = struct {
487487 fn doTheTest() anyerror!void {
......@@ -562,7 +562,6 @@ fn testPeerErrorAndArray2(x: u8) anyerror![]const u8 {
562562test "single-item pointer of array to slice to unknown length pointer" {
563563 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
564564 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
565 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
566565
567566 try testCastPtrOfArrayToSliceAndPtr();
568567 try comptime testCastPtrOfArrayToSliceAndPtr();
......@@ -592,7 +591,6 @@ fn testCastPtrOfArrayToSliceAndPtr() !void {
592591test "cast *[1][*]const u8 to [*]const ?[*]const u8" {
593592 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
594593 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
595 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
596594
597595 const window_name = [1][*]const u8{"window name"};
598596 const x: [*]const ?[*]const u8 = &window_name;
......@@ -663,7 +661,6 @@ test "@floatCast cast down" {
663661test "peer type resolution: unreachable, error set, unreachable" {
664662 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
665663 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
666 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
667664
668665 const Error = error{
669666 FileDescriptorAlreadyPresentInSet,
......@@ -822,7 +819,6 @@ test "peer cast *[0]T to E![]const T" {
822819 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
823820 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
824821 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
825 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
826822
827823 var buffer: [5]u8 = "abcde".*;
828824 var buf: anyerror![]const u8 = buffer[0..];
......@@ -837,7 +833,6 @@ test "peer cast *[0]T to []const T" {
837833 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
838834 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
839835 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
840 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
841836
842837 var buffer: [5]u8 = "abcde".*;
843838 var buf: []const u8 = buffer[0..];
......@@ -859,7 +854,6 @@ test "peer resolution of string literals" {
859854 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
860855 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
861856 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
862 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
863857
864858 const S = struct {
865859 const E = enum { a, b, c, d };
......@@ -881,7 +875,6 @@ test "peer resolution of string literals" {
881875test "peer cast [:x]T to []T" {
882876 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
883877 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
884 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
885878
886879 const S = struct {
887880 fn doTheTest() !void {
......@@ -1185,7 +1178,6 @@ fn returnNullLitFromOptionalTypeErrorRef() anyerror!?*A {
11851178test "peer type resolution: [0]u8 and []const u8" {
11861179 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
11871180 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1188 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11891181
11901182 try expect(peerTypeEmptyArrayAndSlice(true, "hi").len == 0);
11911183 try expect(peerTypeEmptyArrayAndSlice(false, "hi").len == 1);
......@@ -1270,7 +1262,6 @@ fn incrementVoidPtrValue(value: ?*anyopaque) void {
12701262test "implicit cast *[0]T to E![]const u8" {
12711263 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
12721264 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1273 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12741265
12751266 var x = @as(anyerror![]const u8, &[0]u8{});
12761267 try expect((x catch unreachable).len == 0);
......@@ -1524,6 +1515,7 @@ test "implicit cast from [:0]T to [*c]T" {
15241515
15251516test "bitcast packed struct with u0" {
15261517 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1518 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15271519
15281520 const S = packed struct(u2) { a: u0, b: u2 };
15291521 const s = @as(S, @bitCast(@as(u2, 2)));
......@@ -1588,7 +1580,6 @@ test "peer type resolution: const sentinel slice and mutable non-sentinel slice"
15881580 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
15891581 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
15901582 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1591 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
15921583
15931584 const S = struct {
15941585 fn doTheTest(comptime T: type, comptime s: T) !void {
......@@ -1617,7 +1608,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" {
16171608 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
16181609 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
16191610 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1620 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
16211611
16221612 const i: u8 = 100;
16231613 var f: f32 = 1.234;
......@@ -1678,7 +1668,6 @@ test "peer type resolution: array and vector with same child type" {
16781668 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
16791669 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
16801670 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1681 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
16821671
16831672 var arr: [2]u32 = .{ 0, 1 };
16841673 var vec: @Vector(2, u32) = .{ 2, 3 };
......@@ -1743,7 +1732,6 @@ test "peer type resolution: C pointer and @TypeOf(null)" {
17431732 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
17441733 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
17451734 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1746 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
17471735
17481736 var a: [*c]c_int = 0x1000;
17491737 const b = null;
......@@ -1826,7 +1814,6 @@ test "peer type resolution: optional fixed-width int and comptime_int" {
18261814 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
18271815 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
18281816 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1829 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18301817
18311818 var a: ?i32 = 42;
18321819 const b: comptime_int = 50;
......@@ -1869,7 +1856,6 @@ test "peer type resolution: vector and tuple" {
18691856 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
18701857 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
18711858 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1872 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18731859
18741860 var vec: @Vector(3, i32) = .{ 1, 2, 3 };
18751861 const tup = .{ 4, 5, 6 };
......@@ -1892,7 +1878,6 @@ test "peer type resolution: vector and array and tuple" {
18921878 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
18931879 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
18941880 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1895 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18961881
18971882 var vec: @Vector(2, i8) = .{ 10, 20 };
18981883 var arr: [2]i8 = .{ 30, 40 };
......@@ -2086,7 +2071,6 @@ test "peer type resolution: C pointer and many pointer" {
20862071 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
20872072 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
20882073 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2089 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
20902074
20912075 var buf = "hello".*;
20922076
......@@ -2389,7 +2373,6 @@ test "@intFromBool on vector" {
23892373
23902374test "numeric coercions with undefined" {
23912375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2392 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
23932376
23942377 const from: i32 = undefined;
23952378 var to: f32 = from;
......@@ -2401,7 +2384,6 @@ test "numeric coercions with undefined" {
24012384test "15-bit int to float" {
24022385 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
24032386 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2404 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
24052387
24062388 var a: u15 = 42;
24072389 var b: f32 = @floatFromInt(a);
test/behavior/cast_int.zig+3
......@@ -149,6 +149,8 @@ const Piece = packed struct {
149149
150150test "load non byte-sized optional value" {
151151 // Originally reported at https://github.com/ziglang/zig/issues/14200
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153
152154 // note: this bug is triggered by the == operator, expectEqual will hide it
153155 var opt: ?Piece = try Piece.charToPiece('p');
154156 try expect(opt.?.type == .PAWN);
......@@ -162,6 +164,7 @@ test "load non byte-sized optional value" {
162164
163165test "load non byte-sized value in struct" {
164166 if (builtin.cpu.arch.endian() != .Little) return error.SkipZigTest; // packed struct TODO
167 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
165168
166169 // note: this bug is triggered by the == operator, expectEqual will hide it
167170 // using ptrCast not to depend on unitialised memory state
test/behavior/comptime_memory.zig-4
......@@ -426,8 +426,6 @@ test "mutate entire slice at comptime" {
426426}
427427
428428test "dereference undefined pointer to zero-bit type" {
429 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
430
431429 const p0: *void = undefined;
432430 try testing.expectEqual({}, p0.*);
433431
......@@ -436,8 +434,6 @@ test "dereference undefined pointer to zero-bit type" {
436434}
437435
438436test "type pun extern struct" {
439 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
440
441437 const S = extern struct { f: u8 };
442438 comptime var s = S{ .f = 123 };
443439 @as(*u8, @ptrCast(&s)).* = 72;
test/behavior/const_slice_child.zig-1
......@@ -10,7 +10,6 @@ test "const slice child" {
1010 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1111 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1212 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
1514 const strs = [_][*]const u8{ "one", "two", "three" };
1615 argv = &strs;
test/behavior/defer.zig-3
......@@ -34,7 +34,6 @@ test "defer and labeled break" {
3434test "errdefer does not apply to fn inside fn" {
3535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3636 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3837
3938 if (testNestedFnErrDefer()) |_| @panic("expected error") else |e| try expect(e == error.Bad);
4039}
......@@ -95,7 +94,6 @@ test "mixing normal and error defers" {
9594 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
9695 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9796 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9997
10098 try expect(runSomeErrorDefers(true) catch unreachable);
10199 try expect(result[0] == 'c');
......@@ -160,7 +158,6 @@ test "reference to errdefer payload" {
160158test "simple else prong doesn't emit an error for unreachable else prong" {
161159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
162160 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
164161
165162 const S = struct {
166163 fn foo() error{Foo}!void {
test/behavior/empty_union.zig-4
......@@ -44,8 +44,6 @@ test "empty extern union" {
4444}
4545
4646test "empty union passed as argument" {
47 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
48
4947 const U = union(enum) {
5048 fn f(u: @This()) void {
5149 switch (u) {}
......@@ -55,8 +53,6 @@ test "empty union passed as argument" {
5553}
5654
5755test "empty enum passed as argument" {
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
59
6056 const E = enum {
6157 fn f(e: @This()) void {
6258 switch (e) {}
test/behavior/enum.zig-8
......@@ -617,7 +617,6 @@ test "enum with specified tag values" {
617617test "non-exhaustive enum" {
618618 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
619619 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
620 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
621620
622621 const S = struct {
623622 const E = enum(u8) { a, b, _ };
......@@ -660,8 +659,6 @@ test "non-exhaustive enum" {
660659}
661660
662661test "empty non-exhaustive enum" {
663 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
664
665662 const S = struct {
666663 const E = enum(u8) { _ };
667664
......@@ -683,7 +680,6 @@ test "empty non-exhaustive enum" {
683680test "single field non-exhaustive enum" {
684681 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
685682 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
686 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
687683
688684 const S = struct {
689685 const E = enum(u8) { a, _ };
......@@ -856,8 +852,6 @@ fn doALoopThing(id: EnumWithOneMember) void {
856852}
857853
858854test "comparison operator on enum with one member is comptime-known" {
859 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
860
861855 doALoopThing(EnumWithOneMember.Eof);
862856}
863857
......@@ -1211,8 +1205,6 @@ test "enum tag from a local variable" {
12111205}
12121206
12131207test "auto-numbered enum with signed tag type" {
1214 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1215
12161208 const E = enum(i32) { a, b };
12171209
12181210 try std.testing.expectEqual(@as(i32, 0), @intFromEnum(E.a));
test/behavior/error.zig-10
......@@ -124,7 +124,6 @@ test "debug info for optional error set" {
124124
125125test "implicit cast to optional to error union to return result loc" {
126126 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
127 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
128127
129128 const S = struct {
130129 fn entry() !void {
......@@ -218,7 +217,6 @@ fn testErrorSetType() !void {
218217
219218test "explicit error set cast" {
220219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222220
223221 try testExplicitErrorSetCast(Set1.A);
224222 try comptime testExplicitErrorSetCast(Set1.A);
......@@ -320,7 +318,6 @@ test "error inference with an empty set" {
320318
321319test "error union peer type resolution" {
322320 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
323 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
324321
325322 try testErrorUnionPeerTypeResolution(1);
326323}
......@@ -404,7 +401,6 @@ test "nested error union function call in optional unwrap" {
404401 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
405402 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
406403 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
407 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
408404
409405 const S = struct {
410406 const Foo = struct {
......@@ -469,7 +465,6 @@ test "optional error set is the same size as error set" {
469465 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
470466 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
471467 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
472 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
473468
474469 try comptime expect(@sizeOf(?anyerror) == @sizeOf(anyerror));
475470 try comptime expect(@alignOf(?anyerror) == @alignOf(anyerror));
......@@ -485,7 +480,6 @@ test "optional error set is the same size as error set" {
485480test "nested catch" {
486481 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
487482 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
488 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
489483
490484 const S = struct {
491485 fn entry() !void {
......@@ -536,7 +530,6 @@ test "return result loc as peer result loc in inferred error set function" {
536530 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
537531 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
538532 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
539 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
540533
541534 const S = struct {
542535 fn doTheTest() !void {
......@@ -568,7 +561,6 @@ test "error payload type is correctly resolved" {
568561 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
569562 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
570563 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
571 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
572564
573565 const MyIntWrapper = struct {
574566 const Self = @This();
......@@ -736,7 +728,6 @@ test "ret_ptr doesn't cause own inferred error set to be resolved" {
736728
737729test "simple else prong allowed even when all errors handled" {
738730 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
739 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
740731
741732 const S = struct {
742733 fn foo() !u8 {
......@@ -920,7 +911,6 @@ test "optional error union return type" {
920911test "optional error set return type" {
921912 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
922913 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
923 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
924914
925915 const E = error{ A, B };
926916 const S = struct {
test/behavior/eval.zig-8
......@@ -441,7 +441,6 @@ test "binary math operator in partially inlined function" {
441441 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
442442 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
443443 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
444 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
445444
446445 var s: [4]u32 = undefined;
447446 var b: [16]u8 = undefined;
......@@ -710,7 +709,6 @@ fn loopNTimes(comptime n: usize) void {
710709}
711710
712711test "variable inside inline loop that has different types on different iterations" {
713 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
714712 try testVarInsideInlineLoop(.{ true, @as(u32, 42) });
715713}
716714
......@@ -760,7 +758,6 @@ test "array concatenation peer resolves element types - value" {
760758 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
761759 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
762760 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
763 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
764761
765762 var a = [2]u3{ 1, 7 };
766763 var b = [3]u8{ 200, 225, 255 };
......@@ -777,7 +774,6 @@ test "array concatenation peer resolves element types - pointer" {
777774 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
778775 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
779776 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
780 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
781777
782778 var a = [2]u3{ 1, 7 };
783779 var b = [3]u8{ 200, 225, 255 };
......@@ -794,7 +790,6 @@ test "array concatenation sets the sentinel - value" {
794790 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
795791 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
796792 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
797 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
798793
799794 var a = [2]u3{ 1, 7 };
800795 var b = [3:69]u8{ 200, 225, 255 };
......@@ -812,7 +807,6 @@ test "array concatenation sets the sentinel - value" {
812807test "array concatenation sets the sentinel - pointer" {
813808 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
814809 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
815 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
816810
817811 var a = [2]u3{ 1, 7 };
818812 var b = [3:69]u8{ 200, 225, 255 };
......@@ -1668,8 +1662,6 @@ test "early exit in container level const" {
16681662}
16691663
16701664test "@inComptime" {
1671 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1672
16731665 const S = struct {
16741666 fn inComptime() bool {
16751667 return @inComptime();
test/behavior/floatop.zig+18-2
......@@ -29,6 +29,7 @@ test "add f32/f64" {
2929
3030test "add f80/f128/c_longdouble" {
3131 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
32 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3233
3334 try testAdd(f80);
3435 try comptime testAdd(f80);
......@@ -60,6 +61,7 @@ test "sub f32/f64" {
6061
6162test "sub f80/f128/c_longdouble" {
6263 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
64 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6365
6466 try testSub(f80);
6567 try comptime testSub(f80);
......@@ -91,6 +93,7 @@ test "mul f32/f64" {
9193
9294test "mul f80/f128/c_longdouble" {
9395 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
96 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9497
9598 try testMul(f80);
9699 try comptime testMul(f80);
......@@ -200,7 +203,6 @@ test "different sized float comparisons" {
200203 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
201204 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
202205 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
204206 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
205207
206208 try testDifferentSizedFloatComparisons();
......@@ -235,6 +237,7 @@ fn testDifferentSizedFloatComparisons() !void {
235237test "negative f128 intFromFloat at compile-time" {
236238 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
237239 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
240 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
238241
239242 const a: f128 = -2;
240243 var b = @as(i64, @intFromFloat(a));
......@@ -908,6 +911,7 @@ test "@abs f16" {
908911 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
909912 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
910913 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
914 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
911915
912916 try testFabs(f16);
913917 try comptime testFabs(f16);
......@@ -917,6 +921,7 @@ test "@abs f32/f64" {
917921 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
918922 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
919923 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
924 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
920925
921926 try testFabs(f32);
922927 try comptime testFabs(f32);
......@@ -930,6 +935,7 @@ test "@abs f80/f128/c_longdouble" {
930935 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
931936 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
932937 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
938 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
933939
934940 try testFabs(f80);
935941 try comptime testFabs(f80);
......@@ -1007,6 +1013,7 @@ test "@floor f16" {
10071013 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10081014 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10091015 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1016 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10101017
10111018 try testFloor(f16);
10121019 try comptime testFloor(f16);
......@@ -1017,6 +1024,7 @@ test "@floor f32/f64" {
10171024 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10181025 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10191026 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1027 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10201028
10211029 try testFloor(f32);
10221030 try comptime testFloor(f32);
......@@ -1030,6 +1038,7 @@ test "@floor f80/f128/c_longdouble" {
10301038 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
10311039 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10321040 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1041 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10331042
10341043 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
10351044 // https://github.com/ziglang/zig/issues/12602
......@@ -1089,6 +1098,7 @@ test "@ceil f16" {
10891098 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10901099 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10911100 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1101 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10921102
10931103 try testCeil(f16);
10941104 try comptime testCeil(f16);
......@@ -1099,6 +1109,7 @@ test "@ceil f32/f64" {
10991109 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11001110 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11011111 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1112 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11021113
11031114 try testCeil(f32);
11041115 try comptime testCeil(f32);
......@@ -1112,6 +1123,7 @@ test "@ceil f80/f128/c_longdouble" {
11121123 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
11131124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11141125 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1126 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11151127
11161128 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
11171129 // https://github.com/ziglang/zig/issues/12602
......@@ -1148,8 +1160,8 @@ fn testCeil(comptime T: type) !void {
11481160test "@ceil with vectors" {
11491161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11501162 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1151 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11521163 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1164 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11531165 if (builtin.zig_backend == .stage2_x86_64 and
11541166 !comptime std.Target.x86.featureSetHas(builtin.cpu.features, .sse4_1)) return error.SkipZigTest;
11551167
......@@ -1171,6 +1183,7 @@ test "@trunc f16" {
11711183 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11721184 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11731185 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1186 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11741187
11751188 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
11761189 // https://github.com/ziglang/zig/issues/16846
......@@ -1186,6 +1199,7 @@ test "@trunc f32/f64" {
11861199 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11871200 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11881201 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1202 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11891203
11901204 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
11911205 // https://github.com/ziglang/zig/issues/16846
......@@ -1204,6 +1218,7 @@ test "@trunc f80/f128/c_longdouble" {
12041218 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
12051219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12061220 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12071222
12081223 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
12091224 // https://github.com/ziglang/zig/issues/12602
......@@ -1390,6 +1405,7 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {
13901405 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
13911406 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
13921407 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1408 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13931409
13941410 inline for (.{ f16, f32, f64, f80, f128 }) |F| {
13951411 const pos = @as(F, 1) / @as(F, 0);
test/behavior/fn.zig-11
......@@ -201,7 +201,6 @@ fn addPointCoords(pt: Point) i32 {
201201
202202test "pass by non-copying value through var arg" {
203203 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
204 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
205204
206205 try expect((try addPointCoordsVar(Point{ .x = 1, .y = 2 })) == 3);
207206}
......@@ -257,7 +256,6 @@ test "implicit cast fn call result to optional in field result" {
257256 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
258257 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
259258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261259
262260 const S = struct {
263261 fn entry() !void {
......@@ -284,7 +282,6 @@ test "implicit cast fn call result to optional in field result" {
284282test "void parameters" {
285283 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
286284 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
287 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
288285
289286 try voidFun(1, void{}, 2, {});
290287}
......@@ -348,7 +345,6 @@ test "function call with anon list literal" {
348345 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
349346 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
350347 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352348
353349 const S = struct {
354350 fn doTheTest() !void {
......@@ -369,7 +365,6 @@ test "function call with anon list literal - 2D" {
369365 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
370366 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
371367 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
372 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
373368
374369 const S = struct {
375370 fn doTheTest() !void {
......@@ -415,7 +410,6 @@ test "function with inferred error set but returning no error" {
415410
416411test "import passed byref to function in return type" {
417412 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
418 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
419413
420414 const S = struct {
421415 fn get() @import("std").ArrayListUnmanaged(i32) {
......@@ -451,7 +445,6 @@ test "implicit cast function to function ptr" {
451445test "method call with optional and error union first param" {
452446 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
453447 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
454 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
455448
456449 const S = struct {
457450 x: i32 = 1234,
......@@ -471,7 +464,6 @@ test "method call with optional and error union first param" {
471464test "method call with optional pointer first param" {
472465 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
473466 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
474 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
475467
476468 const S = struct {
477469 x: i32 = 1234,
......@@ -528,7 +520,6 @@ test "function returns function returning type" {
528520
529521test "peer type resolution of inferred error set with non-void payload" {
530522 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
531 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
532523
533524 const S = struct {
534525 fn openDataFile(mode: enum { read, write }) !u32 {
......@@ -571,8 +562,6 @@ test "lazy values passed to anytype parameter" {
571562}
572563
573564test "pass and return comptime-only types" {
574 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
575
576565 const S = struct {
577566 fn returnNull(comptime x: @Type(.Null)) @Type(.Null) {
578567 return x;
test/behavior/for.zig-11
......@@ -7,7 +7,6 @@ const mem = std.mem;
77test "continue in for loop" {
88 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
99 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
1211 const array = [_]i32{ 1, 2, 3, 4, 5 };
1312 var sum: i32 = 0;
......@@ -113,7 +112,6 @@ test "for with null and T peer types and inferred result location type" {
113112 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
114113 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
115114 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
116 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
117115
118116 const S = struct {
119117 fn doTheTest(slice: []const u8) !void {
......@@ -134,7 +132,6 @@ test "for with null and T peer types and inferred result location type" {
134132test "2 break statements and an else" {
135133 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136134 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138135
139136 const S = struct {
140137 fn entry(t: bool, f: bool) !void {
......@@ -182,7 +179,6 @@ fn mangleString(s: []u8) void {
182179test "for copies its payload" {
183180 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
184181 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
185 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
186182
187183 const S = struct {
188184 fn doTheTest() !void {
......@@ -217,7 +213,6 @@ test "for on slice with allowzero ptr" {
217213test "else continue outer for" {
218214 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
219215 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
220 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
221216
222217 var i: usize = 6;
223218 var buf: [5]u8 = undefined;
......@@ -279,7 +274,6 @@ test "two counters" {
279274test "1-based counter and ptr to array" {
280275 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
281276 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
282 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
283277
284278 var ok: usize = 0;
285279
......@@ -360,7 +354,6 @@ test "raw pointer and slice" {
360354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
361355 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
362356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
363 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
364357
365358 var buf: [10]u8 = undefined;
366359 const slice: []const u8 = "blah";
......@@ -380,7 +373,6 @@ test "raw pointer and counter" {
380373 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
381374 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
382375 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
383 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
384376
385377 var buf: [10]u8 = undefined;
386378 const ptr: [*]u8 = &buf;
......@@ -429,7 +421,6 @@ test "inline for with counter as the comptime-known" {
429421 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
430422 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
431423 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
432 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
433424
434425 var runtime_slice = "hello";
435426 var runtime_i: usize = 3;
......@@ -460,7 +451,6 @@ test "inline for on tuple pointer" {
460451 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
461452 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
462453 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
463 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
464454
465455 const S = struct { u32, u32, u32 };
466456 var s: S = .{ 100, 200, 300 };
......@@ -476,7 +466,6 @@ test "ref counter that starts at zero" {
476466 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
477467 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
478468 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
479 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
480469
481470 for ([_]usize{ 0, 1, 2 }, 0..) |i, j| {
482471 try expectEqual(i, j);
test/behavior/generics.zig-4
......@@ -153,7 +153,6 @@ test "generic fn with implicit cast" {
153153 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
154154 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
155155 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
156 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
157156
158157 try expect(getFirstByte(u8, &[_]u8{13}) == 13);
159158 try expect(getFirstByte(u16, &[_]u16{
......@@ -280,7 +279,6 @@ test "generic function instantiation turns into comptime call" {
280279
281280test "generic function with void and comptime parameter" {
282281 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
283 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
284282
285283 const S = struct { x: i32 };
286284 const namespace = struct {
......@@ -315,7 +313,6 @@ test "generic function instantiation non-duplicates" {
315313 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
316314 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
317315 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
318 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
319316 if (builtin.os.tag == .wasi) return error.SkipZigTest;
320317
321318 const S = struct {
......@@ -433,7 +430,6 @@ test "generic function passed as comptime argument" {
433430
434431test "return type of generic function is function pointer" {
435432 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
436 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
437433
438434 const S = struct {
439435 fn b(comptime T: type) ?*const fn () error{}!T {
test/behavior/if.zig-3
......@@ -45,7 +45,6 @@ var global_with_err: anyerror!u32 = error.SomeError;
4545
4646test "unwrap mutable global var" {
4747 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4948
5049 if (global_with_val) |v| {
5150 try expect(v == 0);
......@@ -116,7 +115,6 @@ test "if peer expressions inferred optional type" {
116115 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
117116 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
118117 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
119 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
120118
121119 var self: []const u8 = "abcdef";
122120 var index: usize = 0;
......@@ -134,7 +132,6 @@ test "if-else expression with runtime condition result location is inferred opti
134132 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
135133 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136134 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138135
139136 const A = struct { b: u64, c: u64 };
140137 var d: bool = true;
test/behavior/inline_switch.zig-1
......@@ -84,7 +84,6 @@ test "inline else bool" {
8484test "inline else error" {
8585 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8686 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8887
8988 const Err = error{ a, b, c };
9089 var a = Err.a;
test/behavior/int_comparison_elision.zig+1-2
......@@ -4,8 +4,6 @@ const maxInt = std.math.maxInt;
44const builtin = @import("builtin");
55
66test "int comparison elision" {
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8
97 testIntEdges(u0);
108 testIntEdges(i0);
119 testIntEdges(u1);
......@@ -17,6 +15,7 @@ test "int comparison elision" {
1715 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1816 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1917 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
2120 // TODO: panic: integer overflow with int types > 65528 bits wide
2221 // TODO: LLVM generates too many parameters for wasmtime when splitting up int > 64000 bits wide
test/behavior/ir_block_deps.zig-1
......@@ -21,7 +21,6 @@ test "ir block deps" {
2121 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
2222 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
2323 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2524
2625 try expect((foo(1) catch unreachable) == 0);
2726 try expect((foo(2) catch unreachable) == 0);
test/behavior/lower_strlit_to_vector.zig-1
......@@ -6,7 +6,6 @@ test "strlit to vector" {
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 const strlit = "0123456789abcdef0123456789ABCDEF";
1211 const vec_from_strlit: @Vector(32, u8) = strlit.*;
test/behavior/math.zig+2-3
......@@ -1119,6 +1119,8 @@ test "@shlWithOverflow" {
11191119}
11201120
11211121test "overflow arithmetic with u0 values" {
1122 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1123
11221124 {
11231125 var a: u0 = 0;
11241126 const ov = @addWithOverflow(a, 0);
......@@ -1287,8 +1289,6 @@ fn testShrExact(x: u8) !void {
12871289}
12881290
12891291test "shift left/right on u0 operand" {
1290 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1291
12921292 const S = struct {
12931293 fn doTheTest() !void {
12941294 var x: u0 = 0;
......@@ -1565,7 +1565,6 @@ test "vector comparison" {
15651565 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
15661566 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
15671567 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1568 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15691568
15701569 const S = struct {
15711570 fn doTheTest() !void {
test/behavior/maximum_minimum.zig-7
......@@ -147,8 +147,6 @@ test "@min/@max on lazy values" {
147147}
148148
149149test "@min/@max more than two arguments" {
150 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
151
152150 const x: u32 = 30;
153151 const y: u32 = 10;
154152 const z: u32 = 20;
......@@ -161,7 +159,6 @@ test "@min/@max more than two vector arguments" {
161159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
162160 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
163161 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
164 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
165162
166163 const x: @Vector(2, u32) = .{ 3, 2 };
167164 const y: @Vector(2, u32) = .{ 4, 1 };
......@@ -174,7 +171,6 @@ test "@min/@max notices bounds" {
174171 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
175172 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
176173 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
177 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
178174
179175 var x: u16 = 20;
180176 const y = 30;
......@@ -224,7 +220,6 @@ test "@min/@max notices bounds from types" {
224220 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
225221 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
226222 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
227 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
228223
229224 var x: u16 = 123;
230225 var y: u32 = 456;
......@@ -305,8 +300,6 @@ test "@min/@max notices bounds from vector types when element of comptime-known
305300}
306301
307302test "@min/@max of signed and unsigned runtime integers" {
308 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
309
310303 var x: i32 = -1;
311304 var y: u31 = 1;
312305
test/behavior/merge_error_sets.zig-1
......@@ -13,7 +13,6 @@ fn foo() C!void {
1313
1414test "merge error sets" {
1515 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
1817 if (foo()) {
1918 @panic("unexpected");
test/behavior/null.zig-4
......@@ -53,7 +53,6 @@ test "maybe return" {
5353 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
5454 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
5555 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
56 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5756
5857 try maybeReturnImpl();
5958 try comptime maybeReturnImpl();
......@@ -84,7 +83,6 @@ fn testTestNullRuntime(x: ?i32) !void {
8483test "optional void" {
8584 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
8685 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8886
8987 try optionalVoidImpl();
9088 try comptime optionalVoidImpl();
......@@ -108,7 +106,6 @@ const Empty = struct {};
108106test "optional struct{}" {
109107 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
110108 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
111 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
112109
113110 _ = try optionalEmptyStructImpl();
114111 _ = try comptime optionalEmptyStructImpl();
......@@ -134,7 +131,6 @@ test "null with default unwrap" {
134131
135132test "optional pointer to 0 bit type null value at runtime" {
136133 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138134
139135 const EmptyStruct = struct {};
140136 var x: ?*EmptyStruct = null;
test/behavior/optional.zig-12
......@@ -34,8 +34,6 @@ test "optional pointer to size zero struct" {
3434}
3535
3636test "equality compare optional pointers" {
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
38
3937 try testNullPtrsEql();
4038 try comptime testNullPtrsEql();
4139}
......@@ -60,7 +58,6 @@ test "optional with void type" {
6058 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
6159 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
6260 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
63 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6461
6562 const Foo = struct {
6663 x: ?void,
......@@ -95,7 +92,6 @@ test "nested optional field in struct" {
9592 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
9693 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9794 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9995
10096 const S2 = struct {
10197 y: u8,
......@@ -113,7 +109,6 @@ test "equality compare optional with non-optional" {
113109 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
114110 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
115111 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
116 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
117112
118113 try test_cmp_optional_non_optional();
119114 try comptime test_cmp_optional_non_optional();
......@@ -172,7 +167,6 @@ test "unwrap function call with optional pointer return value" {
172167test "nested orelse" {
173168 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
174169 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
176170
177171 const S = struct {
178172 fn entry() !void {
......@@ -255,7 +249,6 @@ test "0-bit child type coerced to optional return ptr result location" {
255249 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
256250 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
257251 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
259252
260253 const S = struct {
261254 fn doTheTest() !void {
......@@ -308,7 +301,6 @@ test "array of optional unaligned types" {
308301 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
309302 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
310303 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
311 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
312304
313305 const Enum = enum { one, two, three };
314306
......@@ -444,7 +436,6 @@ test "Optional slice size is optimized" {
444436 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
445437 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
446438 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
447 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
448439
449440 try expect(@sizeOf(?[]u8) == @sizeOf([]u8));
450441 var a: ?[]const u8 = null;
......@@ -456,7 +447,6 @@ test "Optional slice size is optimized" {
456447test "peer type resolution in nested if expressions" {
457448 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
458449 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
459 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
460450
461451 const Thing = struct { n: i32 };
462452 var a = false;
......@@ -496,8 +486,6 @@ test "cast slice to const slice nested in error union and optional" {
496486}
497487
498488test "variable of optional of noreturn" {
499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
500
501489 var null_opv: ?noreturn = null;
502490 try std.testing.expectEqual(@as(?noreturn, null), null_opv);
503491}
test/behavior/packed-struct.zig+5
......@@ -622,6 +622,7 @@ test "@intFromPtr on a packed struct field unaligned and nested" {
622622
623623test "packed struct fields modification" {
624624 // Originally reported at https://github.com/ziglang/zig/issues/16615
625 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
625626
626627 const Small = packed struct {
627628 val: u8 = 0,
......@@ -980,6 +981,8 @@ test "store undefined to packed result location" {
980981}
981982
982983test "bitcast back and forth" {
984 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
985
983986 // Originally reported at https://github.com/ziglang/zig/issues/9914
984987 const S = packed struct { one: u6, two: u1 };
985988 const s = S{ .one = 0b110101, .two = 0b1 };
......@@ -991,6 +994,7 @@ test "bitcast back and forth" {
991994
992995test "field access of packed struct smaller than its abi size inside struct initialized with rls" {
993996 // Originally reported at https://github.com/ziglang/zig/issues/14200
997 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
994998
995999 const S = struct {
9961000 ps: packed struct { x: i2, y: i2 },
......@@ -1039,6 +1043,7 @@ test "modify nested packed struct aligned field" {
10391043
10401044test "assigning packed struct inside another packed struct" {
10411045 // Originally reported at https://github.com/ziglang/zig/issues/9674
1046 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10421047
10431048 const S = struct {
10441049 const Inner = packed struct {
test/behavior/packed-union.zig+1
......@@ -88,6 +88,7 @@ test "flags in packed union at offset" {
8888
8989test "packed union in packed struct" {
9090 // Originally reported at https://github.com/ziglang/zig/issues/16581
91 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9192
9293 const ReadRequest = packed struct { key: i32 };
9394 const RequestType = enum {
test/behavior/pointers.zig-5
......@@ -191,7 +191,6 @@ test "allowzero pointer and slice" {
191191 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
192192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
193193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
194 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
195194
196195 var ptr = @as([*]allowzero i32, @ptrFromInt(0));
197196 var opt_ptr: ?[*]allowzero i32 = ptr;
......@@ -276,7 +275,6 @@ test "array initialization types" {
276275test "null terminated pointer" {
277276 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
278277 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
279 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
280278
281279 const S = struct {
282280 fn doTheTest() !void {
......@@ -411,7 +409,6 @@ test "indexing array with sentinel returns correct type" {
411409 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
412410 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
413411 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
414 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
415412
416413 var s: [:0]const u8 = "abc";
417414 try testing.expectEqualSlices(u8, "*const u8", @typeName(@TypeOf(&s[0])));
......@@ -496,7 +493,6 @@ test "ptrCast comptime known slice to C pointer" {
496493 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
497494 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
498495 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
500496
501497 const s: [:0]const u8 = "foo";
502498 var p = @as([*c]const u8, @ptrCast(s));
......@@ -507,7 +503,6 @@ test "intFromPtr on a generic function" {
507503 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
508504 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
509505 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
510 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
511506
512507 const S = struct {
513508 fn generic(i: anytype) @TypeOf(i) {
test/behavior/ptrcast.zig+2-2
......@@ -233,7 +233,6 @@ test "implicit optional pointer to optional anyopaque pointer" {
233233 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
234234 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
235235 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
236 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
237236
238237 var buf: [4]u8 = "aoeu".*;
239238 var x: ?[*]u8 = &buf;
......@@ -246,7 +245,6 @@ test "@ptrCast slice to slice" {
246245 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
247246 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
248247 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
249 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
250248
251249 const S = struct {
252250 fn foo(slice: []u32) []i32 {
......@@ -286,6 +284,8 @@ test "@ptrCast undefined value at comptime" {
286284}
287285
288286test "comptime @ptrCast with packed struct leaves value unmodified" {
287 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
288
289289 const S = packed struct { three: u3 };
290290 const st: S = .{ .three = 6 };
291291 try expect(st.three == 6);
test/behavior/ptrfromint.zig-2
......@@ -33,7 +33,6 @@ test "@ptrFromInt creates null pointer" {
3333 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
3434 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3535 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3736
3837 const ptr = @as(?*u32, @ptrFromInt(0));
3938 try expectEqual(@as(?*u32, null), ptr);
......@@ -43,7 +42,6 @@ test "@ptrFromInt creates allowzero zero pointer" {
4342 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
4443 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
4544 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
46 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4745
4846 const ptr = @as(*allowzero u32, @ptrFromInt(0));
4947 try expectEqual(@as(usize, 0), @intFromPtr(ptr));
test/behavior/sizeof_and_typeof.zig-3
......@@ -18,8 +18,6 @@ test "@sizeOf on compile-time types" {
1818}
1919
2020test "@TypeOf() with multiple arguments" {
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
22
2321 {
2422 var var_1: u32 = undefined;
2523 var var_2: u8 = undefined;
......@@ -268,7 +266,6 @@ test "runtime instructions inside typeof in comptime only scope" {
268266 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
269267 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
270268 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
271 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
272269
273270 {
274271 var y: i8 = 2;
test/behavior/slice.zig-9
......@@ -227,7 +227,6 @@ test "runtime safety lets us slice from len..len" {
227227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
228228 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
229229 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
230 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
231230
232231 var an_array = [_]u8{ 1, 2, 3 };
233232 try expect(mem.eql(u8, sliceFromLenToLen(an_array[0..], 3, 3), ""));
......@@ -240,7 +239,6 @@ fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) []u8 {
240239test "C pointer" {
241240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
242241 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
243 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
244242
245243 var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf";
246244 var len: u32 = 10;
......@@ -252,7 +250,6 @@ test "C pointer slice access" {
252250 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
253251 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
254252 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
255 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
256253
257254 var buf: [10]u32 = [1]u32{42} ** 10;
258255 const c_ptr = @as([*c]const u32, @ptrCast(&buf));
......@@ -282,7 +279,6 @@ fn sliceSum(comptime q: []const u8) i32 {
282279test "slice type with custom alignment" {
283280 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
284281 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
285 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
286282
287283 const LazilyResolvedType = struct {
288284 anything: i32,
......@@ -356,7 +352,6 @@ test "slice syntax resulting in pointer-to-array" {
356352 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
357353 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
358354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
359 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
360355
361356 const S = struct {
362357 fn doTheTest() !void {
......@@ -615,7 +610,6 @@ test "type coercion of pointer to anon struct literal to pointer to slice" {
615610 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
616611 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
617612 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
618 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
619613
620614 const S = struct {
621615 const U = union {
......@@ -830,7 +824,6 @@ test "empty slice ptr is non null" {
830824test "slice decays to many pointer" {
831825 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
832826 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
833 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
834827
835828 var buf: [8]u8 = "abcdefg\x00".*;
836829 const p: [*:0]const u8 = buf[0..7 :0];
......@@ -841,7 +834,6 @@ test "write through pointer to optional slice arg" {
841834 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
842835 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
843836 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
844 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
845837
846838 const S = struct {
847839 fn bar(foo: *?[]const u8) !void {
......@@ -861,7 +853,6 @@ test "modify slice length at comptime" {
861853 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
862854 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
863855 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
864 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
865856
866857 const arr: [2]u8 = .{ 10, 20 };
867858 comptime var s: []const u8 = arr[0..0];
test/behavior/src.zig-2
......@@ -33,8 +33,6 @@ test "@src used as a comptime parameter" {
3333}
3434
3535test "@src in tuple passed to anytype function" {
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
37
3836 const S = struct {
3937 fn Foo(a: anytype) u32 {
4038 return a[0].line;
test/behavior/struct.zig-3
......@@ -134,8 +134,6 @@ test "invoke static method in global scope" {
134134const empty_global_instance = StructWithNoFields{};
135135
136136test "return empty struct instance" {
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138
139137 _ = returnEmptyStructInstance();
140138}
141139fn returnEmptyStructInstance() StructWithNoFields {
......@@ -328,7 +326,6 @@ const VoidStructFieldsFoo = struct {
328326
329327test "return empty struct from fn" {
330328 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
331 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
332329
333330 _ = testReturnEmptyStructFromFn();
334331}
test/behavior/switch.zig-7
......@@ -623,7 +623,6 @@ test "switch capture copies its payload" {
623623 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
624624 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
625625 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
626 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
627626
628627 const S = struct {
629628 fn doTheTest() !void {
......@@ -710,8 +709,6 @@ test "comptime inline switch" {
710709}
711710
712711test "switch capture peer type resolution" {
713 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
714
715712 const U = union(enum) {
716713 a: u32,
717714 b: u64,
......@@ -727,8 +724,6 @@ test "switch capture peer type resolution" {
727724}
728725
729726test "switch capture peer type resolution for in-memory coercible payloads" {
730 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
731
732727 const T1 = c_int;
733728 const T2 = @Type(@typeInfo(T1));
734729
......@@ -777,8 +772,6 @@ test "switch pointer capture peer type resolution" {
777772}
778773
779774test "inline switch range that includes the maximum value of the switched type" {
780 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
781
782775 const inputs: [3]u8 = .{ 0, 254, 255 };
783776 for (inputs) |input| {
784777 switch (input) {
test/behavior/switch_prong_err_enum.zig-1
......@@ -24,7 +24,6 @@ test "switch prong returns error enum" {
2424 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
2525 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
2626 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2827
2928 switch (doThing(17) catch unreachable) {
3029 FormValue.Address => |payload| {
test/behavior/switch_prong_implicit_cast.zig-1
......@@ -18,7 +18,6 @@ test "switch prong implicit cast" {
1818 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1919 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
2020 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2221
2322 const result = switch (foo(2) catch unreachable) {
2423 FormValue.One => false,
test/behavior/threadlocal.zig-1
......@@ -33,7 +33,6 @@ test "pointer to thread local array" {
3333 else => return error.SkipZigTest,
3434 }; // TODO
3535 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3736
3837 const s = "Hello world";
3938 std.mem.copy(u8, buffer[0..], s);
test/behavior/try.zig-3
......@@ -4,7 +4,6 @@ const expect = std.testing.expect;
44
55test "try on error union" {
66 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
87
98 try tryOnErrorUnionImpl();
109 try comptime tryOnErrorUnionImpl();
......@@ -40,8 +39,6 @@ fn failIfTrue(ok: bool) anyerror!void {
4039}
4140
4241test "try then not executed with assignment" {
43 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
44
4542 if (failIfTrue(true)) {
4643 unreachable;
4744 } else |err| {
test/behavior/tuple.zig-10
......@@ -10,7 +10,6 @@ test "tuple concatenation" {
1010 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1111 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1212 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
1514 const S = struct {
1615 fn doTheTest() !void {
......@@ -269,7 +268,6 @@ test "tuple in tuple passed to generic function" {
269268 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
270269 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
271270 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
272 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
273271
274272 const S = struct {
275273 fn pair(x: f32, y: f32) std.meta.Tuple(&.{ f32, f32 }) {
......@@ -310,8 +308,6 @@ test "tuple type with void field" {
310308}
311309
312310test "zero sized struct in tuple handled correctly" {
313 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
314
315311 const State = struct {
316312 const Self = @This();
317313 data: @Type(.{
......@@ -351,7 +347,6 @@ test "branching inside tuple literal" {
351347 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
352348 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
353349 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
354 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
355350
356351 const S = struct {
357352 fn foo(a: anytype) !void {
......@@ -366,7 +361,6 @@ test "tuple initialized with a runtime known value" {
366361 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
367362 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
368363 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
369 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
370364
371365 const E = union(enum) { e: []const u8 };
372366 const W = union(enum) { w: E };
......@@ -380,7 +374,6 @@ test "tuple of struct concatenation and coercion to array" {
380374 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
381375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
382376 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
383 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
384377
385378 const StructWithDefault = struct { value: f32 = 42 };
386379 const SomeStruct = struct { array: [4]StructWithDefault };
......@@ -395,7 +388,6 @@ test "nested runtime conditionals in tuple initializer" {
395388 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
396389 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
397390 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
398 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
399391
400392 var data: u8 = 0;
401393 const x = .{
......@@ -430,7 +422,6 @@ test "tuple pointer is indexable" {
430422 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
431423 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
432424 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
433 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
434425
435426 const S = struct { u32, bool };
436427
......@@ -454,7 +445,6 @@ test "coerce anon tuple to tuple" {
454445 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
455446 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
456447 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
457 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
458448
459449 var x: u8 = 1;
460450 var y: u16 = 2;
test/behavior/tuple_declarations.zig-2
......@@ -7,7 +7,6 @@ const expectEqualStrings = testing.expectEqualStrings;
77test "tuple declaration type info" {
88 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
99 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
1211 {
1312 const T = struct { comptime u32 align(2) = 1, []const u8 };
......@@ -36,7 +35,6 @@ test "tuple declaration type info" {
3635test "Tuple declaration usage" {
3736 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3837 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
39 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4038
4139 const T = struct { u32, []const u8 };
4240 var t: T = .{ 1, "foo" };
test/behavior/type.zig-3
......@@ -202,7 +202,6 @@ test "Type.Opaque" {
202202 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
203203 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
204204 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
205 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
206205
207206 const Opaque = @Type(.{
208207 .Opaque = .{
......@@ -260,7 +259,6 @@ test "Type.Struct" {
260259 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
261260 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
262261 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
263 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
264262
265263 const A = @Type(@typeInfo(struct { x: u8, y: u32 }));
266264 const infoA = @typeInfo(A).Struct;
......@@ -348,7 +346,6 @@ test "Type.Struct" {
348346test "Type.Enum" {
349347 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
350348 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352349
353350 const Foo = @Type(.{
354351 .Enum = .{
test/behavior/type_info.zig-1
......@@ -565,7 +565,6 @@ test "value from struct @typeInfo default_value can be loaded at comptime" {
565565test "@typeInfo decls and usingnamespace" {
566566 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
567567 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
568 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
569568
570569 const A = struct {
571570 pub const x = 5;
test/behavior/type_info_only_pub_decls.zig-2
......@@ -15,8 +15,6 @@ const other = struct {
1515};
1616
1717test {
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
19
2018 const ti = @typeInfo(other);
2119 const decls = ti.Struct.decls;
2220
test/behavior/typename.zig-2
......@@ -67,7 +67,6 @@ test "basic" {
6767 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
6868 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
6969 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
70 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7170
7271 try expectEqualStrings("i64", @typeName(i64));
7372 try expectEqualStrings("*usize", @typeName(*usize));
......@@ -231,7 +230,6 @@ test "comptime parameters not converted to anytype in function type" {
231230 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
232231 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
233232 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
234 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
235233
236234 const T = fn (fn (type) void, void) void;
237235 try expectEqualStrings("fn (comptime fn (comptime type) void, void) void", @typeName(T));
test/behavior/union.zig+10-7
......@@ -97,7 +97,6 @@ const FooExtern = extern union {
9797test "basic extern unions" {
9898 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
9999 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
100 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
101100
102101 var foo = FooExtern{ .int = 1 };
103102 try expect(foo.int == 1);
......@@ -218,7 +217,6 @@ test "union with specified enum tag" {
218217 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
219218 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
220219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222220
223221 try doTest();
224222 try comptime doTest();
......@@ -381,7 +379,6 @@ test "tagged union initialization with runtime void" {
381379 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
382380 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
383381 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
384 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
385382
386383 try expect(testTaggedUnionInit({}));
387384}
......@@ -466,7 +463,6 @@ test "initialize global array of union" {
466463 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
467464 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
468465 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
469 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
470466
471467 glbl_array[1] = FooUnion{ .U1 = 2 };
472468 glbl_array[0] = FooUnion{ .U0 = 1 };
......@@ -966,7 +962,6 @@ test "cast from anonymous struct to union" {
966962 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
967963 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
968964 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
969 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
970965
971966 const S = struct {
972967 const U = union(enum) {
......@@ -1056,7 +1051,6 @@ test "containers with single-field enums" {
10561051 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10571052 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10581053 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1059 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10601054
10611055 const S = struct {
10621056 const A = union(enum) { f1 };
......@@ -1573,7 +1567,6 @@ test "undefined-layout union field pointer has correct alignment" {
15731567 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
15741568 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
15751569 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1576 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
15771570
15781571 const S = struct {
15791572 fn doTheTest(comptime U: type) !void {
......@@ -1659,6 +1652,8 @@ test "union with 128 bit integer" {
16591652}
16601653
16611654test "memset extern union" {
1655 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1656
16621657 const U = extern union {
16631658 foo: u8,
16641659 bar: u32,
......@@ -1678,6 +1673,8 @@ test "memset extern union" {
16781673}
16791674
16801675test "memset packed union" {
1676 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1677
16811678 const U = packed union {
16821679 a: u32,
16831680 b: u8,
......@@ -1703,6 +1700,8 @@ fn littleToNativeEndian(comptime T: type, v: T) T {
17031700}
17041701
17051702test "reinterpret extern union" {
1703 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1704
17061705 const U = extern union {
17071706 foo: u8,
17081707 baz: u32 align(8),
......@@ -1771,6 +1770,8 @@ test "reinterpret extern union" {
17711770}
17721771
17731772test "reinterpret packed union" {
1773 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1774
17741775 const U = packed union {
17751776 foo: u8,
17761777 bar: u29,
......@@ -1842,6 +1843,8 @@ test "reinterpret packed union" {
18421843}
18431844
18441845test "reinterpret packed union inside packed struct" {
1846 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1847
18451848 const U = packed union {
18461849 a: u7,
18471850 b: u1,
test/behavior/usingnamespace.zig-1
......@@ -55,7 +55,6 @@ usingnamespace @import("usingnamespace/a.zig");
5555test "two files usingnamespace import each other" {
5656 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
5757 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5958
6059 try expect(@This().ok());
6160}
test/behavior/var_args.zig-10
......@@ -14,8 +14,6 @@ fn add(args: anytype) i32 {
1414}
1515
1616test "add arbitrary args" {
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
18
1917 try expect(add(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);
2018 try expect(add(.{@as(i32, 1234)}) == 1234);
2119 try expect(add(.{}) == 0);
......@@ -26,15 +24,12 @@ fn readFirstVarArg(args: anytype) void {
2624}
2725
2826test "send void arg to var args" {
29 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
30
3127 readFirstVarArg(.{{}});
3228}
3329
3430test "pass args directly" {
3531 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
3632 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3833
3934 try expect(addSomeStuff(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);
4035 try expect(addSomeStuff(.{@as(i32, 1234)}) == 1234);
......@@ -48,7 +43,6 @@ fn addSomeStuff(args: anytype) i32 {
4843test "runtime parameter before var args" {
4944 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
5045 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5246
5347 try expect((try extraFn(10, .{})) == 0);
5448 try expect((try extraFn(10, .{false})) == 1);
......@@ -87,15 +81,11 @@ fn foo2(args: anytype) bool {
8781}
8882
8983test "array of var args functions" {
90 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
91
9284 try expect(foos[0](.{}));
9385 try expect(!foos[1](.{}));
9486}
9587
9688test "pass zero length array to var args param" {
97 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
9989 doNothingWithFirstArg(.{""});
10090}
10191
test/behavior/vector.zig-1
......@@ -11,7 +11,6 @@ test "implicit cast vector to array - bool" {
1111 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1212 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1313 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1514
1615 const S = struct {
1716 fn doTheTest() !void {
test/behavior/void.zig-2
......@@ -20,7 +20,6 @@ test "compare void with void compile time known" {
2020
2121test "iterate over a void slice" {
2222 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2423
2524 var j: usize = 0;
2625 for (times(10), 0..) |_, i| {
......@@ -37,7 +36,6 @@ test "void optional" {
3736 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
3837 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3938 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
40 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4139
4240 var x: ?void = {};
4341 try expect(x != null);
test/behavior/while.zig-1
......@@ -172,7 +172,6 @@ test "while with optional as condition with else" {
172172
173173test "while with error union condition" {
174174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
176175
177176 numbers_left = 10;
178177 var sum: i32 = 0;
test/behavior/widening.zig-2
......@@ -22,8 +22,6 @@ fn zero() u0 {
2222 return 0;
2323}
2424test "integer widening u0 to u8" {
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
26
2725 const a: u8 = zero();
2826 try expect(a == 0);
2927}