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 {...@@ -801,7 +801,7 @@ pub const DeclGen = struct {
801 }801 }
802 }802 }
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 {
805 const result_ty_ref = try self.resolveType(ptr_ty, .direct);805 const result_ty_ref = try self.resolveType(ptr_ty, .direct);
806 const mod = self.module;806 const mod = self.module;
807 switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {807 switch (mod.intern_pool.indexToKey(ptr_val.toIntern()).ptr.addr) {
...@@ -1692,9 +1692,9 @@ pub const DeclGen = struct {...@@ -1692,9 +1692,9 @@ pub const DeclGen = struct {
16921692
1693 .bitcast => try self.airBitCast(inst),1693 .bitcast => try self.airBitCast(inst),
1694 .intcast, .trunc => try self.airIntCast(inst),1694 .intcast, .trunc => try self.airIntCast(inst),
1695 .int_from_ptr => try self.airIntFromPtr(inst),1695 .int_from_ptr => try self.airIntFromPtr(inst),
1696 .float_from_int => try self.airFloatFromInt(inst),1696 .float_from_int => try self.airFloatFromInt(inst),
1697 .int_from_float => try self.airIntFromFloat(inst),1697 .int_from_float => try self.airIntFromFloat(inst),
1698 .not => try self.airNot(inst),1698 .not => try self.airNot(inst),
16991699
1700 .array_to_slice => try self.airArrayToSlice(inst),1700 .array_to_slice => try self.airArrayToSlice(inst),
test/behavior/alignof.zig-2
...@@ -28,8 +28,6 @@ test "comparison of @alignOf(T) against zero" {...@@ -28,8 +28,6 @@ test "comparison of @alignOf(T) against zero" {
28}28}
2929
30test "correct alignment for elements and slices of aligned array" {30test "correct alignment for elements and slices of aligned array" {
31 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
32
33 var buf: [1024]u8 align(64) = undefined;31 var buf: [1024]u8 align(64) = undefined;
34 var start: usize = 1;32 var start: usize = 1;
35 var end: usize = undefined;33 var end: usize = undefined;
test/behavior/array.zig-5
...@@ -158,7 +158,6 @@ test "array len field" {...@@ -158,7 +158,6 @@ test "array len field" {
158test "array with sentinels" {158test "array with sentinels" {
159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
160 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO160 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
161 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
162161
163 const S = struct {162 const S = struct {
164 fn doTheTest(is_ct: bool) !void {163 fn doTheTest(is_ct: bool) !void {
...@@ -225,7 +224,6 @@ test "nested arrays of integers" {...@@ -225,7 +224,6 @@ test "nested arrays of integers" {
225test "implicit comptime in array type size" {224test "implicit comptime in array type size" {
226 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;225 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
227 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO226 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
228 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
229227
230 var arr: [plusOne(10)]bool = undefined;228 var arr: [plusOne(10)]bool = undefined;
231 try expect(arr.len == 11);229 try expect(arr.len == 11);
...@@ -318,7 +316,6 @@ test "read/write through global variable array of struct fields initialized via...@@ -318,7 +316,6 @@ test "read/write through global variable array of struct fields initialized via
318 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;316 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
319 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO317 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO318 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323 const S = struct {320 const S = struct {
324 fn doTheTest() !void {321 fn doTheTest() !void {
...@@ -358,7 +355,6 @@ fn testArrayByValAtComptime(b: [2]u8) u8 {...@@ -358,7 +355,6 @@ fn testArrayByValAtComptime(b: [2]u8) u8 {
358test "comptime evaluating function that takes array by value" {355test "comptime evaluating function that takes array by value" {
359 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
360 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO357 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
361 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
362358
363 const arr = [_]u8{ 1, 2 };359 const arr = [_]u8{ 1, 2 };
364 const x = comptime testArrayByValAtComptime(arr);360 const x = comptime testArrayByValAtComptime(arr);
...@@ -370,7 +366,6 @@ test "comptime evaluating function that takes array by value" {...@@ -370,7 +366,6 @@ test "comptime evaluating function that takes array by value" {
370test "runtime initialize array elem and then implicit cast to slice" {366test "runtime initialize array elem and then implicit cast to slice" {
371 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;367 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
372 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO368 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
373 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
374369
375 var two: i32 = 2;370 var two: i32 = 2;
376 const x: []const i32 = &[_]i32{two};371 const x: []const i32 = &[_]i32{two};
test/behavior/basic.zig-1
...@@ -606,7 +606,6 @@ test "self reference through fn ptr field" {...@@ -606,7 +606,6 @@ test "self reference through fn ptr field" {
606606
607test "global variable initialized to global variable array element" {607test "global variable initialized to global variable array element" {
608 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO608 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
609 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
610609
611 try expect(global_ptr == &gdt[0]);610 try expect(global_ptr == &gdt[0]);
612}611}
test/behavior/bugs/10138.zig-1
...@@ -5,7 +5,6 @@ test "registers get overwritten when ignoring return" {...@@ -5,7 +5,6 @@ test "registers get overwritten when ignoring return" {
5 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;5 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
7 if (builtin.cpu.arch != .x86_64 or builtin.os.tag != .linux) return error.SkipZigTest;7 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
10 const fd = open();9 const fd = open();
11 _ = write(fd, "a", 1);10 _ = write(fd, "a", 1);
test/behavior/bugs/10970.zig-1
...@@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {...@@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {
7 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;7 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
12 var cond = true;11 var cond = true;
13 const opt = while (cond) {12 const opt = while (cond) {
test/behavior/bugs/11100.zig-2
...@@ -9,7 +9,5 @@ pub fn do() bool {...@@ -9,7 +9,5 @@ pub fn do() bool {
9}9}
1010
11test "bug" {11test "bug" {
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13
14 try std.testing.expect(!do());12 try std.testing.expect(!do());
15}13}
test/behavior/bugs/11165.zig-2
...@@ -2,7 +2,6 @@ const builtin = @import("builtin");...@@ -2,7 +2,6 @@ const builtin = @import("builtin");
22
3test "bytes" {3test "bytes" {
4 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO4 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
65
7 const S = struct {6 const S = struct {
8 a: u32,7 a: u32,
...@@ -24,7 +23,6 @@ test "bytes" {...@@ -24,7 +23,6 @@ test "bytes" {
2423
25test "aggregate" {24test "aggregate" {
26 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO25 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2826
29 const S = struct {27 const S = struct {
30 a: u32,28 a: u32,
test/behavior/bugs/11816.zig-1
...@@ -4,7 +4,6 @@ const builtin = @import("builtin");...@@ -4,7 +4,6 @@ const builtin = @import("builtin");
4test {4test {
5 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO5 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
6 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
87
9 var x: u32 = 3;8 var x: u32 = 3;
10 const val: usize = while (true) switch (x) {9 const val: usize = while (true) switch (x) {
test/behavior/bugs/12025.zig-2
...@@ -1,8 +1,6 @@...@@ -1,8 +1,6 @@
1const builtin = @import("builtin");1const builtin = @import("builtin");
22
3test {3test {
4 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5
6 comptime var st = .{4 comptime var st = .{
7 .foo = &1,5 .foo = &1,
8 .bar = &2,6 .bar = &2,
test/behavior/bugs/12033.zig-2
...@@ -2,8 +2,6 @@ const std = @import("std");...@@ -2,8 +2,6 @@ const std = @import("std");
2const builtin = @import("builtin");2const builtin = @import("builtin");
33
4test {4test {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
7 const string = "Hello!\x00World!";5 const string = "Hello!\x00World!";
8 try std.testing.expect(@TypeOf(string) == *const [13:0]u8);6 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 {...@@ -7,8 +7,6 @@ fn foo(x: anytype) void {
7 ok = x;7 ok = x;
8}8}
9test {9test {
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11
12 const x = &foo;10 const x = &foo;
13 x(true);11 x(true);
14 try expect(ok);12 try expect(ok);
test/behavior/bugs/12119.zig-1
...@@ -9,7 +9,6 @@ test {...@@ -9,7 +9,6 @@ test {
9 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO11 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1312
14 const zerox32: u8x32 = [_]u8{0} ** 32;13 const zerox32: u8x32 = [_]u8{0} ** 32;
15 const bigsum: u32x8 = @as(u32x8, @bitCast(zerox32));14 const bigsum: u32x8 = @as(u32x8, @bitCast(zerox32));
test/behavior/bugs/12891.zig-8
...@@ -7,29 +7,21 @@ test "issue12891" {...@@ -7,29 +7,21 @@ test "issue12891" {
7 try std.testing.expect(i < f);7 try std.testing.expect(i < f);
8}8}
9test "nan" {9test "nan" {
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11
12 const f = comptime std.math.nan(f64);10 const f = comptime std.math.nan(f64);
13 var i: usize = 0;11 var i: usize = 0;
14 try std.testing.expect(!(f < i));12 try std.testing.expect(!(f < i));
15}13}
16test "inf" {14test "inf" {
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
18
19 const f = comptime std.math.inf(f64);15 const f = comptime std.math.inf(f64);
20 var i: usize = 0;16 var i: usize = 0;
21 try std.testing.expect(f > i);17 try std.testing.expect(f > i);
22}18}
23test "-inf < 0" {19test "-inf < 0" {
24 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
25
26 const f = comptime -std.math.inf(f64);20 const f = comptime -std.math.inf(f64);
27 var i: usize = 0;21 var i: usize = 0;
28 try std.testing.expect(f < i);22 try std.testing.expect(f < i);
29}23}
30test "inf >= 1" {24test "inf >= 1" {
31 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
32
33 const f = comptime std.math.inf(f64);25 const f = comptime std.math.inf(f64);
34 var i: usize = 1;26 var i: usize = 1;
35 try std.testing.expect(f >= i);27 try std.testing.expect(f >= i);
test/behavior/bugs/12928.zig-4
...@@ -11,8 +11,6 @@ const B = extern struct {...@@ -11,8 +11,6 @@ const B = extern struct {
11};11};
1212
13test {13test {
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15
16 var a: *A = undefined;14 var a: *A = undefined;
17 try expect(@TypeOf(&a.value.a) == *volatile u32);15 try expect(@TypeOf(&a.value.a) == *volatile u32);
18 try expect(@TypeOf(&a.value.b) == *volatile i32);16 try expect(@TypeOf(&a.value.b) == *volatile i32);
...@@ -26,8 +24,6 @@ const D = extern union {...@@ -26,8 +24,6 @@ const D = extern union {
26 b: i32,24 b: i32,
27};25};
28test {26test {
29 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
30
31 var c: *C = undefined;27 var c: *C = undefined;
32 try expect(@TypeOf(&c.value.a) == *volatile u32);28 try expect(@TypeOf(&c.value.a) == *volatile u32);
33 try expect(@TypeOf(&c.value.b) == *volatile i32);29 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);...@@ -14,7 +14,6 @@ pub const CustomDraw = DeleagateWithContext(fn (?OnConfirm) void);
14test "simple test" {14test "simple test" {
15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1817
19 var c: CustomDraw = undefined;18 var c: CustomDraw = undefined;
20 _ = c;19 _ = c;
test/behavior/bugs/13113.zig-1
...@@ -10,7 +10,6 @@ test {...@@ -10,7 +10,6 @@ test {
10 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO11 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
12 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
15 const foo = Foo{14 const foo = Foo{
16 .a = 1,15 .a = 1,
test/behavior/bugs/13159.zig-1
...@@ -11,7 +11,6 @@ const Bar = packed struct {...@@ -11,7 +11,6 @@ const Bar = packed struct {
1111
12test {12test {
13 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO13 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1514
16 var foo = Bar.Baz.fizz;15 var foo = Bar.Baz.fizz;
17 try expect(foo == .fizz);16 try expect(foo == .fizz);
test/behavior/bugs/13285.zig-1
...@@ -6,7 +6,6 @@ const Crasher = struct {...@@ -6,7 +6,6 @@ const Crasher = struct {
66
7test {7test {
8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
11 var a: Crasher = undefined;10 var a: Crasher = undefined;
12 var crasher_ptr = &a;11 var crasher_ptr = &a;
test/behavior/bugs/14854.zig-2
...@@ -2,8 +2,6 @@ const testing = @import("std").testing;...@@ -2,8 +2,6 @@ const testing = @import("std").testing;
2const builtin = @import("builtin");2const builtin = @import("builtin");
33
4test {4test {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
7 try testing.expect(getGeneric(u8, getU8) == 123);5 try testing.expect(getGeneric(u8, getU8) == 123);
8}6}
97
test/behavior/bugs/1500.zig-2
...@@ -6,8 +6,6 @@ const A = struct {...@@ -6,8 +6,6 @@ const A = struct {
6const B = *const fn (A) void;6const B = *const fn (A) void;
77
8test "allow these dependencies" {8test "allow these dependencies" {
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10
11 var a: A = undefined;9 var a: A = undefined;
12 var b: B = undefined;10 var b: B = undefined;
13 if (false) {11 if (false) {
test/behavior/bugs/15778.zig-2
...@@ -6,7 +6,6 @@ test {...@@ -6,7 +6,6 @@ test {
6 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
10 const a = @Vector(0, i32){};9 const a = @Vector(0, i32){};
11 const b = @Vector(0, i32){};10 const b = @Vector(0, i32){};
12 _ = a + b;11 _ = a + b;
...@@ -18,7 +17,6 @@ test {...@@ -18,7 +17,6 @@ test {
18 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO18 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
20 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO19 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
22 const a = @Vector(0, f32){};20 const a = @Vector(0, f32){};
23 const b = @Vector(0, f32){};21 const b = @Vector(0, f32){};
24 _ = a - b;22 _ = a - b;
test/behavior/bugs/2622.zig-1
...@@ -7,7 +7,6 @@ test "reslice of undefined global var slice" {...@@ -7,7 +7,6 @@ test "reslice of undefined global var slice" {
7 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
12 var mem: [100]u8 = [_]u8{0} ** 100;11 var mem: [100]u8 = [_]u8{0} ** 100;
13 buf = &mem;12 buf = &mem;
test/behavior/bugs/3779.zig-2
...@@ -8,7 +8,6 @@ const ptr_tag_name: [*:0]const u8 = tag_name;...@@ -8,7 +8,6 @@ const ptr_tag_name: [*:0]const u8 = tag_name;
8test "@tagName() returns a string literal" {8test "@tagName() returns a string literal" {
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
13 try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name));12 try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name));
14 try std.testing.expect(std.mem.eql(u8, "TestEnumValue", tag_name));13 try std.testing.expect(std.mem.eql(u8, "TestEnumValue", tag_name));
...@@ -22,7 +21,6 @@ const ptr_error_name: [*:0]const u8 = error_name;...@@ -22,7 +21,6 @@ const ptr_error_name: [*:0]const u8 = error_name;
22test "@errorName() returns a string literal" {21test "@errorName() returns a string literal" {
23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2624
27 try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name));25 try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name));
28 try std.testing.expect(std.mem.eql(u8, "TestErrorCode", error_name));26 try std.testing.expect(std.mem.eql(u8, "TestErrorCode", error_name));
test/behavior/bugs/4954.zig-1
...@@ -8,7 +8,6 @@ test "crash" {...@@ -8,7 +8,6 @@ test "crash" {
8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
13 var buf: [4096]u8 = undefined;12 var buf: [4096]u8 = undefined;
14 f(&buf);13 f(&buf);
test/behavior/bugs/5398.zig-1
...@@ -22,7 +22,6 @@ test "assignment of field with padding" {...@@ -22,7 +22,6 @@ test "assignment of field with padding" {
22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
24 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO24 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2625
27 renderable = Renderable{26 renderable = Renderable{
28 .mesh = Mesh{ .id = 0 },27 .mesh = Mesh{ .id = 0 },
test/behavior/bugs/6456.zig-1
...@@ -13,7 +13,6 @@ const text =...@@ -13,7 +13,6 @@ const text =
13test "issue 6456" {13test "issue 6456" {
14 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO14 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
18 comptime {17 comptime {
19 var fields: []const StructField = &[0]StructField{};18 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...@@ -14,7 +14,6 @@ test "optional if after an if in a switch prong of a switch with 2 prongs in an
14 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;14 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1817
19 try foo(false, true);18 try foo(false, true);
20}19}
test/behavior/bugs/7047.zig-2
...@@ -15,8 +15,6 @@ fn S(comptime query: U) type {...@@ -15,8 +15,6 @@ fn S(comptime query: U) type {
15}15}
1616
17test "compiler doesn't consider equal unions with different 'type' payload" {17test "compiler doesn't consider equal unions with different 'type' payload" {
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
19
20 const s1 = S(U{ .T = u32 }).tag();18 const s1 = S(U{ .T = u32 }).tag();
21 try std.testing.expectEqual(u32, s1);19 try std.testing.expectEqual(u32, s1);
2220
test/behavior/bugs/7187.zig-2
...@@ -3,8 +3,6 @@ const builtin = @import("builtin");...@@ -3,8 +3,6 @@ const builtin = @import("builtin");
3const expect = std.testing.expect;3const expect = std.testing.expect;
44
5test "miscompilation with bool return type" {5test "miscompilation with bool return type" {
6 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7
8 var x: usize = 1;6 var x: usize = 1;
9 var y: bool = getFalse();7 var y: bool = getFalse();
10 _ = y;8 _ = y;
test/behavior/bugs/8277.zig-2
...@@ -2,8 +2,6 @@ const std = @import("std");...@@ -2,8 +2,6 @@ const std = @import("std");
2const builtin = @import("builtin");2const builtin = @import("builtin");
33
4test "@sizeOf reified union zero-size payload fields" {4test "@sizeOf reified union zero-size payload fields" {
5 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6
7 comptime {5 comptime {
8 try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {}))));6 try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union {}))));
9 try std.testing.expect(0 == @sizeOf(@Type(@typeInfo(union { a: void }))));7 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 {...@@ -31,7 +31,6 @@ fn constCount(comptime cb: *const CountBy, comptime unused: u32) void {
3131
32test "comptime struct return should not return the same instance" {32test "comptime struct return should not return the same instance" {
33 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;33 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
34 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3534
36 //the first parameter must be passed by reference to trigger the bug35 //the first parameter must be passed by reference to trigger the bug
37 //a second parameter is required to trigger the bug36 //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";...@@ -5,7 +5,6 @@ var result: []const u8 = "wrong";
55
6test "pass string literal byvalue to a generic var param" {6test "pass string literal byvalue to a generic var param" {
7 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
10 start();9 start();
11 blowUpStack(10);10 blowUpStack(10);
test/behavior/call.zig-1
...@@ -334,7 +334,6 @@ test "inline call preserves tail call" {...@@ -334,7 +334,6 @@ test "inline call preserves tail call" {
334test "inline call doesn't re-evaluate non generic struct" {334test "inline call doesn't re-evaluate non generic struct" {
335 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO335 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
336 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO336 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
337 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
338337
339 const S = struct {338 const S = struct {
340 fn foo(f: struct { a: u8, b: u8 }) !void {339 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" {...@@ -403,7 +403,6 @@ test "peer type unsigned int to signed" {
403test "expected [*c]const u8, found [*:0]const u8" {403test "expected [*c]const u8, found [*:0]const u8" {
404 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;404 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
405 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO405 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
406 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
407406
408 var a: [*:0]const u8 = "hello";407 var a: [*:0]const u8 = "hello";
409 var b: [*c]const u8 = a;408 var b: [*c]const u8 = a;
...@@ -445,7 +444,6 @@ test "implicitly cast from T to anyerror!?T" {...@@ -445,7 +444,6 @@ test "implicitly cast from T to anyerror!?T" {
445 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;444 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
446 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;445 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
447 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO446 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
448 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
449447
450 try castToOptionalTypeError(1);448 try castToOptionalTypeError(1);
451 try comptime castToOptionalTypeError(1);449 try comptime castToOptionalTypeError(1);
...@@ -521,7 +519,6 @@ fn peerTypeEmptyArrayAndSliceAndError(a: bool, slice: []u8) anyerror![]u8 {...@@ -521,7 +519,6 @@ fn peerTypeEmptyArrayAndSliceAndError(a: bool, slice: []u8) anyerror![]u8 {
521test "implicit cast from *const [N]T to []const T" {519test "implicit cast from *const [N]T to []const T" {
522 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO520 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
523 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO521 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
524 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
525522
526 try testCastConstArrayRefToConstSlice();523 try testCastConstArrayRefToConstSlice();
527 try comptime testCastConstArrayRefToConstSlice();524 try comptime testCastConstArrayRefToConstSlice();
...@@ -547,7 +544,6 @@ fn testCastConstArrayRefToConstSlice() !void {...@@ -547,7 +544,6 @@ fn testCastConstArrayRefToConstSlice() !void {
547test "peer type resolution: error and [N]T" {544test "peer type resolution: error and [N]T" {
548 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;545 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
549 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO546 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
550 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
551547
552 try expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));548 try expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
553 try comptime expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));549 try comptime expect(mem.eql(u8, try testPeerErrorAndArray(0), "OK"));
...@@ -709,7 +705,6 @@ test "peer type resolution: error set supersets" {...@@ -709,7 +705,6 @@ test "peer type resolution: error set supersets" {
709 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO705 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
710 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO706 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
711 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO707 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
712 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
713708
714 const a: error{ One, Two } = undefined;709 const a: error{ One, Two } = undefined;
715 const b: error{One} = undefined;710 const b: error{One} = undefined;
...@@ -739,7 +734,6 @@ test "peer type resolution: disjoint error sets" {...@@ -739,7 +734,6 @@ test "peer type resolution: disjoint error sets" {
739 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO734 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
740 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO735 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
741 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO736 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
742 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
743737
744 const a: error{ One, Two } = undefined;738 const a: error{ One, Two } = undefined;
745 const b: error{Three} = undefined;739 const b: error{Three} = undefined;
...@@ -769,7 +763,6 @@ test "peer type resolution: error union and error set" {...@@ -769,7 +763,6 @@ test "peer type resolution: error union and error set" {
769 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO763 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
770 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO764 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
771 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO765 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
772 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
773766
774 const a: error{Three} = undefined;767 const a: error{Three} = undefined;
775 const b: error{ One, Two }!u32 = undefined;768 const b: error{ One, Two }!u32 = undefined;
...@@ -803,7 +796,6 @@ test "peer type resolution: error union after non-error" {...@@ -803,7 +796,6 @@ test "peer type resolution: error union after non-error" {
803 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO796 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
804 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO797 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
805 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO798 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
806 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
807799
808 const a: u32 = undefined;800 const a: u32 = undefined;
809 const b: error{ One, Two }!u32 = undefined;801 const b: error{ One, Two }!u32 = undefined;
...@@ -863,7 +855,6 @@ test "peer cast *[0]T to []const T" {...@@ -863,7 +855,6 @@ test "peer cast *[0]T to []const T" {
863855
864test "peer cast *[N]T to [*]T" {856test "peer cast *[N]T to [*]T" {
865 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO857 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
866 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
867858
868 var array = [4:99]i32{ 1, 2, 3, 4 };859 var array = [4:99]i32{ 1, 2, 3, 4 };
869 var dest: [*]i32 = undefined;860 var dest: [*]i32 = undefined;
...@@ -930,7 +921,6 @@ test "peer cast [N:x]T to [N]T" {...@@ -930,7 +921,6 @@ test "peer cast [N:x]T to [N]T" {
930test "peer cast *[N:x]T to *[N]T" {921test "peer cast *[N:x]T to *[N]T" {
931 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO922 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
932 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO923 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
933 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
934924
935 const S = struct {925 const S = struct {
936 fn doTheTest() !void {926 fn doTheTest() !void {
...@@ -946,7 +936,6 @@ test "peer cast *[N:x]T to *[N]T" {...@@ -946,7 +936,6 @@ test "peer cast *[N:x]T to *[N]T" {
946test "peer cast [*:x]T to [*]T" {936test "peer cast [*:x]T to [*]T" {
947 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO937 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
948 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO938 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
949 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
950939
951 const S = struct {940 const S = struct {
952 fn doTheTest() !void {941 fn doTheTest() !void {
...@@ -967,7 +956,6 @@ test "peer cast [:x]T to [*:x]T" {...@@ -967,7 +956,6 @@ test "peer cast [:x]T to [*:x]T" {
967 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;956 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
968 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO957 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
969 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO958 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
970 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
971959
972 const S = struct {960 const S = struct {
973 fn doTheTest() !void {961 fn doTheTest() !void {
...@@ -988,7 +976,6 @@ test "peer cast [:x]T to [*:x]T" {...@@ -988,7 +976,6 @@ test "peer cast [:x]T to [*:x]T" {
988test "peer type resolution implicit cast to return type" {976test "peer type resolution implicit cast to return type" {
989 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;977 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
990 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO978 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
992979
993 const S = struct {980 const S = struct {
994 fn doTheTest() !void {981 fn doTheTest() !void {
...@@ -1009,7 +996,6 @@ test "peer type resolution implicit cast to return type" {...@@ -1009,7 +996,6 @@ test "peer type resolution implicit cast to return type" {
1009test "peer type resolution implicit cast to variable type" {996test "peer type resolution implicit cast to variable type" {
1010 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;997 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1011 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO998 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1012 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1013999
1014 const S = struct {1000 const S = struct {
1015 fn doTheTest() !void {1001 fn doTheTest() !void {
...@@ -1034,7 +1020,6 @@ test "variable initialization uses result locations properly with regards to the...@@ -1034,7 +1020,6 @@ test "variable initialization uses result locations properly with regards to the
1034test "cast between C pointer with different but compatible types" {1020test "cast between C pointer with different but compatible types" {
1035 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1021 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1036 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1022 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1037 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10381023
1039 const S = struct {1024 const S = struct {
1040 fn foo(arg: [*]c_ushort) u16 {1025 fn foo(arg: [*]c_ushort) u16 {
...@@ -1052,7 +1037,6 @@ test "cast between C pointer with different but compatible types" {...@@ -1052,7 +1037,6 @@ test "cast between C pointer with different but compatible types" {
1052test "peer type resolve string lit with sentinel-terminated mutable slice" {1037test "peer type resolve string lit with sentinel-terminated mutable slice" {
1053 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1038 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1054 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1039 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1055 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10561040
1057 var array: [4:0]u8 = undefined;1041 var array: [4:0]u8 = undefined;
1058 array[4] = 0; // TODO remove this when #4372 is solved1042 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" {...@@ -1062,8 +1046,6 @@ test "peer type resolve string lit with sentinel-terminated mutable slice" {
1062}1046}
10631047
1064test "peer type resolve array pointers, one of them const" {1048test "peer type resolve array pointers, one of them const" {
1065 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1066
1067 var array1: [4]u8 = undefined;1049 var array1: [4]u8 = undefined;
1068 const array2: [5]u8 = undefined;1050 const array2: [5]u8 = undefined;
1069 try comptime expect(@TypeOf(&array1, &array2) == []const u8);1051 try comptime expect(@TypeOf(&array1, &array2) == []const u8);
...@@ -1071,8 +1053,6 @@ test "peer type resolve array pointers, one of them const" {...@@ -1071,8 +1053,6 @@ test "peer type resolve array pointers, one of them const" {
1071}1053}
10721054
1073test "peer type resolve array pointer and unknown pointer" {1055test "peer type resolve array pointer and unknown pointer" {
1074 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1075
1076 const const_array: [4]u8 = undefined;1056 const const_array: [4]u8 = undefined;
1077 var array: [4]u8 = undefined;1057 var array: [4]u8 = undefined;
1078 var const_ptr: [*]const u8 = undefined;1058 var const_ptr: [*]const u8 = undefined;
...@@ -1092,8 +1072,6 @@ test "peer type resolve array pointer and unknown pointer" {...@@ -1092,8 +1072,6 @@ test "peer type resolve array pointer and unknown pointer" {
1092}1072}
10931073
1094test "comptime float casts" {1074test "comptime float casts" {
1095 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1096
1097 const a = @as(comptime_float, @floatFromInt(1));1075 const a = @as(comptime_float, @floatFromInt(1));
1098 try expect(a == 1);1076 try expect(a == 1);
1099 try expect(@TypeOf(a) == comptime_float);1077 try expect(@TypeOf(a) == comptime_float);
...@@ -1140,8 +1118,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {...@@ -1140,8 +1118,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {
1140}1118}
11411119
1142test "compile time int to ptr of function" {1120test "compile time int to ptr of function" {
1143 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1144
1145 try foobar(FUNCTION_CONSTANT);1121 try foobar(FUNCTION_CONSTANT);
1146}1122}
11471123
...@@ -1341,8 +1317,6 @@ test "*const [N]null u8 to ?[]const u8" {...@@ -1341,8 +1317,6 @@ test "*const [N]null u8 to ?[]const u8" {
1341}1317}
13421318
1343test "cast between [*c]T and ?[*:0]T on fn parameter" {1319test "cast between [*c]T and ?[*:0]T on fn parameter" {
1344 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1345
1346 const S = struct {1320 const S = struct {
1347 const Handler = ?fn ([*c]const u8) callconv(.C) void;1321 const Handler = ?fn ([*c]const u8) callconv(.C) void;
1348 fn addCallback(comptime handler: Handler) void {1322 fn addCallback(comptime handler: Handler) void {
...@@ -1382,7 +1356,6 @@ test "cast between *[N]void and []void" {...@@ -1382,7 +1356,6 @@ test "cast between *[N]void and []void" {
1382test "peer resolve arrays of different size to const slice" {1356test "peer resolve arrays of different size to const slice" {
1383 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1357 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1384 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1358 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1385 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13861359
1387 try expect(mem.eql(u8, boolToStr(true), "true"));1360 try expect(mem.eql(u8, boolToStr(true), "true"));
1388 try expect(mem.eql(u8, boolToStr(false), "false"));1361 try expect(mem.eql(u8, boolToStr(false), "false"));
...@@ -1486,7 +1459,6 @@ test "cast compatible optional types" {...@@ -1486,7 +1459,6 @@ test "cast compatible optional types" {
1486test "coerce undefined single-item pointer of array to error union of slice" {1459test "coerce undefined single-item pointer of array to error union of slice" {
1487 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1460 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1488 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1461 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1489 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14901462
1491 const a = @as([*]u8, undefined)[0..0];1463 const a = @as([*]u8, undefined)[0..0];
1492 var b: error{a}![]const u8 = a;1464 var b: error{a}![]const u8 = a;
...@@ -1496,7 +1468,6 @@ test "coerce undefined single-item pointer of array to error union of slice" {...@@ -1496,7 +1468,6 @@ test "coerce undefined single-item pointer of array to error union of slice" {
14961468
1497test "pointer to empty struct literal to mutable slice" {1469test "pointer to empty struct literal to mutable slice" {
1498 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1470 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15001471
1501 var x: []i32 = &.{};1472 var x: []i32 = &.{};
1502 try expect(x.len == 0);1473 try expect(x.len == 0);
...@@ -1585,7 +1556,6 @@ test "bitcast packed struct with u0" {...@@ -1585,7 +1556,6 @@ test "bitcast packed struct with u0" {
15851556
1586test "optional pointer coerced to optional allowzero pointer" {1557test "optional pointer coerced to optional allowzero pointer" {
1587 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1558 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1588 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15891559
1590 var p: ?*u32 = undefined;1560 var p: ?*u32 = undefined;
1591 var q: ?*allowzero u32 = undefined;1561 var q: ?*allowzero u32 = undefined;
...@@ -1595,8 +1565,6 @@ test "optional pointer coerced to optional allowzero pointer" {...@@ -1595,8 +1565,6 @@ test "optional pointer coerced to optional allowzero pointer" {
1595}1565}
15961566
1597test "single item pointer to pointer to array to slice" {1567test "single item pointer to pointer to array to slice" {
1598 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1599
1600 var x: i32 = 1234;1568 var x: i32 = 1234;
1601 try expect(@as([]const i32, @as(*[1]i32, &x))[0] == 1234);1569 try expect(@as([]const i32, @as(*[1]i32, &x))[0] == 1234);
1602 const z1 = @as([]const i32, @as(*[1]i32, &x));1570 const z1 = @as([]const i32, @as(*[1]i32, &x));
...@@ -1632,8 +1600,6 @@ test "@volatileCast without a result location" {...@@ -1632,8 +1600,6 @@ test "@volatileCast without a result location" {
1632}1600}
16331601
1634test "coercion from single-item pointer to @as to slice" {1602test "coercion from single-item pointer to @as to slice" {
1635 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1636
1637 var x: u32 = 1;1603 var x: u32 = 1;
16381604
1639 // Why the following line gets a compile error?1605 // Why the following line gets a compile error?
...@@ -2295,7 +2261,6 @@ test "cast builtins can wrap result in error union" {...@@ -2295,7 +2261,6 @@ test "cast builtins can wrap result in error union" {
2295 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO2261 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
2296 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO2262 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
2297 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO2263 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2298 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
22992264
2300 const S = struct {2265 const S = struct {
2301 const MyEnum = enum(u32) { _ };2266 const MyEnum = enum(u32) { _ };
test/behavior/cast_int.zig-1
...@@ -19,7 +19,6 @@ test "coerce i8 to i32 and @intCast back" {...@@ -19,7 +19,6 @@ test "coerce i8 to i32 and @intCast back" {
19 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO19 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
20 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO20 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO21 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
22 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2322
24 var x: i8 = -5;23 var x: i8 = -5;
25 var y: i32 = -5;24 var y: i32 = -5;
test/behavior/defer.zig-2
...@@ -5,8 +5,6 @@ const expectEqual = std.testing.expectEqual;...@@ -5,8 +5,6 @@ const expectEqual = std.testing.expectEqual;
5const expectError = std.testing.expectError;5const expectError = std.testing.expectError;
66
7test "break and continue inside loop inside defer expression" {7test "break and continue inside loop inside defer expression" {
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9
10 testBreakContInDefer(10);8 testBreakContInDefer(10);
11 comptime testBreakContInDefer(10);9 comptime testBreakContInDefer(10);
12}10}
test/behavior/empty_union.zig-3
...@@ -9,8 +9,6 @@ test "switch on empty enum" {...@@ -9,8 +9,6 @@ test "switch on empty enum" {
9}9}
1010
11test "switch on empty enum with a specified tag type" {11test "switch on empty enum with a specified tag type" {
12 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13
14 const E = enum(u8) {};12 const E = enum(u8) {};
15 var e: E = undefined;13 var e: E = undefined;
16 switch (e) {}14 switch (e) {}
...@@ -18,7 +16,6 @@ test "switch on empty enum with a specified tag type" {...@@ -18,7 +16,6 @@ test "switch on empty enum with a specified tag type" {
1816
19test "switch on empty auto numbered tagged union" {17test "switch on empty auto numbered tagged union" {
20 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO18 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2219
23 const U = union(enum(u8)) {};20 const U = union(enum(u8)) {};
24 var u: U = undefined;21 var u: U = undefined;
test/behavior/enum.zig-4
...@@ -935,7 +935,6 @@ const Bar = enum { A, B, C, D };...@@ -935,7 +935,6 @@ const Bar = enum { A, B, C, D };
935test "enum literal casting to error union with payload enum" {935test "enum literal casting to error union with payload enum" {
936 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;936 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
937 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO937 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
938 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
939938
940 var bar: error{B}!Bar = undefined;939 var bar: error{B}!Bar = undefined;
941 bar = .B; // should never cast to the error set940 bar = .B; // should never cast to the error set
...@@ -947,7 +946,6 @@ test "constant enum initialization with differing sizes" {...@@ -947,7 +946,6 @@ test "constant enum initialization with differing sizes" {
947 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;946 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
948 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;947 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
949 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO948 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
950 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
951949
952 try test3_1(test3_foo);950 try test3_1(test3_foo);
953 try test3_2(test3_bar);951 try test3_2(test3_bar);
...@@ -1054,7 +1052,6 @@ test "enum literal casting to optional" {...@@ -1054,7 +1052,6 @@ test "enum literal casting to optional" {
1054 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;1052 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
1055 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1053 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1056 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1054 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1057 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10581055
1059 var bar: ?Bar = undefined;1056 var bar: ?Bar = undefined;
1060 bar = .B;1057 bar = .B;
...@@ -1141,7 +1138,6 @@ test "tag name functions are unique" {...@@ -1141,7 +1138,6 @@ test "tag name functions are unique" {
1141test "size of enum with only one tag which has explicit integer tag type" {1138test "size of enum with only one tag which has explicit integer tag type" {
1142 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1139 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1143 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1140 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1144 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11451141
1146 const E = enum(u8) { nope = 10 };1142 const E = enum(u8) { nope = 10 };
1147 const S0 = struct { e: E };1143 const S0 = struct { e: E };
test/behavior/error.zig-1
...@@ -822,7 +822,6 @@ test "alignment of wrapping an error union payload" {...@@ -822,7 +822,6 @@ test "alignment of wrapping an error union payload" {
822822
823test "compare error union and error set" {823test "compare error union and error set" {
824 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO824 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
825 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
826825
827 var a: anyerror = error.Foo;826 var a: anyerror = error.Foo;
828 var b: anyerror!u32 = error.Bar;827 var b: anyerror!u32 = error.Bar;
test/behavior/eval.zig-35
...@@ -5,8 +5,6 @@ const expect = std.testing.expect;...@@ -5,8 +5,6 @@ const expect = std.testing.expect;
5const expectEqual = std.testing.expectEqual;5const expectEqual = std.testing.expectEqual;
66
7test "compile time recursion" {7test "compile time recursion" {
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9
10 try expect(some_data.len == 21);8 try expect(some_data.len == 21);
11}9}
12var some_data: [@as(usize, @intCast(fibonacci(7)))]u8 = undefined;10var some_data: [@as(usize, @intCast(fibonacci(7)))]u8 = undefined;
...@@ -74,7 +72,6 @@ fn constExprEvalOnSingleExprBlocksFn(x: i32, b: bool) i32 {...@@ -74,7 +72,6 @@ fn constExprEvalOnSingleExprBlocksFn(x: i32, b: bool) i32 {
74test "constant expressions" {72test "constant expressions" {
75 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO73 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
76 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO74 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7875
79 var array: [array_size]u8 = undefined;76 var array: [array_size]u8 = undefined;
80 try expect(@sizeOf(@TypeOf(array)) == 20);77 try expect(@sizeOf(@TypeOf(array)) == 20);
...@@ -143,7 +140,6 @@ test "pointer to type" {...@@ -143,7 +140,6 @@ test "pointer to type" {
143test "a type constructed in a global expression" {140test "a type constructed in a global expression" {
144 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO141 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
145 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO142 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
146 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
147143
148 var l: List = undefined;144 var l: List = undefined;
149 l.array[0] = 10;145 l.array[0] = 10;
...@@ -202,8 +198,6 @@ test "@setEvalBranchQuota" {...@@ -202,8 +198,6 @@ test "@setEvalBranchQuota" {
202}198}
203199
204test "constant struct with negation" {200test "constant struct with negation" {
205 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
206
207 try expect(vertices[0].x == @as(f32, -0.6));201 try expect(vertices[0].x == @as(f32, -0.6));
208}202}
209const Vertex = struct {203const Vertex = struct {
...@@ -308,8 +302,6 @@ fn performFn(comptime prefix_char: u8, start_value: i32) i32 {...@@ -308,8 +302,6 @@ fn performFn(comptime prefix_char: u8, start_value: i32) i32 {
308}302}
309303
310test "comptime iterate over fn ptr list" {304test "comptime iterate over fn ptr list" {
311 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
312
313 try expect(performFn('t', 1) == 6);305 try expect(performFn('t', 1) == 6);
314 try expect(performFn('o', 0) == 1);306 try expect(performFn('o', 0) == 1);
315 try expect(performFn('w', 99) == 99);307 try expect(performFn('w', 99) == 99);
...@@ -348,7 +340,6 @@ fn doesAlotT(comptime T: type, value: usize) T {...@@ -348,7 +340,6 @@ fn doesAlotT(comptime T: type, value: usize) T {
348test "@setEvalBranchQuota at same scope as generic function call" {340test "@setEvalBranchQuota at same scope as generic function call" {
349 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO341 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
350 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO342 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352343
353 try expect(doesAlotT(u32, 2) == 2);344 try expect(doesAlotT(u32, 2) == 2);
354}345}
...@@ -385,8 +376,6 @@ test "zero extend from u0 to u1" {...@@ -385,8 +376,6 @@ test "zero extend from u0 to u1" {
385}376}
386377
387test "return 0 from function that has u0 return type" {378test "return 0 from function that has u0 return type" {
388 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
389
390 const S = struct {379 const S = struct {
391 fn foo_zero() u0 {380 fn foo_zero() u0 {
392 return 0;381 return 0;
...@@ -417,8 +406,6 @@ var st_init_str_foo = StInitStrFoo{...@@ -417,8 +406,6 @@ var st_init_str_foo = StInitStrFoo{
417};406};
418407
419test "inline for with same type but different values" {408test "inline for with same type but different values" {
420 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
421
422 var res: usize = 0;409 var res: usize = 0;
423 inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| {410 inline for ([_]type{ [2]u8, [1]u8, [2]u8 }) |T| {
424 var a: T = undefined;411 var a: T = undefined;
...@@ -544,7 +531,6 @@ test "runtime 128 bit integer division" {...@@ -544,7 +531,6 @@ test "runtime 128 bit integer division" {
544test "@tagName of @typeInfo" {531test "@tagName of @typeInfo" {
545 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO532 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
546 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO533 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
547 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
548534
549 const str = @tagName(@typeInfo(u8));535 const str = @tagName(@typeInfo(u8));
550 try expect(std.mem.eql(u8, str, "Int"));536 try expect(std.mem.eql(u8, str, "Int"));
...@@ -554,7 +540,6 @@ test "static eval list init" {...@@ -554,7 +540,6 @@ test "static eval list init" {
554 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO540 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
555 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO541 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
556 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO542 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
557 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
558543
559 try expect(static_vec3.data[2] == 1.0);544 try expect(static_vec3.data[2] == 1.0);
560 try expect(vec3(0.0, 0.0, 3.0).data[2] == 3.0);545 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...@@ -586,7 +571,6 @@ test "inlined loop has array literal with elided runtime scope on first iteratio
586test "ptr to local array argument at comptime" {571test "ptr to local array argument at comptime" {
587 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO572 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
588 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO573 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
589 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
590574
591 comptime {575 comptime {
592 var bytes: [10]u8 = undefined;576 var bytes: [10]u8 = undefined;
...@@ -623,7 +607,6 @@ const hi1 = "hi";...@@ -623,7 +607,6 @@ const hi1 = "hi";
623const hi2 = hi1;607const hi2 = hi1;
624test "const global shares pointer with other same one" {608test "const global shares pointer with other same one" {
625 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO609 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
626 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
627610
628 try assertEqualPtrs(&hi1[0], &hi2[0]);611 try assertEqualPtrs(&hi1[0], &hi2[0]);
629 try comptime expect(&hi1[0] == &hi2[0]);612 try comptime expect(&hi1[0] == &hi2[0]);
...@@ -659,8 +642,6 @@ pub fn TypeWithCompTimeSlice(comptime field_name: []const u8) type {...@@ -659,8 +642,6 @@ pub fn TypeWithCompTimeSlice(comptime field_name: []const u8) type {
659}642}
660643
661test "comptime function with mutable pointer is not memoized" {644test "comptime function with mutable pointer is not memoized" {
662 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
663
664 comptime {645 comptime {
665 var x: i32 = 1;646 var x: i32 = 1;
666 const ptr = &x;647 const ptr = &x;
...@@ -753,7 +734,6 @@ test "array concatenation of function calls" {...@@ -753,7 +734,6 @@ test "array concatenation of function calls" {
753 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;734 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
754 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;735 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
755 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO736 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
756 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
757737
758 var a = oneItem(3) ++ oneItem(4);738 var a = oneItem(3) ++ oneItem(4);
759 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 4 }));739 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 4 }));
...@@ -763,7 +743,6 @@ test "array multiplication of function calls" {...@@ -763,7 +743,6 @@ test "array multiplication of function calls" {
763 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;743 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
764 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;744 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
765 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO745 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
766 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
767746
768 var a = oneItem(3) ** scalar(2);747 var a = oneItem(3) ** scalar(2);
769 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 3 }));748 try expect(std.mem.eql(i32, &a, &[_]i32{ 3, 3 }));
...@@ -852,7 +831,6 @@ test "array multiplication sets the sentinel - value" {...@@ -852,7 +831,6 @@ test "array multiplication sets the sentinel - value" {
852 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;831 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
853 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;832 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
854 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO833 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
855 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
856834
857 var a = [2:7]u3{ 1, 6 };835 var a = [2:7]u3{ 1, 6 };
858 var b = a ** 2;836 var b = a ** 2;
...@@ -869,7 +847,6 @@ test "array multiplication sets the sentinel - pointer" {...@@ -869,7 +847,6 @@ test "array multiplication sets the sentinel - pointer" {
869 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;847 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
870 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;848 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
871 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO849 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
872 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
873850
874 var a = [2:7]u3{ 1, 6 };851 var a = [2:7]u3{ 1, 6 };
875 var b = &a ** 2;852 var b = &a ** 2;
...@@ -1004,7 +981,6 @@ test "closure capture type of runtime-known var" {...@@ -1004,7 +981,6 @@ test "closure capture type of runtime-known var" {
1004981
1005test "comptime break passing through runtime condition converted to runtime break" {982test "comptime break passing through runtime condition converted to runtime break" {
1006 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO983 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1007 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1008984
1009 const S = struct {985 const S = struct {
1010 fn doTheTest() !void {986 fn doTheTest() !void {
...@@ -1038,7 +1014,6 @@ test "comptime break to outer loop passing through runtime condition converted t...@@ -1038,7 +1014,6 @@ test "comptime break to outer loop passing through runtime condition converted t
1038 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1014 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1039 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1015 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1040 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1016 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1041 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10421017
1043 const S = struct {1018 const S = struct {
1044 fn doTheTest() !void {1019 fn doTheTest() !void {
...@@ -1110,7 +1085,6 @@ test "comptime break operand passing through runtime switch converted to runtime...@@ -1110,7 +1085,6 @@ test "comptime break operand passing through runtime switch converted to runtime
1110test "no dependency loop for alignment of self struct" {1085test "no dependency loop for alignment of self struct" {
1111 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1086 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1112 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1087 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1113 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11141088
1115 const S = struct {1089 const S = struct {
1116 fn doTheTest() !void {1090 fn doTheTest() !void {
...@@ -1148,7 +1122,6 @@ test "no dependency loop for alignment of self struct" {...@@ -1148,7 +1122,6 @@ test "no dependency loop for alignment of self struct" {
1148test "no dependency loop for alignment of self bare union" {1122test "no dependency loop for alignment of self bare union" {
1149 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1123 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1150 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1151 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11521125
1153 const S = struct {1126 const S = struct {
1154 fn doTheTest() !void {1127 fn doTheTest() !void {
...@@ -1186,7 +1159,6 @@ test "no dependency loop for alignment of self bare union" {...@@ -1186,7 +1159,6 @@ test "no dependency loop for alignment of self bare union" {
1186test "no dependency loop for alignment of self tagged union" {1159test "no dependency loop for alignment of self tagged union" {
1187 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1188 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1161 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1189 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11901162
1191 const S = struct {1163 const S = struct {
1192 fn doTheTest() !void {1164 fn doTheTest() !void {
...@@ -1377,7 +1349,6 @@ test "lazy value is resolved as slice operand" {...@@ -1377,7 +1349,6 @@ test "lazy value is resolved as slice operand" {
1377 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1349 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1378 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1350 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1379 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1351 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1380 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13811352
1382 const A = struct { a: u32 };1353 const A = struct { a: u32 };
1383 var a: [512]u64 = undefined;1354 var a: [512]u64 = undefined;
...@@ -1435,7 +1406,6 @@ test "inline for inside a runtime condition" {...@@ -1435,7 +1406,6 @@ test "inline for inside a runtime condition" {
14351406
1436test "continue in inline for inside a comptime switch" {1407test "continue in inline for inside a comptime switch" {
1437 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1408 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1438 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14391409
1440 const arr = .{ 1, 2, 3 };1410 const arr = .{ 1, 2, 3 };
1441 var count: u8 = 0;1411 var count: u8 = 0;
...@@ -1501,7 +1471,6 @@ test "continue nested inline for loop in named block expr" {...@@ -1501,7 +1471,6 @@ test "continue nested inline for loop in named block expr" {
15011471
1502test "x and false is comptime-known false" {1472test "x and false is comptime-known false" {
1503 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1504 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15051474
1506 const T = struct {1475 const T = struct {
1507 var x: u32 = 0;1476 var x: u32 = 0;
...@@ -1529,7 +1498,6 @@ test "x and false is comptime-known false" {...@@ -1529,7 +1498,6 @@ test "x and false is comptime-known false" {
15291498
1530test "x or true is comptime-known true" {1499test "x or true is comptime-known true" {
1531 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1500 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1532 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15331501
1534 const T = struct {1502 const T = struct {
1535 var x: u32 = 0;1503 var x: u32 = 0;
...@@ -1559,7 +1527,6 @@ test "non-optional and optional array elements concatenated" {...@@ -1559,7 +1527,6 @@ test "non-optional and optional array elements concatenated" {
1559 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1527 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1560 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1528 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1561 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1529 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1562 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15631530
1564 const array = [1]u8{'A'} ++ [1]?u8{null};1531 const array = [1]u8{'A'} ++ [1]?u8{null};
1565 var index: usize = 0;1532 var index: usize = 0;
...@@ -1648,8 +1615,6 @@ test "result of nested switch assigned to variable" {...@@ -1648,8 +1615,6 @@ test "result of nested switch assigned to variable" {
1648}1615}
16491616
1650test "inline for loop of functions returning error unions" {1617test "inline for loop of functions returning error unions" {
1651 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1652
1653 const T1 = struct {1618 const T1 = struct {
1654 fn v() error{}!usize {1619 fn v() error{}!usize {
1655 return 1;1620 return 1;
test/behavior/floatop.zig-3
...@@ -736,7 +736,6 @@ test "@ceil" {...@@ -736,7 +736,6 @@ test "@ceil" {
736 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO736 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
737 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO737 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
738 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO738 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
739 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
740739
741 try comptime testCeil();740 try comptime testCeil();
742 try testCeil();741 try testCeil();
...@@ -1053,7 +1052,6 @@ test "negation f128" {...@@ -1053,7 +1052,6 @@ test "negation f128" {
1053test "eval @setFloatMode at compile-time" {1052test "eval @setFloatMode at compile-time" {
1054 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1053 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1055 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1054 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1056 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10571055
1058 const result = comptime fnWithFloatMode();1056 const result = comptime fnWithFloatMode();
1059 try expect(result == 1234.0);1057 try expect(result == 1234.0);
...@@ -1089,7 +1087,6 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {...@@ -1089,7 +1087,6 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {
1089 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1087 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1090 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1088 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1091 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1089 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1092 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10931090
1094 inline for (.{ f16, f32, f64, f80, f128 }) |F| {1091 inline for (.{ f16, f32, f64, f80, f128 }) |F| {
1095 const pos = @as(F, 1) / @as(F, 0);1092 const pos = @as(F, 1) / @as(F, 0);
test/behavior/fn.zig-12
...@@ -20,8 +20,6 @@ fn testLocVars(b: i32) void {...@@ -20,8 +20,6 @@ fn testLocVars(b: i32) void {
20}20}
2121
22test "mutable local variables" {22test "mutable local variables" {
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
24
25 var zero: i32 = 0;23 var zero: i32 = 0;
26 try expect(zero == 0);24 try expect(zero == 0);
2725
...@@ -53,8 +51,6 @@ test "weird function name" {...@@ -53,8 +51,6 @@ test "weird function name" {
53}51}
5452
55test "assign inline fn to const variable" {53test "assign inline fn to const variable" {
56 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
57
58 const a = inlineFn;54 const a = inlineFn;
59 a();55 a();
60}56}
...@@ -190,7 +186,6 @@ test "function with complex callconv and return type expressions" {...@@ -190,7 +186,6 @@ test "function with complex callconv and return type expressions" {
190186
191test "pass by non-copying value" {187test "pass by non-copying value" {
192 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO188 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
193 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
194189
195 try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3);190 try expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3);
196}191}
...@@ -218,7 +213,6 @@ fn addPointCoordsVar(pt: anytype) !i32 {...@@ -218,7 +213,6 @@ fn addPointCoordsVar(pt: anytype) !i32 {
218213
219test "pass by non-copying value as method" {214test "pass by non-copying value as method" {
220 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO215 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222216
223 var pt = Point2{ .x = 1, .y = 2 };217 var pt = Point2{ .x = 1, .y = 2 };
224 try expect(pt.addPointCoords() == 3);218 try expect(pt.addPointCoords() == 3);
...@@ -235,7 +229,6 @@ const Point2 = struct {...@@ -235,7 +229,6 @@ const Point2 = struct {
235229
236test "pass by non-copying value as method, which is generic" {230test "pass by non-copying value as method, which is generic" {
237 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO231 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
238 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
239232
240 var pt = Point3{ .x = 1, .y = 2 };233 var pt = Point3{ .x = 1, .y = 2 };
241 try expect(pt.addPointCoords(i32) == 3);234 try expect(pt.addPointCoords(i32) == 3);
...@@ -253,7 +246,6 @@ const Point3 = struct {...@@ -253,7 +246,6 @@ const Point3 = struct {
253246
254test "pass by non-copying value as method, at comptime" {247test "pass by non-copying value as method, at comptime" {
255 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO248 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
256 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
257249
258 comptime {250 comptime {
259 var pt = Point2{ .x = 1, .y = 2 };251 var pt = Point2{ .x = 1, .y = 2 };
...@@ -396,8 +388,6 @@ test "function call with anon list literal - 2D" {...@@ -396,8 +388,6 @@ test "function call with anon list literal - 2D" {
396}388}
397389
398test "ability to give comptime types and non comptime types to same parameter" {390test "ability to give comptime types and non comptime types to same parameter" {
399 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
400
401 const S = struct {391 const S = struct {
402 fn doTheTest() !void {392 fn doTheTest() !void {
403 var x: i32 = 1;393 var x: i32 = 1;
...@@ -415,8 +405,6 @@ test "ability to give comptime types and non comptime types to same parameter" {...@@ -415,8 +405,6 @@ test "ability to give comptime types and non comptime types to same parameter" {
415}405}
416406
417test "function with inferred error set but returning no error" {407test "function with inferred error set but returning no error" {
418 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
419
420 const S = struct {408 const S = struct {
421 fn foo() !void {}409 fn foo() !void {}
422 };410 };
test/behavior/for.zig-4
...@@ -257,7 +257,6 @@ test "for loop with else branch" {...@@ -257,7 +257,6 @@ test "for loop with else branch" {
257test "count over fixed range" {257test "count over fixed range" {
258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
259 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO259 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261260
262 var sum: usize = 0;261 var sum: usize = 0;
263 for (0..6) |i| {262 for (0..6) |i| {
...@@ -270,7 +269,6 @@ test "count over fixed range" {...@@ -270,7 +269,6 @@ test "count over fixed range" {
270test "two counters" {269test "two counters" {
271 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO270 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
272 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO271 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
273 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
274272
275 var sum: usize = 0;273 var sum: usize = 0;
276 for (0..10, 10..20) |i, j| {274 for (0..10, 10..20) |i, j| {
...@@ -318,7 +316,6 @@ test "slice and two counters, one is offset and one is runtime" {...@@ -318,7 +316,6 @@ test "slice and two counters, one is offset and one is runtime" {
318 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO316 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
319 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO317 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO318 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323 const slice: []const u8 = "blah";320 const slice: []const u8 = "blah";
324 var start: usize = 0;321 var start: usize = 0;
...@@ -406,7 +403,6 @@ test "inline for with slice as the comptime-known" {...@@ -406,7 +403,6 @@ test "inline for with slice as the comptime-known" {
406 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO403 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
407 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO404 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
408 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO405 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
409 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
410406
411 const comptime_slice = "hello";407 const comptime_slice = "hello";
412 var runtime_i: usize = 3;408 var runtime_i: usize = 3;
test/behavior/generics.zig-14
...@@ -55,7 +55,6 @@ test "fn with comptime args" {...@@ -55,7 +55,6 @@ test "fn with comptime args" {
55 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;55 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
56 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;56 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
57 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO57 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5958
60 try expect(gimmeTheBigOne(1234, 5678) == 5678);59 try expect(gimmeTheBigOne(1234, 5678) == 5678);
61 try expect(shouldCallSameInstance(34, 12) == 34);60 try expect(shouldCallSameInstance(34, 12) == 34);
...@@ -66,7 +65,6 @@ test "anytype params" {...@@ -66,7 +65,6 @@ test "anytype params" {
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;65 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
67 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
68 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO67 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7068
71 try expect(max_i32(12, 34) == 34);69 try expect(max_i32(12, 34) == 34);
72 try expect(max_f64(1.2, 3.4) == 3.4);70 try expect(max_f64(1.2, 3.4) == 3.4);
...@@ -91,7 +89,6 @@ fn max_f64(a: f64, b: f64) f64 {...@@ -91,7 +89,6 @@ fn max_f64(a: f64, b: f64) f64 {
91test "type constructed by comptime function call" {89test "type constructed by comptime function call" {
92 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;90 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
93 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO91 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
94 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9592
96 var l: SimpleList(10) = undefined;93 var l: SimpleList(10) = undefined;
97 l.array[0] = 10;94 l.array[0] = 10;
...@@ -115,7 +112,6 @@ test "function with return type type" {...@@ -115,7 +112,6 @@ test "function with return type type" {
115 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;112 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
116 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;113 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
117 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO114 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
118 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
119115
120 var list: List(i32) = undefined;116 var list: List(i32) = undefined;
121 var list2: List(i32) = undefined;117 var list2: List(i32) = undefined;
...@@ -147,8 +143,6 @@ fn GenericDataThing(comptime count: isize) type {...@@ -147,8 +143,6 @@ fn GenericDataThing(comptime count: isize) type {
147}143}
148144
149test "use generic param in generic param" {145test "use generic param in generic param" {
150 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
151
152 try expect(aGenericFn(i32, 3, 4) == 7);146 try expect(aGenericFn(i32, 3, 4) == 7);
153}147}
154fn aGenericFn(comptime T: type, comptime a: T, b: T) T {148fn aGenericFn(comptime T: type, comptime a: T, b: T) T {
...@@ -178,7 +172,6 @@ test "generic fn keeps non-generic parameter types" {...@@ -178,7 +172,6 @@ test "generic fn keeps non-generic parameter types" {
178 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;172 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
179 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;173 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
180 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
181 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
182175
183 const A = 128;176 const A = 128;
184177
...@@ -254,7 +247,6 @@ test "generic function instantiation turns into comptime call" {...@@ -254,7 +247,6 @@ test "generic function instantiation turns into comptime call" {
254 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO247 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
255 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO248 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
256 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO249 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
257 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
258250
259 const S = struct {251 const S = struct {
260 fn doTheTest() !void {252 fn doTheTest() !void {
...@@ -305,7 +297,6 @@ test "generic function with void and comptime parameter" {...@@ -305,7 +297,6 @@ test "generic function with void and comptime parameter" {
305test "anonymous struct return type referencing comptime parameter" {297test "anonymous struct return type referencing comptime parameter" {
306 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
307 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO299 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
308 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
309300
310 const S = struct {301 const S = struct {
311 pub fn extraData(comptime T: type, index: usize) struct { data: T, end: usize } {302 pub fn extraData(comptime T: type, index: usize) struct { data: T, end: usize } {
...@@ -406,8 +397,6 @@ test "generic struct as parameter type" {...@@ -406,8 +397,6 @@ test "generic struct as parameter type" {
406}397}
407398
408test "slice as parameter type" {399test "slice as parameter type" {
409 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
410
411 const S = struct {400 const S = struct {
412 fn internComptimeString(comptime str: []const u8) *const []const u8 {401 fn internComptimeString(comptime str: []const u8) *const []const u8 {
413 return &struct {402 return &struct {
...@@ -422,8 +411,6 @@ test "slice as parameter type" {...@@ -422,8 +411,6 @@ test "slice as parameter type" {
422}411}
423412
424test "null sentinel pointer passed as generic argument" {413test "null sentinel pointer passed as generic argument" {
425 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
426
427 const S = struct {414 const S = struct {
428 fn doTheTest(a: anytype) !void {415 fn doTheTest(a: anytype) !void {
429 try std.testing.expect(@intFromPtr(a) == 8);416 try std.testing.expect(@intFromPtr(a) == 8);
...@@ -434,7 +421,6 @@ test "null sentinel pointer passed as generic argument" {...@@ -434,7 +421,6 @@ test "null sentinel pointer passed as generic argument" {
434421
435test "generic function passed as comptime argument" {422test "generic function passed as comptime argument" {
436 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO423 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
437 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
438424
439 const S = struct {425 const S = struct {
440 fn doMath(comptime f: fn (type, i32, i32) error{Overflow}!i32, a: i32, b: i32) !void {426 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" {...@@ -47,7 +47,6 @@ test "inline switch unions" {
47 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO47 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO48 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
49 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO49 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
50 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5150
52 var x: U = .a;51 var x: U = .a;
53 switch (x) {52 switch (x) {
...@@ -141,8 +140,6 @@ test "inline else int all values" {...@@ -141,8 +140,6 @@ test "inline else int all values" {
141}140}
142141
143test "inline switch capture is set when switch operand is comptime known" {142test "inline switch capture is set when switch operand is comptime known" {
144 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
145
146 const U2 = union(enum) {143 const U2 = union(enum) {
147 a: u32,144 a: u32,
148 };145 };
test/behavior/math.zig-2
...@@ -1145,8 +1145,6 @@ test "overflow arithmetic with u0 values" {...@@ -1145,8 +1145,6 @@ test "overflow arithmetic with u0 values" {
1145}1145}
11461146
1147test "allow signed integer division/remainder when values are comptime-known and positive or exact" {1147test "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
1150 try expect(5 / 3 == 1);1148 try expect(5 / 3 == 1);
1151 try expect(-5 / -3 == 1);1149 try expect(-5 / -3 == 1);
1152 try expect(-6 / 3 == -2);1150 try expect(-6 / 3 == -2);
test/behavior/maximum_minimum.zig-2
...@@ -200,7 +200,6 @@ test "@min/@max on comptime_int" {...@@ -200,7 +200,6 @@ test "@min/@max on comptime_int" {
200 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO200 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
201 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO201 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
202 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO202 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
204203
205 const min = @min(1, 2, -2, -1);204 const min = @min(1, 2, -2, -1);
206 const max = @max(1, 2, -2, -1);205 const max = @max(1, 2, -2, -1);
...@@ -257,7 +256,6 @@ test "@min/@max notices bounds from types when comptime-known value is undef" {...@@ -257,7 +256,6 @@ test "@min/@max notices bounds from types when comptime-known value is undef" {
257 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO256 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO257 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
259 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261259
262 var x: u32 = 1_000_000;260 var x: u32 = 1_000_000;
263 const y: u16 = undefined;261 const y: u16 = undefined;
test/behavior/slice.zig-1
...@@ -754,7 +754,6 @@ test "slice len modification at comptime" {...@@ -754,7 +754,6 @@ test "slice len modification at comptime" {
754}754}
755755
756test "slice field ptr const" {756test "slice field ptr const" {
757
758 const const_slice: []const u8 = "string";757 const const_slice: []const u8 = "string";
759758
760 const const_ptr_const_slice = &const_slice;759 const const_ptr_const_slice = &const_slice;
test/behavior/struct.zig-14
...@@ -109,7 +109,6 @@ fn testMutation(foo: *StructFoo) void {...@@ -109,7 +109,6 @@ fn testMutation(foo: *StructFoo) void {
109109
110test "struct byval assign" {110test "struct byval assign" {
111 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO111 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
112 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
113112
114 var foo1: StructFoo = undefined;113 var foo1: StructFoo = undefined;
115 var foo2: StructFoo = undefined;114 var foo2: StructFoo = undefined;
...@@ -129,8 +128,6 @@ test "call struct static method" {...@@ -129,8 +128,6 @@ test "call struct static method" {
129const should_be_11 = StructWithNoFields.add(5, 6);128const should_be_11 = StructWithNoFields.add(5, 6);
130129
131test "invoke static method in global scope" {130test "invoke static method in global scope" {
132 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
133
134 try expect(should_be_11 == 11);131 try expect(should_be_11 == 11);
135}132}
136133
...@@ -255,7 +252,6 @@ test "usingnamespace within struct scope" {...@@ -255,7 +252,6 @@ test "usingnamespace within struct scope" {
255test "struct field init with catch" {252test "struct field init with catch" {
256 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;253 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
257 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO254 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
259255
260 const S = struct {256 const S = struct {
261 fn doTheTest() !void {257 fn doTheTest() !void {
...@@ -367,8 +363,6 @@ test "self-referencing struct via array member" {...@@ -367,8 +363,6 @@ test "self-referencing struct via array member" {
367}363}
368364
369test "empty struct method call" {365test "empty struct method call" {
370 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
371
372 const es = EmptyStruct{};366 const es = EmptyStruct{};
373 try expect(es.method() == 1234);367 try expect(es.method() == 1234);
374}368}
...@@ -553,7 +547,6 @@ test "implicit cast packed struct field to const ptr" {...@@ -553,7 +547,6 @@ test "implicit cast packed struct field to const ptr" {
553547
554test "zero-bit field in packed struct" {548test "zero-bit field in packed struct" {
555 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO549 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
556 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
557550
558 const S = packed struct {551 const S = packed struct {
559 x: u10,552 x: u10,
...@@ -949,8 +942,6 @@ test "tuple assigned to variable" {...@@ -949,8 +942,6 @@ test "tuple assigned to variable" {
949}942}
950943
951test "comptime struct field" {944test "comptime struct field" {
952 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
953
954 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO945 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
955 if (comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; // TODO946 if (comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest; // TODO
956947
...@@ -988,7 +979,6 @@ test "struct with union field" {...@@ -988,7 +979,6 @@ test "struct with union field" {
988 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO979 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
989 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO980 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
990 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO981 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
992982
993 const Value = struct {983 const Value = struct {
994 ref: u32 = 2,984 ref: u32 = 2,
...@@ -1439,8 +1429,6 @@ test "struct field has a pointer to an aligned version of itself" {...@@ -1439,8 +1429,6 @@ test "struct field has a pointer to an aligned version of itself" {
1439}1429}
14401430
1441test "struct has only one reference" {1431test "struct has only one reference" {
1442 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1443
1444 const S = struct {1432 const S = struct {
1445 fn optionalStructParam(_: ?struct { x: u8 }) void {}1433 fn optionalStructParam(_: ?struct { x: u8 }) void {}
1446 fn errorUnionStructParam(_: error{}!struct { x: u8 }) void {}1434 fn errorUnionStructParam(_: error{}!struct { x: u8 }) void {}
...@@ -1510,7 +1498,6 @@ test "discarded struct initialization works as expected" {...@@ -1510,7 +1498,6 @@ test "discarded struct initialization works as expected" {
15101498
1511test "function pointer in struct returns the struct" {1499test "function pointer in struct returns the struct" {
1512 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1500 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1513 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15141501
1515 const A = struct {1502 const A = struct {
1516 const A = @This();1503 const A = @This();
...@@ -1560,7 +1547,6 @@ test "optional field init with tuple" {...@@ -1560,7 +1547,6 @@ test "optional field init with tuple" {
15601547
1561test "if inside struct init inside if" {1548test "if inside struct init inside if" {
1562 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1549 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1563 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15641550
1565 const MyStruct = struct { x: u32 };1551 const MyStruct = struct { x: u32 };
1566 const b: u32 = 5;1552 const b: u32 = 5;
test/behavior/switch.zig-10
...@@ -232,7 +232,6 @@ test "switch prong with variable" {...@@ -232,7 +232,6 @@ test "switch prong with variable" {
232 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO232 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
233 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO233 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
234 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO234 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
235 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
236235
237 try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });236 try switchProngWithVarFn(SwitchProngWithVarEnum{ .One = 13 });
238 try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });237 try switchProngWithVarFn(SwitchProngWithVarEnum{ .Two = 13.0 });
...@@ -257,7 +256,6 @@ test "switch on enum using pointer capture" {...@@ -257,7 +256,6 @@ test "switch on enum using pointer capture" {
257 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO256 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO257 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
259 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
260 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
261259
262 try testSwitchEnumPtrCapture();260 try testSwitchEnumPtrCapture();
263 try comptime testSwitchEnumPtrCapture();261 try comptime testSwitchEnumPtrCapture();
...@@ -318,7 +316,6 @@ test "switch on union with some prongs capturing" {...@@ -318,7 +316,6 @@ test "switch on union with some prongs capturing" {
318 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO316 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
319 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO317 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
320 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO318 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
322319
323 const X = union(enum) {320 const X = union(enum) {
324 a,321 a,
...@@ -355,7 +352,6 @@ test "switch on const enum with var" {...@@ -355,7 +352,6 @@ test "switch on const enum with var" {
355test "anon enum literal used in switch on union enum" {352test "anon enum literal used in switch on union enum" {
356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO353 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
357 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
358 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
359355
360 const Foo = union(enum) {356 const Foo = union(enum) {
361 a: i32,357 a: i32,
...@@ -394,7 +390,6 @@ fn switchWithUnreachable(x: i32) i32 {...@@ -394,7 +390,6 @@ fn switchWithUnreachable(x: i32) i32 {
394390
395test "capture value of switch with all unreachable prongs" {391test "capture value of switch with all unreachable prongs" {
396 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO392 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
397 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
398393
399 const x = return_a_number() catch |err| switch (err) {394 const x = return_a_number() catch |err| switch (err) {
400 else => unreachable,395 else => unreachable,
...@@ -408,7 +403,6 @@ fn return_a_number() anyerror!i32 {...@@ -408,7 +403,6 @@ fn return_a_number() anyerror!i32 {
408403
409test "switch on integer with else capturing expr" {404test "switch on integer with else capturing expr" {
410 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO405 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
411 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
412406
413 const S = struct {407 const S = struct {
414 fn doTheTest() !void {408 fn doTheTest() !void {
...@@ -498,7 +492,6 @@ test "switch prongs with error set cases make a new error set type for capture v...@@ -498,7 +492,6 @@ test "switch prongs with error set cases make a new error set type for capture v
498492
499test "return result loc and then switch with range implicit casted to error union" {493test "return result loc and then switch with range implicit casted to error union" {
500 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO494 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
501 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
502495
503 const S = struct {496 const S = struct {
504 fn doTheTest() !void {497 fn doTheTest() !void {
...@@ -539,7 +532,6 @@ test "switch prongs with cases with identical payload types" {...@@ -539,7 +532,6 @@ test "switch prongs with cases with identical payload types" {
539 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO532 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
540 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO533 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
541 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO534 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
542 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
543535
544 const Union = union(enum) {536 const Union = union(enum) {
545 A: usize,537 A: usize,
...@@ -706,8 +698,6 @@ test "switch item sizeof" {...@@ -706,8 +698,6 @@ test "switch item sizeof" {
706}698}
707699
708test "comptime inline switch" {700test "comptime inline switch" {
709 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
710
711 const U = union(enum) { a: type, b: type };701 const U = union(enum) { a: type, b: type };
712 const value = comptime blk: {702 const value = comptime blk: {
713 var u: U = .{ .a = u32 };703 var u: U = .{ .a = u32 };
test/behavior/this.zig-1
...@@ -27,7 +27,6 @@ test "this refer to module call private fn" {...@@ -27,7 +27,6 @@ test "this refer to module call private fn" {
27test "this refer to container" {27test "this refer to container" {
28 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;28 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
29 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO29 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
30 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3130
32 var pt: Point(i32) = undefined;31 var pt: Point(i32) = undefined;
33 pt.x = 12;32 pt.x = 12;
test/behavior/try.zig-2
...@@ -24,8 +24,6 @@ fn returnsTen() anyerror!i32 {...@@ -24,8 +24,6 @@ fn returnsTen() anyerror!i32 {
24}24}
2525
26test "try without vars" {26test "try without vars" {
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
28
29 const result1 = if (failIfTrue(true)) 1 else |_| @as(i32, 2);27 const result1 = if (failIfTrue(true)) 1 else |_| @as(i32, 2);
30 try expect(result1 == 2);28 try expect(result1 == 2);
3129
test/behavior/tuple.zig-3
...@@ -289,7 +289,6 @@ test "coerce tuple to tuple" {...@@ -289,7 +289,6 @@ test "coerce tuple to tuple" {
289 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO289 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
290 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO290 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
291 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO291 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
292 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
293292
294 const T = std.meta.Tuple(&.{u8});293 const T = std.meta.Tuple(&.{u8});
295 const S = struct {294 const S = struct {
...@@ -304,7 +303,6 @@ test "tuple type with void field" {...@@ -304,7 +303,6 @@ test "tuple type with void field" {
304 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
305 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO304 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
306 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO305 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
307 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
308306
309 const T = std.meta.Tuple(&[_]type{void});307 const T = std.meta.Tuple(&[_]type{void});
310 const x = T{{}};308 const x = T{{}};
...@@ -343,7 +341,6 @@ test "zero sized struct in tuple handled correctly" {...@@ -343,7 +341,6 @@ test "zero sized struct in tuple handled correctly" {
343test "tuple type with void field and a runtime field" {341test "tuple type with void field and a runtime field" {
344 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO342 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
345 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO343 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
346 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
347344
348 const T = std.meta.Tuple(&[_]type{ usize, void });345 const T = std.meta.Tuple(&[_]type{ usize, void });
349 var t: T = .{ 5, {} };346 var t: T = .{ 5, {} };
test/behavior/type_info.zig-5
...@@ -160,7 +160,6 @@ test "type info: error set, error union info, anyerror" {...@@ -160,7 +160,6 @@ test "type info: error set, error union info, anyerror" {
160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
161 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO161 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
164163
165 try testErrorSet();164 try testErrorSet();
166 try comptime testErrorSet();165 try comptime testErrorSet();
...@@ -192,7 +191,6 @@ test "type info: error set single value" {...@@ -192,7 +191,6 @@ test "type info: error set single value" {
192 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;191 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
193 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
194 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
195 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
196194
197 const TestSet = error.One;195 const TestSet = error.One;
198196
...@@ -206,7 +204,6 @@ test "type info: error set merged" {...@@ -206,7 +204,6 @@ test "type info: error set merged" {
206 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;204 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
207 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO205 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
208 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO206 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
209 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
210207
211 const TestSet = error{ One, Two } || error{Three};208 const TestSet = error{ One, Two } || error{Three};
212209
...@@ -222,7 +219,6 @@ test "type info: enum info" {...@@ -222,7 +219,6 @@ test "type info: enum info" {
222 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;219 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
223 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;220 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
224 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO221 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
225 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
226222
227 try testEnum();223 try testEnum();
228 try comptime testEnum();224 try comptime testEnum();
...@@ -533,7 +529,6 @@ test "Struct.is_tuple for anon list literal" {...@@ -533,7 +529,6 @@ test "Struct.is_tuple for anon list literal" {
533529
534test "Struct.is_tuple for anon struct literal" {530test "Struct.is_tuple for anon struct literal" {
535 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO531 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
536 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
537532
538 const info = @typeInfo(@TypeOf(.{ .a = 0 }));533 const info = @typeInfo(@TypeOf(.{ .a = 0 }));
539 try expect(!info.Struct.is_tuple);534 try expect(!info.Struct.is_tuple);
test/behavior/undefined.zig-3
...@@ -48,7 +48,6 @@ test "assign undefined to struct" {...@@ -48,7 +48,6 @@ test "assign undefined to struct" {
48 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;48 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
50 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO50 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5251
53 comptime {52 comptime {
54 var foo: Foo = undefined;53 var foo: Foo = undefined;
...@@ -66,7 +65,6 @@ test "assign undefined to struct with method" {...@@ -66,7 +65,6 @@ test "assign undefined to struct with method" {
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;65 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
67 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
68 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO67 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7068
71 comptime {69 comptime {
72 var foo: Foo = undefined;70 var foo: Foo = undefined;
...@@ -82,7 +80,6 @@ test "assign undefined to struct with method" {...@@ -82,7 +80,6 @@ test "assign undefined to struct with method" {
8280
83test "type name of undefined" {81test "type name of undefined" {
84 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO82 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
85 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8683
87 const x = undefined;84 const x = undefined;
88 try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));85 try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));
test/behavior/underscore.zig-1
...@@ -8,7 +8,6 @@ test "ignore lval with underscore" {...@@ -8,7 +8,6 @@ test "ignore lval with underscore" {
88
9test "ignore lval with underscore (while loop)" {9test "ignore lval with underscore (while loop)" {
10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1211
13 while (optionalReturnError()) |_| {12 while (optionalReturnError()) |_| {
14 while (optionalReturnError()) |_| {13 while (optionalReturnError()) |_| {
test/behavior/union.zig-3
...@@ -1160,7 +1160,6 @@ test "union with no result loc initiated with a runtime value" {...@@ -1160,7 +1160,6 @@ test "union with no result loc initiated with a runtime value" {
1160 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1160 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11641163
1165 const U = union {1164 const U = union {
1166 a: u32,1165 a: u32,
...@@ -1177,7 +1176,6 @@ test "union with a large struct field" {...@@ -1177,7 +1176,6 @@ test "union with a large struct field" {
1177 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1176 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1178 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1177 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1179 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1178 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1180 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11811179
1182 const S = struct {1180 const S = struct {
1183 a: [8]usize,1181 a: [8]usize,
...@@ -1329,7 +1327,6 @@ test "@unionInit uses tag value instead of field index" {...@@ -1329,7 +1327,6 @@ test "@unionInit uses tag value instead of field index" {
1329 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1327 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1330 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1328 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1331 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1329 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1332 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13331330
1334 const E = enum(u8) {1331 const E = enum(u8) {
1335 b = 255,1332 b = 255,
test/behavior/vector.zig-2
...@@ -240,7 +240,6 @@ test "peer type resolution with coercible element types" {...@@ -240,7 +240,6 @@ test "peer type resolution with coercible element types" {
240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
241 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO241 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
242 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO242 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
243 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
244243
245 const S = struct {244 const S = struct {
246 fn doTheTest() !void {245 fn doTheTest() !void {
...@@ -1469,7 +1468,6 @@ test "boolean vector with 2 or more booleans" {...@@ -1469,7 +1468,6 @@ test "boolean vector with 2 or more booleans" {
1469 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1468 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1470 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1469 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1471 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1470 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1472 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
14731471
1474 // TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:1472 // TODO: try removing this after <https://github.com/ziglang/zig/issues/13782>:
1475 if (!(builtin.os.tag == .linux and builtin.cpu.arch == .x86_64)) return;1473 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" {...@@ -50,8 +50,6 @@ test "while with continue expression" {
50}50}
5151
52test "while with else" {52test "while with else" {
53 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
54
55 var sum: i32 = 0;53 var sum: i32 = 0;
56 var i: i32 = 0;54 var i: i32 = 0;
57 var got_else: i32 = 0;55 var got_else: i32 = 0;
...@@ -79,8 +77,6 @@ fn getNumberOrNull() ?i32 {...@@ -79,8 +77,6 @@ fn getNumberOrNull() ?i32 {
79}77}
8078
81test "continue outer while loop" {79test "continue outer while loop" {
82 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
83
84 testContinueOuter();80 testContinueOuter();
85 comptime testContinueOuter();81 comptime testContinueOuter();
86}82}
...@@ -127,7 +123,6 @@ test "while copies its payload" {...@@ -127,7 +123,6 @@ test "while copies its payload" {
127123
128test "continue and break" {124test "continue and break" {
129 if (builtin.zig_backend == .stage2_aarch64 and builtin.os.tag == .macos) return error.SkipZigTest;125 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
132 try runContinueAndBreakTest();127 try runContinueAndBreakTest();
133 try expect(continue_and_break_counter == 8);128 try expect(continue_and_break_counter == 8);
...@@ -149,7 +144,6 @@ fn runContinueAndBreakTest() !void {...@@ -149,7 +144,6 @@ fn runContinueAndBreakTest() !void {
149test "while with optional as condition" {144test "while with optional as condition" {
150 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;145 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
151 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO146 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153147
154 numbers_left = 10;148 numbers_left = 10;
155 var sum: i32 = 0;149 var sum: i32 = 0;
...@@ -162,7 +156,6 @@ test "while with optional as condition" {...@@ -162,7 +156,6 @@ test "while with optional as condition" {
162test "while with optional as condition with else" {156test "while with optional as condition with else" {
163 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;157 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
164 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO158 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
165 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
166159
167 numbers_left = 10;160 numbers_left = 10;
168 var sum: i32 = 0;161 var sum: i32 = 0;
...@@ -223,7 +216,6 @@ test "while on optional with else result follow break prong" {...@@ -223,7 +216,6 @@ test "while on optional with else result follow break prong" {
223 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;216 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
224 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;217 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
225 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO218 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
226 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
227219
228 const result = while (returnOptional(10)) |value| {220 const result = while (returnOptional(10)) |value| {
229 break value;221 break value;
...@@ -251,8 +243,6 @@ fn returnTrue() bool {...@@ -251,8 +243,6 @@ fn returnTrue() bool {
251}243}
252244
253test "return with implicit cast from while loop" {245test "return with implicit cast from while loop" {
254 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
255
256 returnWithImplicitCastFromWhileLoopTest() catch unreachable;246 returnWithImplicitCastFromWhileLoopTest() catch unreachable;
257}247}
258fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {248fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
...@@ -263,7 +253,6 @@ fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {...@@ -263,7 +253,6 @@ fn returnWithImplicitCastFromWhileLoopTest() anyerror!void {
263253
264test "while on error union with else result follow else prong" {254test "while on error union with else result follow else prong" {
265 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO255 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
266 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
267256
268 const result = while (returnError()) |value| {257 const result = while (returnError()) |value| {
269 break value;258 break value;
...@@ -273,7 +262,6 @@ test "while on error union with else result follow else prong" {...@@ -273,7 +262,6 @@ test "while on error union with else result follow else prong" {
273262
274test "while on error union with else result follow break prong" {263test "while on error union with else result follow break prong" {
275 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO264 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
276 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
277265
278 const result = while (returnSuccess(10)) |value| {266 const result = while (returnSuccess(10)) |value| {
279 break value;267 break value;
...@@ -319,7 +307,6 @@ test "while error 2 break statements and an else" {...@@ -319,7 +307,6 @@ test "while error 2 break statements and an else" {
319 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO307 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
320 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO308 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
321 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO309 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
322 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
323310
324 const S = struct {311 const S = struct {
325 fn entry(opt_t: anyerror!bool, f: bool) !void {312 fn entry(opt_t: anyerror!bool, f: bool) !void {
...@@ -345,8 +332,6 @@ test "continue inline while loop" {...@@ -345,8 +332,6 @@ test "continue inline while loop" {
345}332}
346333
347test "else continue outer while" {334test "else continue outer while" {
348 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
349
350 var i: usize = 0;335 var i: usize = 0;
351 while (true) {336 while (true) {
352 i += 1;337 i += 1;