authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2023-09-17 23:41:10+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-23 12:36:56-07:00
log075584a4d74276119372994d895bca747b1f861f
treee65bc1430aa8ef04941b7db70d4b750a4fb7b004
parentd9a8c779d8d7e251bcb549c4b1627508c012ee8c

spirv: enable passing tests


60 files changed, 4 insertions(+), 245 deletions(-)

src/codegen/spirv.zig+4-4
......@@ -801,7 +801,7 @@ pub const DeclGen = struct {
801801 }
802802 }
803803
804 fn constantPtr(self: *DeclGen, ptr_ty: Type, ptr_val: Value) !IdRef {
804 fn constantPtr(self: *DeclGen, ptr_ty: Type, ptr_val: Value) Error!IdRef {
805805 const result_ty_ref = try self.resolveType(ptr_ty, .direct);
806806 const mod = self.module;
807807 switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {
......@@ -1692,9 +1692,9 @@ pub const DeclGen = struct {
16921692
16931693 .bitcast => try self.airBitCast(inst),
16941694 .intcast, .trunc => try self.airIntCast(inst),
1695 .int_from_ptr => try self.airIntFromPtr(inst),
1696 .float_from_int => try self.airFloatFromInt(inst),
1697 .int_from_float => try self.airIntFromFloat(inst),
1695 .int_from_ptr => try self.airIntFromPtr(inst),
1696 .float_from_int => try self.airFloatFromInt(inst),
1697 .int_from_float => try self.airIntFromFloat(inst),
16981698 .not => try self.airNot(inst),
16991699
17001700 .array_to_slice => try self.airArrayToSlice(inst),
test/behavior/alignof.zig-2
......@@ -28,8 +28,6 @@ test "comparison of @alignOf(T) against zero" {
2828}
2929
3030test "correct alignment for elements and slices of aligned array" {
31 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
32
3331 var buf: [1024]u8 align(64) = undefined;
3432 var start: usize = 1;
3533 var end: usize = undefined;
test/behavior/array.zig-5
......@@ -158,7 +158,6 @@ test "array len field" {
158158test "array with sentinels" {
159159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
160160 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
161 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
162161
163162 const S = struct {
164163 fn doTheTest(is_ct: bool) !void {
......@@ -225,7 +224,6 @@ test "nested arrays of integers" {
225224test "implicit comptime in array type size" {
226225 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
227226 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
228 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
229227
230228 var arr: [plusOne(10)]bool = undefined;
231229 try expect(arr.len == 11);
......@@ -318,7 +316,6 @@ test "read/write through global variable array of struct fields initialized via
318316 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
319317 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320318 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323320 const S = struct {
324321 fn doTheTest() !void {
......@@ -358,7 +355,6 @@ fn testArrayByValAtComptime(b: [2]u8) u8 {
358355test "comptime evaluating function that takes array by value" {
359356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
360357 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
361 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
362358
363359 const arr = [_]u8{ 1, 2 };
364360 const x = comptime testArrayByValAtComptime(arr);
......@@ -370,7 +366,6 @@ test "comptime evaluating function that takes array by value" {
370366test "runtime initialize array elem and then implicit cast to slice" {
371367 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
372368 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
373 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
374369
375370 var two: i32 = 2;
376371 const x: []const i32 = &[_]i32{two};
test/behavior/basic.zig-1
......@@ -606,7 +606,6 @@ test "self reference through fn ptr field" {
606606
607607test "global variable initialized to global variable array element" {
608608 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
609 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
610609
611610 try expect(global_ptr == &gdt[0]);
612611}
test/behavior/bugs/10138.zig-1
......@@ -5,7 +5,6 @@ test "registers get overwritten when ignoring return" {
55 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
77 if (builtin.cpu.arch != .x86_64 or builtin.os.tag != .linux) return error.SkipZigTest;
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
109 const fd = open();
1110 _ = write(fd, "a", 1);
test/behavior/bugs/10970.zig-1
......@@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {
77 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
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 cond = true;
1312 const opt = while (cond) {
test/behavior/bugs/11100.zig-2
......@@ -9,7 +9,5 @@ pub fn do() bool {
99}
1010
1111test "bug" {
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13
1412 try std.testing.expect(!do());
1513}
test/behavior/bugs/11165.zig-2
......@@ -2,7 +2,6 @@ const builtin = @import("builtin");
22
33test "bytes" {
44 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
65
76 const S = struct {
87 a: u32,
......@@ -24,7 +23,6 @@ test "bytes" {
2423
2524test "aggregate" {
2625 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2826
2927 const S = struct {
3028 a: u32,
test/behavior/bugs/11816.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 var x: u32 = 3;
109 const val: usize = while (true) switch (x) {
test/behavior/bugs/12025.zig-2
......@@ -1,8 +1,6 @@
11const builtin = @import("builtin");
22
33test {
4 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5
64 comptime var st = .{
75 .foo = &1,
86 .bar = &2,
test/behavior/bugs/12033.zig-2
......@@ -2,8 +2,6 @@ const std = @import("std");
22const builtin = @import("builtin");
33
44test {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
75 const string = "Hello!\x00World!";
86 try std.testing.expect(@TypeOf(string) == *const [13:0]u8);
97
test/behavior/bugs/12043.zig-2
......@@ -7,8 +7,6 @@ fn foo(x: anytype) void {
77 ok = x;
88}
99test {
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11
1210 const x = &foo;
1311 x(true);
1412 try expect(ok);
test/behavior/bugs/12119.zig-1
......@@ -9,7 +9,6 @@ test {
99 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
1010 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1111 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1312
1413 const zerox32: u8x32 = [_]u8{0} ** 32;
1514 const bigsum: u32x8 = @as(u32x8, @bitCast(zerox32));
test/behavior/bugs/12891.zig-8
......@@ -7,29 +7,21 @@ test "issue12891" {
77 try std.testing.expect(i < f);
88}
99test "nan" {
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11
1210 const f = comptime std.math.nan(f64);
1311 var i: usize = 0;
1412 try std.testing.expect(!(f < i));
1513}
1614test "inf" {
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
18
1915 const f = comptime std.math.inf(f64);
2016 var i: usize = 0;
2117 try std.testing.expect(f > i);
2218}
2319test "-inf < 0" {
24 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
25
2620 const f = comptime -std.math.inf(f64);
2721 var i: usize = 0;
2822 try std.testing.expect(f < i);
2923}
3024test "inf >= 1" {
31 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
32
3325 const f = comptime std.math.inf(f64);
3426 var i: usize = 1;
3527 try std.testing.expect(f >= i);
test/behavior/bugs/12928.zig-4
......@@ -11,8 +11,6 @@ const B = extern struct {
1111};
1212
1313test {
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15
1614 var a: *A = undefined;
1715 try expect(@TypeOf(&a.value.a) == *volatile u32);
1816 try expect(@TypeOf(&a.value.b) == *volatile i32);
......@@ -26,8 +24,6 @@ const D = extern union {
2624 b: i32,
2725};
2826test {
29 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
30
3127 var c: *C = undefined;
3228 try expect(@TypeOf(&c.value.a) == *volatile u32);
3329 try expect(@TypeOf(&c.value.b) == *volatile i32);
test/behavior/bugs/12984.zig-1
......@@ -14,7 +14,6 @@ pub const CustomDraw = DeleagateWithContext(fn (?OnConfirm) void);
1414test "simple test" {
1515 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1616 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1817
1918 var c: CustomDraw = undefined;
2019 _ = c;
test/behavior/bugs/13113.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 const foo = Foo{
1615 .a = 1,
test/behavior/bugs/13159.zig-1
......@@ -11,7 +11,6 @@ const Bar = packed struct {
1111
1212test {
1313 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1514
1615 var foo = Bar.Baz.fizz;
1716 try expect(foo == .fizz);
test/behavior/bugs/13285.zig-1
......@@ -6,7 +6,6 @@ const Crasher = struct {
66
77test {
88 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
1110 var a: Crasher = undefined;
1211 var crasher_ptr = &a;
test/behavior/bugs/14854.zig-2
......@@ -2,8 +2,6 @@ const testing = @import("std").testing;
22const builtin = @import("builtin");
33
44test {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
75 try testing.expect(getGeneric(u8, getU8) == 123);
86}
97
test/behavior/bugs/1500.zig-2
......@@ -6,8 +6,6 @@ const A = struct {
66const B = *const fn (A) void;
77
88test "allow these dependencies" {
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10
119 var a: A = undefined;
1210 var b: B = undefined;
1311 if (false) {
test/behavior/bugs/15778.zig-2
......@@ -6,7 +6,6 @@ test {
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_riscv64) 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; // TODO
109 const a = @Vector(0, i32){};
1110 const b = @Vector(0, i32){};
1211 _ = a + b;
......@@ -18,7 +17,6 @@ test {
1817 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1918 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
2019 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
2220 const a = @Vector(0, f32){};
2321 const b = @Vector(0, f32){};
2422 _ = a - b;
test/behavior/bugs/2622.zig-1
......@@ -7,7 +7,6 @@ test "reslice of undefined global var slice" {
77 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
99 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
1211 var mem: [100]u8 = [_]u8{0} ** 100;
1312 buf = &mem;
test/behavior/bugs/3779.zig-2
......@@ -8,7 +8,6 @@ const ptr_tag_name: [*:0]const u8 = tag_name;
88test "@tagName() returns a string literal" {
99 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1010 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
1312 try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name));
1413 try std.testing.expect(std.mem.eql(u8, "TestEnumValue", tag_name));
......@@ -22,7 +21,6 @@ const ptr_error_name: [*:0]const u8 = error_name;
2221test "@errorName() returns a string literal" {
2322 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2423 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2624
2725 try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name));
2826 try std.testing.expect(std.mem.eql(u8, "TestErrorCode", error_name));
test/behavior/bugs/4954.zig-1
......@@ -8,7 +8,6 @@ test "crash" {
88 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
99 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1010 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
1312 var buf: [4096]u8 = undefined;
1413 f(&buf);
test/behavior/bugs/5398.zig-1
......@@ -22,7 +22,6 @@ test "assignment of field with padding" {
2222 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
2323 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
2424 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2625
2726 renderable = Renderable{
2827 .mesh = Mesh{ .id = 0 },
test/behavior/bugs/6456.zig-1
......@@ -13,7 +13,6 @@ const text =
1313test "issue 6456" {
1414 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1515 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
1817 comptime {
1918 var fields: []const StructField = &[0]StructField{};
test/behavior/bugs/656.zig-1
......@@ -14,7 +14,6 @@ test "optional if after an if in a switch prong of a switch with 2 prongs in an
1414 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1515 if (builtin.zig_backend == .stage2_arm) 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 foo(false, true);
2019}
test/behavior/bugs/7047.zig-2
......@@ -15,8 +15,6 @@ fn S(comptime query: U) type {
1515}
1616
1717test "compiler doesn't consider equal unions with different 'type' payload" {
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
19
2018 const s1 = S(U{ .T = u32 }).tag();
2119 try std.testing.expectEqual(u32, s1);
2220
test/behavior/bugs/7187.zig-2
......@@ -3,8 +3,6 @@ const builtin = @import("builtin");
33const expect = std.testing.expect;
44
55test "miscompilation with bool return type" {
6 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7
86 var x: usize = 1;
97 var y: bool = getFalse();
108 _ = y;
test/behavior/bugs/8277.zig-2
......@@ -2,8 +2,6 @@ const std = @import("std");
22const builtin = @import("builtin");
33
44test "@sizeOf reified union zero-size payload fields" {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
75 comptime {
86 try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {}))));
97 try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void }))));
test/behavior/bugs/828.zig-1
......@@ -31,7 +31,6 @@ fn constCount(comptime cb: *const CountBy, comptime unused: u32) void {
3131
3232test "comptime struct return should not return the same instance" {
3333 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
34 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3534
3635 //the first parameter must be passed by reference to trigger the bug
3736 //a second parameter is required to trigger the bug
test/behavior/byval_arg_var.zig-1
......@@ -5,7 +5,6 @@ var result: []const u8 = "wrong";
55
66test "pass string literal byvalue to a generic var param" {
77 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
109 start();
1110 blowUpStack(10);
test/behavior/call.zig-1
......@@ -334,7 +334,6 @@ test "inline call preserves tail call" {
334334test "inline call doesn't re-evaluate non generic struct" {
335335 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
336336 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
337 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
338337
339338 const S = struct {
340339 fn foo(f: struct { a: u8, b: u8 }) !void {
test/behavior/cast.zig-35
......@@ -403,7 +403,6 @@ test "peer type unsigned int to signed" {
403403test "expected [*c]const u8, found [*:0]const u8" {
404404 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
405405 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
406 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
407406
408407 var a: [*:0]const u8 = "hello";
409408 var b: [*c]const u8 = a;
......@@ -445,7 +444,6 @@ test "implicitly cast from T to anyerror!?T" {
445444 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
446445 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
447446 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
448 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
449447
450448 try castToOptionalTypeError(1);
451449 try comptime castToOptionalTypeError(1);
......@@ -521,7 +519,6 @@ fn peerTypeEmptyArrayAndSliceAndError(a: bool, slice: []u8) anyerror![]u8 {
521519test "implicit cast from *const [N]T to []const T" {
522520 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
523521 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
524 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
525522
526523 try testCastConstArrayRefToConstSlice();
527524 try comptime testCastConstArrayRefToConstSlice();
......@@ -547,7 +544,6 @@ fn testCastConstArrayRefToConstSlice() !void {
547544test "peer type resolution: error and [N]T" {
548545 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
549546 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
550 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
551547
552548 try expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
553549 try comptime expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
......@@ -709,7 +705,6 @@ test "peer type resolution: error set supersets" {
709705 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
710706 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
711707 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
712 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
713708
714709 const a: error{ One, Two } = undefined;
715710 const b: error{One} = undefined;
......@@ -739,7 +734,6 @@ test "peer type resolution: disjoint error sets" {
739734 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
740735 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
741736 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
742 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
743737
744738 const a: error{ One, Two } = undefined;
745739 const b: error{Three} = undefined;
......@@ -769,7 +763,6 @@ test "peer type resolution: error union and error set" {
769763 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
770764 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
771765 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
772 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
773766
774767 const a: error{Three} = undefined;
775768 const b: error{ One, Two }!u32 = undefined;
......@@ -803,7 +796,6 @@ test "peer type resolution: error union after non-error" {
803796 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
804797 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
805798 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
806 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
807799
808800 const a: u32 = undefined;
809801 const b: error{ One, Two }!u32 = undefined;
......@@ -863,7 +855,6 @@ test "peer cast *[0]T to []const T" {
863855
864856test "peer cast *[N]T to [*]T" {
865857 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
866 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
867858
868859 var array = [4:99]i32{ 1, 2, 3, 4 };
869860 var dest: [*]i32 = undefined;
......@@ -930,7 +921,6 @@ test "peer cast [N:x]T to [N]T" {
930921test "peer cast *[N:x]T to *[N]T" {
931922 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
932923 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
933 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
934924
935925 const S = struct {
936926 fn doTheTest() !void {
......@@ -946,7 +936,6 @@ test "peer cast *[N:x]T to *[N]T" {
946936test "peer cast [*:x]T to [*]T" {
947937 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
948938 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
949 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
950939
951940 const S = struct {
952941 fn doTheTest() !void {
......@@ -967,7 +956,6 @@ test "peer cast [:x]T to [*:x]T" {
967956 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
968957 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
969958 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
970 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
971959
972960 const S = struct {
973961 fn doTheTest() !void {
......@@ -988,7 +976,6 @@ test "peer cast [:x]T to [*:x]T" {
988976test "peer type resolution implicit cast to return type" {
989977 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
990978 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
992979
993980 const S = struct {
994981 fn doTheTest() !void {
......@@ -1009,7 +996,6 @@ test "peer type resolution implicit cast to return type" {
1009996test "peer type resolution implicit cast to variable type" {
1010997 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1011998 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1012 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1013999
10141000 const S = struct {
10151001 fn doTheTest() !void {
......@@ -1034,7 +1020,6 @@ test "variable initialization uses result locations properly with regards to the
10341020test "cast between C pointer with different but compatible types" {
10351021 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10361022 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1037 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10381023
10391024 const S = struct {
10401025 fn foo(arg: [*]c_ushort) u16 {
......@@ -1052,7 +1037,6 @@ test "cast between C pointer with different but compatible types" {
10521037test "peer type resolve string lit with sentinel-terminated mutable slice" {
10531038 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10541039 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1055 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10561040
10571041 var array: [4:0]u8 = undefined;
10581042 array[4] = 0; // TODO remove this when #4372 is solved
......@@ -1062,8 +1046,6 @@ test "peer type resolve string lit with sentinel-terminated mutable slice" {
10621046}
10631047
10641048test "peer type resolve array pointers, one of them const" {
1065 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1066
10671049 var array1: [4]u8 = undefined;
10681050 const array2: [5]u8 = undefined;
10691051 try comptime expect(@TypeOf(&array1, &array2) == []const u8);
......@@ -1071,8 +1053,6 @@ test "peer type resolve array pointers, one of them const" {
10711053}
10721054
10731055test "peer type resolve array pointer and unknown pointer" {
1074 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1075
10761056 const const_array: [4]u8 = undefined;
10771057 var array: [4]u8 = undefined;
10781058 var const_ptr: [*]const u8 = undefined;
......@@ -1092,8 +1072,6 @@ test "peer type resolve array pointer and unknown pointer" {
10921072}
10931073
10941074test "comptime float casts" {
1095 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1096
10971075 const a = @as(comptime_float, @floatFromInt(1));
10981076 try expect(a == 1);
10991077 try expect(@TypeOf(a) == comptime_float);
......@@ -1140,8 +1118,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {
11401118}
11411119
11421120test "compile time int to ptr of function" {
1143 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1144
11451121 try foobar(FUNCTION_CONSTANT);
11461122}
11471123
......@@ -1341,8 +1317,6 @@ test "*const [N]null u8 to ?[]const u8" {
13411317}
13421318
13431319test "cast between [*c]T and ?[*:0]T on fn parameter" {
1344 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1345
13461320 const S = struct {
13471321 const Handler = ?fn ([*c]const u8) callconv(.C) void;
13481322 fn addCallback(comptime handler: Handler) void {
......@@ -1382,7 +1356,6 @@ test "cast between *[N]void and []void" {
13821356test "peer resolve arrays of different size to const slice" {
13831357 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
13841358 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1385 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13861359
13871360 try expect(mem.eql(u8, boolToStr(true), "true"));
13881361 try expect(mem.eql(u8, boolToStr(false), "false"));
......@@ -1486,7 +1459,6 @@ test "cast compatible optional types" {
14861459test "coerce undefined single-item pointer of array to error union of slice" {
14871460 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
14881461 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1489 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14901462
14911463 const a = @as([*]u8, undefined)[0..0];
14921464 var b: error{a}![]const u8 = a;
......@@ -1496,7 +1468,6 @@ test "coerce undefined single-item pointer of array to error union of slice" {
14961468
14971469test "pointer to empty struct literal to mutable slice" {
14981470 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15001471
15011472 var x: []i32 = &.{};
15021473 try expect(x.len == 0);
......@@ -1585,7 +1556,6 @@ test "bitcast packed struct with u0" {
15851556
15861557test "optional pointer coerced to optional allowzero pointer" {
15871558 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1588 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15891559
15901560 var p: ?*u32 = undefined;
15911561 var q: ?*allowzero u32 = undefined;
......@@ -1595,8 +1565,6 @@ test "optional pointer coerced to optional allowzero pointer" {
15951565}
15961566
15971567test "single item pointer to pointer to array to slice" {
1598 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1599
16001568 var x: i32 = 1234;
16011569 try expect(@as([]const i32, @as(*[1]i32, &x))[0] == 1234);
16021570 const z1 = @as([]const i32, @as(*[1]i32, &x));
......@@ -1632,8 +1600,6 @@ test "@volatileCast without a result location" {
16321600}
16331601
16341602test "coercion from single-item pointer to @as to slice" {
1635 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1636
16371603 var x: u32 = 1;
16381604
16391605 // Why the following line gets a compile error?
......@@ -2295,7 +2261,6 @@ test "cast builtins can wrap result in error union" {
22952261 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
22962262 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
22972263 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2298 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
22992264
23002265 const S = struct {
23012266 const MyEnum = enum(u32) { _ };
test/behavior/cast_int.zig-1
......@@ -19,7 +19,6 @@ test "coerce i8 to i32 and @intCast back" {
1919 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2020 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
2121 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
22 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2322
2423 var x: i8 = -5;
2524 var y: i32 = -5;
test/behavior/defer.zig-2
......@@ -5,8 +5,6 @@ const expectEqual = std.testing.expectEqual;
55const expectError = std.testing.expectError;
66
77test "break and continue inside loop inside defer expression" {
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9
108 testBreakContInDefer(10);
119 comptime testBreakContInDefer(10);
1210}
test/behavior/empty_union.zig-3
......@@ -9,8 +9,6 @@ test "switch on empty enum" {
99}
1010
1111test "switch on empty enum with a specified tag type" {
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13
1412 const E = enum(u8) {};
1513 var e: E = undefined;
1614 switch (e) {}
......@@ -18,7 +16,6 @@ test "switch on empty enum with a specified tag type" {
1816
1917test "switch on empty auto numbered tagged union" {
2018 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2219
2320 const U = union(enum(u8)) {};
2421 var u: U = undefined;
test/behavior/enum.zig-4
......@@ -935,7 +935,6 @@ const Bar = enum { A, B, C, D };
935935test "enum literal casting to error union with payload enum" {
936936 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
937937 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
938 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
939938
940939 var bar: error{B}!Bar = undefined;
941940 bar = .B; // should never cast to the error set
......@@ -947,7 +946,6 @@ test "constant enum initialization with differing sizes" {
947946 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
948947 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
949948 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
950 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
951949
952950 try test3_1(test3_foo);
953951 try test3_2(test3_bar);
......@@ -1054,7 +1052,6 @@ test "enum literal casting to optional" {
10541052 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
10551053 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
10561054 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1057 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10581055
10591056 var bar: ?Bar = undefined;
10601057 bar = .B;
......@@ -1141,7 +1138,6 @@ test "tag name functions are unique" {
11411138test "size of enum with only one tag which has explicit integer tag type" {
11421139 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
11431140 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1144 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11451141
11461142 const E = enum(u8) { nope = 10 };
11471143 const S0 = struct { e: E };
test/behavior/error.zig-1
......@@ -822,7 +822,6 @@ test "alignment of wrapping an error union payload" {
822822
823823test "compare error union and error set" {
824824 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
825 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
826825
827826 var a: anyerror = error.Foo;
828827 var b: anyerror!u32 = error.Bar;
test/behavior/eval.zig-35
......@@ -5,8 +5,6 @@ const expect = std.testing.expect;
55const expectEqual = std.testing.expectEqual;
66
77test "compile time recursion" {
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9
108 try expect(some_data.len == 21);
119}
1210var some_data: [@as(usize, @intCast(fibonacci(7)))]u8 = undefined;
......@@ -74,7 +72,6 @@ fn constExprEvalOnSingleExprBlocksFn(x: i32, b: bool) i32 {
7472test "constant expressions" {
7573 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
7674 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7875
7976 var array: [array_size]u8 = undefined;
8077 try expect(@sizeOf(@TypeOf(array)) == 20);
......@@ -143,7 +140,6 @@ test "pointer to type" {
143140test "a type constructed in a global expression" {
144141 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
145142 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
146 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
147143
148144 var l: List = undefined;
149145 l.array[0] = 10;
......@@ -202,8 +198,6 @@ test "@setEvalBranchQuota" {
202198}
203199
204200test "constant struct with negation" {
205 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
206
207201 try expect(vertices[0].x == @as(f32, -0.6));
208202}
209203const Vertex = struct {
......@@ -308,8 +302,6 @@ fn performFn(comptime prefix_char: u8, start_value: i32) i32 {
308302}
309303
310304test "comptime iterate over fn ptr list" {
311 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
312
313305 try expect(performFn('t', 1) == 6);
314306 try expect(performFn('o', 0) == 1);
315307 try expect(performFn('w', 99) == 99);
......@@ -348,7 +340,6 @@ fn doesAlotT(comptime T: type, value: usize) T {
348340test "@setEvalBranchQuota at same scope as generic function call" {
349341 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
350342 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352343
353344 try expect(doesAlotT(u32, 2) == 2);
354345}
......@@ -385,8 +376,6 @@ test "zero extend from u0 to u1" {
385376}
386377
387378test "return 0 from function that has u0 return type" {
388 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
389
390379 const S = struct {
391380 fn foo_zero() u0 {
392381 return 0;
......@@ -417,8 +406,6 @@ var st_init_str_foo = StInitStrFoo{
417406};
418407
419408test "inline for with same type but different values" {
420 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
421
422409 var res: usize = 0;
423410 inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| {
424411 var a: T = undefined;
......@@ -544,7 +531,6 @@ test "runtime 128 bit integer division" {
544531test "@tagName of @typeInfo" {
545532 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
546533 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
547 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
548534
549535 const str = @tagName(@typeInfo(u8));
550536 try expect(std.mem.eql(u8, str, "Int"));
......@@ -554,7 +540,6 @@ test "static eval list init" {
554540 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
555541 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
556542 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
557 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
558543
559544 try expect(static_vec3.data[2] == 1.0);
560545 try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);
......@@ -586,7 +571,6 @@ test "inlined loop has array literal with elided runtime scope on first iteratio
586571test "ptr to local array argument at comptime" {
587572 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
588573 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
589 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
590574
591575 comptime {
592576 var bytes: [10]u8 = undefined;
......@@ -623,7 +607,6 @@ const hi1 = "hi";
623607const hi2 = hi1;
624608test "const global shares pointer with other same one" {
625609 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
626 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
627610
628611 try assertEqualPtrs(&hi1[0], &hi2[0]);
629612 try comptime expect(&hi1[0] == &hi2[0]);
......@@ -659,8 +642,6 @@ pub fn TypeWithCompTimeSlice(comptime field_name: []const u8) type {
659642}
660643
661644test "comptime function with mutable pointer is not memoized" {
662 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
663
664645 comptime {
665646 var x: i32 = 1;
666647 const ptr = &x;
......@@ -753,7 +734,6 @@ test "array concatenation of function calls" {
753734 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
754735 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
755736 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
756 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
757737
758738 var a = oneItem(3) ++ oneItem(4);
759739 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 4 }));
......@@ -763,7 +743,6 @@ test "array multiplication of function calls" {
763743 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
764744 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
765745 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
766 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
767746
768747 var a = oneItem(3) ** scalar(2);
769748 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 3 }));
......@@ -852,7 +831,6 @@ test "array multiplication sets the sentinel - value" {
852831 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
853832 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
854833 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
855 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
856834
857835 var a = [2:7]u3{ 1, 6 };
858836 var b = a ** 2;
......@@ -869,7 +847,6 @@ test "array multiplication sets the sentinel - pointer" {
869847 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
870848 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
871849 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
872 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
873850
874851 var a = [2:7]u3{ 1, 6 };
875852 var b = &a ** 2;
......@@ -1004,7 +981,6 @@ test "closure capture type of runtime-known var" {
1004981
1005982test "comptime break passing through runtime condition converted to runtime break" {
1006983 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1007 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1008984
1009985 const S = struct {
1010986 fn doTheTest() !void {
......@@ -1038,7 +1014,6 @@ test "comptime break to outer loop passing through runtime condition converted t
10381014 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10391015 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10401016 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1041 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10421017
10431018 const S = struct {
10441019 fn doTheTest() !void {
......@@ -1110,7 +1085,6 @@ test "comptime break operand passing through runtime switch converted to runtime
11101085test "no dependency loop for alignment of self struct" {
11111086 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11121087 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1113 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11141088
11151089 const S = struct {
11161090 fn doTheTest() !void {
......@@ -1148,7 +1122,6 @@ test "no dependency loop for alignment of self struct" {
11481122test "no dependency loop for alignment of self bare union" {
11491123 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11501124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1151 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11521125
11531126 const S = struct {
11541127 fn doTheTest() !void {
......@@ -1186,7 +1159,6 @@ test "no dependency loop for alignment of self bare union" {
11861159test "no dependency loop for alignment of self tagged union" {
11871160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11881161 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1189 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11901162
11911163 const S = struct {
11921164 fn doTheTest() !void {
......@@ -1377,7 +1349,6 @@ test "lazy value is resolved as slice operand" {
13771349 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
13781350 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
13791351 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1380 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13811352
13821353 const A = struct { a: u32 };
13831354 var a: [512]u64 = undefined;
......@@ -1435,7 +1406,6 @@ test "inline for inside a runtime condition" {
14351406
14361407test "continue in inline for inside a comptime switch" {
14371408 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1438 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14391409
14401410 const arr = .{ 1, 2, 3 };
14411411 var count: u8 = 0;
......@@ -1501,7 +1471,6 @@ test "continue nested inline for loop in named block expr" {
15011471
15021472test "x and false is comptime-known false" {
15031473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1504 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15051474
15061475 const T = struct {
15071476 var x: u32 = 0;
......@@ -1529,7 +1498,6 @@ test "x and false is comptime-known false" {
15291498
15301499test "x or true is comptime-known true" {
15311500 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1532 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15331501
15341502 const T = struct {
15351503 var x: u32 = 0;
......@@ -1559,7 +1527,6 @@ test "non-optional and optional array elements concatenated" {
15591527 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
15601528 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
15611529 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1562 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15631530
15641531 const array = [1]u8{'A'} ++ [1]?u8{null};
15651532 var index: usize = 0;
......@@ -1648,8 +1615,6 @@ test "result of nested switch assigned to variable" {
16481615}
16491616
16501617test "inline for loop of functions returning error unions" {
1651 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1652
16531618 const T1 = struct {
16541619 fn v() error{}!usize {
16551620 return 1;
test/behavior/floatop.zig-3
......@@ -736,7 +736,6 @@ test "@ceil" {
736736 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
737737 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
738738 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
739 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
740739
741740 try comptime testCeil();
742741 try testCeil();
......@@ -1053,7 +1052,6 @@ test "negation f128" {
10531052test "eval @setFloatMode at compile-time" {
10541053 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10551054 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1056 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10571055
10581056 const result = comptime fnWithFloatMode();
10591057 try expect(result == 1234.0);
......@@ -1089,7 +1087,6 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {
10891087 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10901088 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10911089 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1092 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10931090
10941091 inline for (.{ f16, f32, f64, f80, f128 }) |F| {
10951092 const pos = @as(F, 1) / @as(F, 0);
test/behavior/fn.zig-12
......@@ -20,8 +20,6 @@ fn testLocVars(b: i32) void {
2020}
2121
2222test "mutable local variables" {
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
24
2523 var zero: i32 = 0;
2624 try expect(zero == 0);
2725
......@@ -53,8 +51,6 @@ test "weird function name" {
5351}
5452
5553test "assign inline fn to const variable" {
56 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
57
5854 const a = inlineFn;
5955 a();
6056}
......@@ -190,7 +186,6 @@ test "function with complex callconv and return type expressions" {
190186
191187test "pass by non-copying value" {
192188 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
193 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
194189
195190 try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3);
196191}
......@@ -218,7 +213,6 @@ fn addPointCoordsVar(pt: anytype) !i32 {
218213
219214test "pass by non-copying value as method" {
220215 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222216
223217 var pt = Point2{ .x = 1, .y = 2 };
224218 try expect(pt.addPointCoords() == 3);
......@@ -235,7 +229,6 @@ const Point2 = struct {
235229
236230test "pass by non-copying value as method, which is generic" {
237231 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
238 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
239232
240233 var pt = Point3{ .x = 1, .y = 2 };
241234 try expect(pt.addPointCoords(i32) == 3);
......@@ -253,7 +246,6 @@ const Point3 = struct {
253246
254247test "pass by non-copying value as method, at comptime" {
255248 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
256 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
257249
258250 comptime {
259251 var pt = Point2{ .x = 1, .y = 2 };
......@@ -396,8 +388,6 @@ test "function call with anon list literal - 2D" {
396388}
397389
398390test "ability to give comptime types and non comptime types to same parameter" {
399 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
400
401391 const S = struct {
402392 fn doTheTest() !void {
403393 var x: i32 = 1;
......@@ -415,8 +405,6 @@ test "ability to give comptime types and non comptime types to same parameter" {
415405}
416406
417407test "function with inferred error set but returning no error" {
418 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
419
420408 const S = struct {
421409 fn foo() !void {}
422410 };
test/behavior/for.zig-4
......@@ -257,7 +257,6 @@ test "for loop with else branch" {
257257test "count over fixed range" {
258258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
259259 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261260
262261 var sum: usize = 0;
263262 for (0..6) |i| {
......@@ -270,7 +269,6 @@ test "count over fixed range" {
270269test "two counters" {
271270 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
272271 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
273 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
274272
275273 var sum: usize = 0;
276274 for (0..10, 10..20) |i, j| {
......@@ -318,7 +316,6 @@ test "slice and two counters, one is offset and one is runtime" {
318316 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
319317 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320318 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323320 const slice: []const u8 = "blah";
324321 var start: usize = 0;
......@@ -406,7 +403,6 @@ test "inline for with slice as the comptime-known" {
406403 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
407404 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
408405 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
409 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
410406
411407 const comptime_slice = "hello";
412408 var runtime_i: usize = 3;
test/behavior/generics.zig-14
......@@ -55,7 +55,6 @@ test "fn with comptime args" {
5555 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
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(gimmeTheBigOne(1234, 5678) == 5678);
6160 try expect(shouldCallSameInstance(34, 12) == 34);
......@@ -66,7 +65,6 @@ test "anytype params" {
6665 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
6766 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
6867 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7068
7169 try expect(max_i32(12, 34) == 34);
7270 try expect(max_f64(1.2, 3.4) == 3.4);
......@@ -91,7 +89,6 @@ fn max_f64(a: f64, b: f64) f64 {
9189test "type constructed by comptime function call" {
9290 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
9391 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
94 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9592
9693 var l: SimpleList(10) = undefined;
9794 l.array[0] = 10;
......@@ -115,7 +112,6 @@ test "function with return type type" {
115112 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
116113 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
117114 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
118 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
119115
120116 var list: List(i32) = undefined;
121117 var list2: List(i32) = undefined;
......@@ -147,8 +143,6 @@ fn GenericDataThing(comptime count: isize) type {
147143}
148144
149145test "use generic param in generic param" {
150 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
151
152146 try expect(aGenericFn(i32, 3, 4) == 7);
153147}
154148fn aGenericFn(comptime T: type, comptime a: T, b: T) T {
......@@ -178,7 +172,6 @@ test "generic fn keeps non-generic parameter types" {
178172 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
179173 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
180174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
181 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
182175
183176 const A = 128;
184177
......@@ -254,7 +247,6 @@ test "generic function instantiation turns into comptime call" {
254247 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
255248 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
256249 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
257 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
258250
259251 const S = struct {
260252 fn doTheTest() !void {
......@@ -305,7 +297,6 @@ test "generic function with void and comptime parameter" {
305297test "anonymous struct return type referencing comptime parameter" {
306298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
307299 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
308 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
309300
310301 const S = struct {
311302 pub fn extraData(comptime T: type, index: usize) struct { data: T, end: usize } {
......@@ -406,8 +397,6 @@ test "generic struct as parameter type" {
406397}
407398
408399test "slice as parameter type" {
409 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
410
411400 const S = struct {
412401 fn internComptimeString(comptime str: []const u8) *const []const u8 {
413402 return &struct {
......@@ -422,8 +411,6 @@ test "slice as parameter type" {
422411}
423412
424413test "null sentinel pointer passed as generic argument" {
425 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
426
427414 const S = struct {
428415 fn doTheTest(a: anytype) !void {
429416 try std.testing.expect(@intFromPtr(a) == 8);
......@@ -434,7 +421,6 @@ test "null sentinel pointer passed as generic argument" {
434421
435422test "generic function passed as comptime argument" {
436423 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
437 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
438424
439425 const S = struct {
440426 fn doMath(comptime f: fn (type, i32, i32) error{Overflow}!i32, a: i32, b: i32) !void {
test/behavior/inline_switch.zig-3
......@@ -47,7 +47,6 @@ test "inline switch unions" {
4747 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
4848 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
4949 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
50 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5150
5251 var x: U = .a;
5352 switch (x) {
......@@ -141,8 +140,6 @@ test "inline else int all values" {
141140}
142141
143142test "inline switch capture is set when switch operand is comptime known" {
144 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
145
146143 const U2 = union(enum) {
147144 a: u32,
148145 };
test/behavior/math.zig-2
......@@ -1145,8 +1145,6 @@ test "overflow arithmetic with u0 values" {
11451145}
11461146
11471147test "allow signed integer division/remainder when values are comptime-known and positive or exact" {
1148 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1149
11501148 try expect(5 / 3 == 1);
11511149 try expect(-5 / -3 == 1);
11521150 try expect(-6 / 3 == -2);
test/behavior/maximum_minimum.zig-2
......@@ -200,7 +200,6 @@ test "@min/@max on comptime_int" {
200200 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
201201 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
202202 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
204203
205204 const min = @min(1, 2, -2, -1);
206205 const max = @max(1, 2, -2, -1);
......@@ -257,7 +256,6 @@ test "@min/@max notices bounds from types when comptime-known value is undef" {
257256 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
258257 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
259258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261259
262260 var x: u32 = 1_000_000;
263261 const y: u16 = undefined;
test/behavior/slice.zig-1
......@@ -754,7 +754,6 @@ test "slice len modification at comptime" {
754754}
755755
756756test "slice field ptr const" {
757
758757 const const_slice: []const u8 = "string";
759758
760759 const const_ptr_const_slice = &const_slice;
test/behavior/struct.zig-14
......@@ -109,7 +109,6 @@ fn testMutation(foo: *StructFoo) void {
109109
110110test "struct byval assign" {
111111 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
112 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
113112
114113 var foo1: StructFoo = undefined;
115114 var foo2: StructFoo = undefined;
......@@ -129,8 +128,6 @@ test "call struct static method" {
129128const should_be_11 = StructWithNoFields.add(5, 6);
130129
131130test "invoke static method in global scope" {
132 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
133
134131 try expect(should_be_11 == 11);
135132}
136133
......@@ -255,7 +252,6 @@ test "usingnamespace within struct scope" {
255252test "struct field init with catch" {
256253 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
257254 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
259255
260256 const S = struct {
261257 fn doTheTest() !void {
......@@ -367,8 +363,6 @@ test "self-referencing struct via array member" {
367363}
368364
369365test "empty struct method call" {
370 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
371
372366 const es = EmptyStruct{};
373367 try expect(es.method() == 1234);
374368}
......@@ -553,7 +547,6 @@ test "implicit cast packed struct field to const ptr" {
553547
554548test "zero-bit field in packed struct" {
555549 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
556 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
557550
558551 const S = packed struct {
559552 x: u10,
......@@ -949,8 +942,6 @@ test "tuple assigned to variable" {
949942}
950943
951944test "comptime struct field" {
952 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
953
954945 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
955946 if (comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; // TODO
956947
......@@ -988,7 +979,6 @@ test "struct with union field" {
988979 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
989980 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
990981 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
992982
993983 const Value = struct {
994984 ref: u32 = 2,
......@@ -1439,8 +1429,6 @@ test "struct field has a pointer to an aligned version of itself" {
14391429}
14401430
14411431test "struct has only one reference" {
1442 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1443
14441432 const S = struct {
14451433 fn optionalStructParam(_: ?struct { x: u8 }) void {}
14461434 fn errorUnionStructParam(_: error{}!struct { x: u8 }) void {}
......@@ -1510,7 +1498,6 @@ test "discarded struct initialization works as expected" {
15101498
15111499test "function pointer in struct returns the struct" {
15121500 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1513 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15141501
15151502 const A = struct {
15161503 const A = @This();
......@@ -1560,7 +1547,6 @@ test "optional field init with tuple" {
15601547
15611548test "if inside struct init inside if" {
15621549 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1563 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15641550
15651551 const MyStruct = struct { x: u32 };
15661552 const b: u32 = 5;
test/behavior/switch.zig-10
......@@ -232,7 +232,6 @@ test "switch prong with variable" {
232232 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
233233 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
234234 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
235 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
236235
237236 try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });
238237 try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });
......@@ -257,7 +256,6 @@ test "switch on enum using pointer capture" {
257256 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
258257 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
259258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261259
262260 try testSwitchEnumPtrCapture();
263261 try comptime testSwitchEnumPtrCapture();
......@@ -318,7 +316,6 @@ test "switch on union with some prongs capturing" {
318316 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
319317 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
320318 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323320 const X = union(enum) {
324321 a,
......@@ -355,7 +352,6 @@ test "switch on const enum with var" {
355352test "anon enum literal used in switch on union enum" {
356353 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
357354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
358 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
359355
360356 const Foo = union(enum) {
361357 a: i32,
......@@ -394,7 +390,6 @@ fn switchWithUnreachable(x: i32) i32 {
394390
395391test "capture value of switch with all unreachable prongs" {
396392 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
397 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
398393
399394 const x = return_a_number() catch |err| switch (err) {
400395 else => unreachable,
......@@ -408,7 +403,6 @@ fn return_a_number() anyerror!i32 {
408403
409404test "switch on integer with else capturing expr" {
410405 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
411 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
412406
413407 const S = struct {
414408 fn doTheTest() !void {
......@@ -498,7 +492,6 @@ test "switch prongs with error set cases make a new error set type for capture v
498492
499493test "return result loc and then switch with range implicit casted to error union" {
500494 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
501 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
502495
503496 const S = struct {
504497 fn doTheTest() !void {
......@@ -539,7 +532,6 @@ test "switch prongs with cases with identical payload types" {
539532 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
540533 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
541534 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
542 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
543535
544536 const Union = union(enum) {
545537 A: usize,
......@@ -706,8 +698,6 @@ test "switch item sizeof" {
706698}
707699
708700test "comptime inline switch" {
709 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
710
711701 const U = union(enum) { a: type, b: type };
712702 const value = comptime blk: {
713703 var u: U = .{ .a = u32 };
test/behavior/this.zig-1
......@@ -27,7 +27,6 @@ test "this refer to module call private fn" {
2727test "this refer to container" {
2828 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
2929 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
30 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3130
3231 var pt: Point(i32) = undefined;
3332 pt.x = 12;
test/behavior/try.zig-2
......@@ -24,8 +24,6 @@ fn returnsTen() anyerror!i32 {
2424}
2525
2626test "try without vars" {
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
28
2927 const result1 = if (failIfTrue(true)) 1 else |_| @as(i32, 2);
3028 try expect(result1 == 2);
3129
test/behavior/tuple.zig-3
......@@ -289,7 +289,6 @@ test "coerce tuple to tuple" {
289289 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
290290 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
291291 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
292 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
293292
294293 const T = std.meta.Tuple(&.{u8});
295294 const S = struct {
......@@ -304,7 +303,6 @@ test "tuple type with void field" {
304303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
305304 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
306305 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
307 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
308306
309307 const T = std.meta.Tuple(&[_]type{void});
310308 const x = T{{}};
......@@ -343,7 +341,6 @@ test "zero sized struct in tuple handled correctly" {
343341test "tuple type with void field and a runtime field" {
344342 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
345343 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
346 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
347344
348345 const T = std.meta.Tuple(&[_]type{ usize, void });
349346 var t: T = .{ 5, {} };
test/behavior/type_info.zig-5
......@@ -160,7 +160,6 @@ test "type info: error set, error union info, anyerror" {
160160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
161161 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
162162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
164163
165164 try testErrorSet();
166165 try comptime testErrorSet();
......@@ -192,7 +191,6 @@ test "type info: error set single value" {
192191 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
193192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
194193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
195 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
196194
197195 const TestSet = error.One;
198196
......@@ -206,7 +204,6 @@ test "type info: error set merged" {
206204 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
207205 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
208206 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
209 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
210207
211208 const TestSet = error{ One, Two } || error{Three};
212209
......@@ -222,7 +219,6 @@ test "type info: enum info" {
222219 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
223220 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
224221 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
225 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
226222
227223 try testEnum();
228224 try comptime testEnum();
......@@ -533,7 +529,6 @@ test "Struct.is_tuple for anon list literal" {
533529
534530test "Struct.is_tuple for anon struct literal" {
535531 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
536 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
537532
538533 const info = @typeInfo(@TypeOf(.{ .a = 0 }));
539534 try expect(!info.Struct.is_tuple);
test/behavior/undefined.zig-3
......@@ -48,7 +48,6 @@ test "assign undefined to struct" {
4848 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
4949 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
5050 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5251
5352 comptime {
5453 var foo: Foo = undefined;
......@@ -66,7 +65,6 @@ test "assign undefined to struct with method" {
6665 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
6766 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
6867 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7068
7169 comptime {
7270 var foo: Foo = undefined;
......@@ -82,7 +80,6 @@ test "assign undefined to struct with method" {
8280
8381test "type name of undefined" {
8482 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
85 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8683
8784 const x = undefined;
8885 try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));
test/behavior/underscore.zig-1
......@@ -8,7 +8,6 @@ test "ignore lval with underscore" {
88
99test "ignore lval with underscore (while loop)" {
1010 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
1312 while (optionalReturnError()) |_| {
1413 while (optionalReturnError()) |_| {
test/behavior/union.zig-3
......@@ -1160,7 +1160,6 @@ test "union with no result loc initiated with a runtime value" {
11601160 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11611161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11621162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11641163
11651164 const U = union {
11661165 a: u32,
......@@ -1177,7 +1176,6 @@ test "union with a large struct field" {
11771176 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11781177 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11791178 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1180 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11811179
11821180 const S = struct {
11831181 a: [8]usize,
......@@ -1329,7 +1327,6 @@ test "@unionInit uses tag value instead of field index" {
13291327 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
13301328 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
13311329 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1332 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13331330
13341331 const E = enum(u8) {
13351332 b = 255,
test/behavior/vector.zig-2
......@@ -240,7 +240,6 @@ test "peer type resolution with coercible element types" {
240240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
241241 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
242242 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
243 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
244243
245244 const S = struct {
246245 fn doTheTest() !void {
......@@ -1469,7 +1468,6 @@ test "boolean vector with 2 or more booleans" {
14691468 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
14701469 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
14711470 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1472 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
14731471
14741472 // TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:
14751473 if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return;
test/behavior/while.zig-15
......@@ -50,8 +50,6 @@ test "while with continue expression" {
5050}
5151
5252test "while with else" {
53 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
54
5553 var sum: i32 = 0;
5654 var i: i32 = 0;
5755 var got_else: i32 = 0;
......@@ -79,8 +77,6 @@ fn getNumberOrNull() ?i32 {
7977}
8078
8179test "continue outer while loop" {
82 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
83
8480 testContinueOuter();
8581 comptime testContinueOuter();
8682}
......@@ -127,7 +123,6 @@ test "while copies its payload" {
127123
128124test "continue and break" {
129125 if (builtin.zig_backend == .stage2_aarch64 and builtin.os.tag == .macos) return error.SkipZigTest;
130 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
131126
132127 try runContinueAndBreakTest();
133128 try expect(continue_and_break_counter == 8);
......@@ -149,7 +144,6 @@ fn runContinueAndBreakTest() !void {
149144test "while with optional as condition" {
150145 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
151146 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153147
154148 numbers_left = 10;
155149 var sum: i32 = 0;
......@@ -162,7 +156,6 @@ test "while with optional as condition" {
162156test "while with optional as condition with else" {
163157 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
164158 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
165 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
166159
167160 numbers_left = 10;
168161 var sum: i32 = 0;
......@@ -223,7 +216,6 @@ test "while on optional with else result follow break prong" {
223216 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
224217 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
225218 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
226 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
227219
228220 const result = while (returnOptional(10)) |value| {
229221 break value;
......@@ -251,8 +243,6 @@ fn returnTrue() bool {
251243}
252244
253245test "return with implicit cast from while loop" {
254 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
255
256246 returnWithImplicitCastFromWhileLoopTest() catch unreachable;
257247}
258248fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
......@@ -263,7 +253,6 @@ fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
263253
264254test "while on error union with else result follow else prong" {
265255 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
266 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
267256
268257 const result = while (returnError()) |value| {
269258 break value;
......@@ -273,7 +262,6 @@ test "while on error union with else result follow else prong" {
273262
274263test "while on error union with else result follow break prong" {
275264 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
276 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
277265
278266 const result = while (returnSuccess(10)) |value| {
279267 break value;
......@@ -319,7 +307,6 @@ test "while error 2 break statements and an else" {
319307 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320308 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
321309 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
322 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
323310
324311 const S = struct {
325312 fn entry(opt_t: anyerror!bool, f: bool) !void {
......@@ -345,8 +332,6 @@ test "continue inline while loop" {
345332}
346333
347334test "else continue outer while" {
348 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
349
350335 var i: usize = 0;
351336 while (true) {
352337 i += 1;