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

spirv: update failing / passing tests

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

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

test/behavior/abs.zig-1
...@@ -48,7 +48,6 @@ test "@abs unsigned integers" {...@@ -48,7 +48,6 @@ test "@abs unsigned integers" {
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_riscv64) return error.SkipZigTest; // TODO49 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; // TODO
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 try comptime testAbsUnsignedIntegers();52 try comptime testAbsUnsignedIntegers();
54 try testAbsUnsignedIntegers();53 try testAbsUnsignedIntegers();
test/behavior/align.zig-7
...@@ -18,7 +18,6 @@ test "global variable alignment" {...@@ -18,7 +18,6 @@ test "global variable alignment" {
18test "slicing array of length 1 can not assume runtime index is always zero" {18test "slicing array of length 1 can not assume runtime index is always zero" {
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_sparc64) return error.SkipZigTest; // TODO20 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2221
23 var runtime_index: usize = 1;22 var runtime_index: usize = 1;
24 const slice = @as(*align(4) [1]u8, &foo)[runtime_index..];23 const slice = @as(*align(4) [1]u8, &foo)[runtime_index..];
...@@ -226,7 +225,6 @@ fn fnWithAlignedStack() i32 {...@@ -226,7 +225,6 @@ fn fnWithAlignedStack() i32 {
226test "implicitly decreasing slice alignment" {225test "implicitly decreasing slice alignment" {
227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;226 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
228 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO227 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
229 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
230228
231 const a: u32 align(4) = 3;229 const a: u32 align(4) = 3;
232 const b: u32 align(8) = 4;230 const b: u32 align(8) = 4;
...@@ -396,7 +394,6 @@ test "function align expression depends on generic parameter" {...@@ -396,7 +394,6 @@ test "function align expression depends on generic parameter" {
396394
397test "function callconv expression depends on generic parameter" {395test "function callconv expression depends on generic parameter" {
398 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO396 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
399 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
400397
401 const S = struct {398 const S = struct {
402 fn doTheTest() !void {399 fn doTheTest() !void {
...@@ -414,7 +411,6 @@ test "function callconv expression depends on generic parameter" {...@@ -414,7 +411,6 @@ test "function callconv expression depends on generic parameter" {
414411
415test "runtime-known array index has best alignment possible" {412test "runtime-known array index has best alignment possible" {
416 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO413 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
417 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
418414
419 // take full advantage of over-alignment415 // take full advantage of over-alignment
420 var array align(4) = [_]u8{ 1, 2, 3, 4 };416 var array align(4) = [_]u8{ 1, 2, 3, 4 };
...@@ -546,7 +542,6 @@ test "align(N) on functions" {...@@ -546,7 +542,6 @@ test "align(N) on functions" {
546 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO542 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
547 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO543 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
548 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO544 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
549 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
550545
551 if (builtin.zig_backend == .stage2_c) {546 if (builtin.zig_backend == .stage2_c) {
552 // https://github.com/ziglang/zig/issues/16845547 // https://github.com/ziglang/zig/issues/16845
...@@ -585,7 +580,6 @@ test "comptime alloc alignment" {...@@ -585,7 +580,6 @@ test "comptime alloc alignment" {
585test "@alignCast null" {580test "@alignCast null" {
586 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;581 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
587 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO582 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
588 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
589583
590 var ptr: ?*anyopaque = null;584 var ptr: ?*anyopaque = null;
591 const aligned: ?*anyopaque = @alignCast(ptr);585 const aligned: ?*anyopaque = @alignCast(ptr);
...@@ -601,7 +595,6 @@ test "sub-aligned pointer field access" {...@@ -601,7 +595,6 @@ test "sub-aligned pointer field access" {
601 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;595 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
602 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;596 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
603 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;597 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
604 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
605 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;598 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
606599
607 // Originally reported at https://github.com/ziglang/zig/issues/14904600 // Originally reported at https://github.com/ziglang/zig/issues/14904
test/behavior/array.zig-4
...@@ -72,7 +72,6 @@ test "array concat with tuple" {...@@ -72,7 +72,6 @@ test "array concat with tuple" {
72 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO72 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
73 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO73 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
74 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO74 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
75 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7675
77 const array: [2]u8 = .{ 1, 2 };76 const array: [2]u8 = .{ 1, 2 };
78 {77 {
...@@ -298,7 +297,6 @@ const Str = struct { a: []Sub };...@@ -298,7 +297,6 @@ const Str = struct { a: []Sub };
298test "set global var array via slice embedded in struct" {297test "set global var array via slice embedded in struct" {
299 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
300 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO299 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
301 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
302300
303 var s = Str{ .a = s_array[0..] };301 var s = Str{ .a = s_array[0..] };
304302
...@@ -568,7 +566,6 @@ test "type coercion of anon struct literal to array" {...@@ -568,7 +566,6 @@ test "type coercion of anon struct literal to array" {
568 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO566 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
569 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO567 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
570 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO568 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
571 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
572569
573 const S = struct {570 const S = struct {
574 const U = union {571 const U = union {
...@@ -651,7 +648,6 @@ test "array init of container level array variable" {...@@ -651,7 +648,6 @@ test "array init of container level array variable" {
651 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO648 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
652 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO649 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
653 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO650 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
654 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
655651
656 const S = struct {652 const S = struct {
657 var pair: [2]usize = .{ 1, 2 };653 var pair: [2]usize = .{ 1, 2 };
test/behavior/basic.zig-7
...@@ -378,8 +378,6 @@ fn testTakeAddressOfParameter(f: f32) !void {...@@ -378,8 +378,6 @@ fn testTakeAddressOfParameter(f: f32) !void {
378}378}
379379
380test "pointer to void return type" {380test "pointer to void return type" {
381 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
382
383 try testPointerToVoidReturnType();381 try testPointerToVoidReturnType();
384}382}
385fn testPointerToVoidReturnType() anyerror!void {383fn testPointerToVoidReturnType() anyerror!void {
...@@ -473,7 +471,6 @@ fn testStructInFn() !void {...@@ -473,7 +471,6 @@ fn testStructInFn() !void {
473471
474test "fn call returning scalar optional in equality expression" {472test "fn call returning scalar optional in equality expression" {
475 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
476 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
477 try expect(getNull() == null);474 try expect(getNull() == null);
478}475}
479476
...@@ -484,7 +481,6 @@ fn getNull() ?*i32 {...@@ -484,7 +481,6 @@ fn getNull() ?*i32 {
484test "global variable assignment with optional unwrapping with var initialized to undefined" {481test "global variable assignment with optional unwrapping with var initialized to undefined" {
485 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;482 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
486 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO483 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
487 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
488484
489 const S = struct {485 const S = struct {
490 var data: i32 = 1234;486 var data: i32 = 1234;
...@@ -573,8 +569,6 @@ test "comptime cast fn to ptr" {...@@ -573,8 +569,6 @@ test "comptime cast fn to ptr" {
573}569}
574570
575test "equality compare fn ptrs" {571test "equality compare fn ptrs" {
576 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
577
578 var a = &emptyFn;572 var a = &emptyFn;
579 try expect(a == a);573 try expect(a == a);
580}574}
...@@ -840,7 +834,6 @@ test "labeled block implicitly ends in a break" {...@@ -840,7 +834,6 @@ test "labeled block implicitly ends in a break" {
840test "catch in block has correct result location" {834test "catch in block has correct result location" {
841 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;835 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
842 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO836 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
843 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
844837
845 const S = struct {838 const S = struct {
846 fn open() error{A}!@This() {839 fn open() error{A}!@This() {
test/behavior/bitcast.zig-8
...@@ -149,8 +149,6 @@ test "bitcast literal [4]u8 param to u32" {...@@ -149,8 +149,6 @@ test "bitcast literal [4]u8 param to u32" {
149}149}
150150
151test "bitcast generates a temporary value" {151test "bitcast generates a temporary value" {
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153
154 var y = @as(u16, 0x55AA);152 var y = @as(u16, 0x55AA);
155 const x = @as(u16, @bitCast(@as([2]u8, @bitCast(y))));153 const x = @as(u16, @bitCast(@as([2]u8, @bitCast(y))));
156 try expect(y == x);154 try expect(y == x);
...@@ -186,7 +184,6 @@ test "@bitCast packed structs at runtime and comptime" {...@@ -186,7 +184,6 @@ test "@bitCast packed structs at runtime and comptime" {
186test "@bitCast extern structs at runtime and comptime" {184test "@bitCast extern structs at runtime and comptime" {
187 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;185 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
188 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO186 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
189 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
190187
191 const Full = extern struct {188 const Full = extern struct {
192 number: u16,189 number: u16,
...@@ -241,7 +238,6 @@ test "bitcast packed struct to integer and back" {...@@ -241,7 +238,6 @@ test "bitcast packed struct to integer and back" {
241test "implicit cast to error union by returning" {238test "implicit cast to error union by returning" {
242 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;239 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
243 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO240 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
244 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
245241
246 const S = struct {242 const S = struct {
247 fn entry() !void {243 fn entry() !void {
...@@ -271,8 +267,6 @@ test "comptime bitcast used in expression has the correct type" {...@@ -271,8 +267,6 @@ test "comptime bitcast used in expression has the correct type" {
271}267}
272268
273test "bitcast passed as tuple element" {269test "bitcast passed as tuple element" {
274 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
275
276 const S = struct {270 const S = struct {
277 fn foo(args: anytype) !void {271 fn foo(args: anytype) !void {
278 try comptime expect(@TypeOf(args[0]) == f32);272 try comptime expect(@TypeOf(args[0]) == f32);
...@@ -283,8 +277,6 @@ test "bitcast passed as tuple element" {...@@ -283,8 +277,6 @@ test "bitcast passed as tuple element" {
283}277}
284278
285test "triple level result location with bitcast sandwich passed as tuple element" {279test "triple level result location with bitcast sandwich passed as tuple element" {
286 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
287
288 const S = struct {280 const S = struct {
289 fn foo(args: anytype) !void {281 fn foo(args: anytype) !void {
290 try comptime expect(@TypeOf(args[0]) == f64);282 try comptime expect(@TypeOf(args[0]) == f64);
test/behavior/bugs/10684.zig-1
...@@ -6,7 +6,6 @@ test "slicing slices" {...@@ -6,7 +6,6 @@ test "slicing slices" {
6 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
11 const foo = "1234";10 const foo = "1234";
12 const bar = foo[0..4];11 const bar = foo[0..4];
test/behavior/bugs/1076.zig-1
...@@ -6,7 +6,6 @@ const expect = std.testing.expect;...@@ -6,7 +6,6 @@ const expect = std.testing.expect;
6test "comptime code should not modify constant data" {6test "comptime code should not modify constant data" {
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
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 try testCastPtrOfArrayToSliceAndPtr();10 try testCastPtrOfArrayToSliceAndPtr();
12 try comptime testCastPtrOfArrayToSliceAndPtr();11 try comptime testCastPtrOfArrayToSliceAndPtr();
test/behavior/bugs/11046.zig-1
...@@ -13,7 +13,6 @@ test "fixed" {...@@ -13,7 +13,6 @@ test "fixed" {
13 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO13 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
15 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
18 bar() catch |err| switch (err) {17 bar() catch |err| switch (err) {
19 error.Foo => {}, // error: expected (inferred error set of bar), found error{Foo}18 error.Foo => {}, // error: expected (inferred error set of bar), found error{Foo}
test/behavior/bugs/11139.zig-1
...@@ -6,7 +6,6 @@ test "store array of array of structs at comptime" {...@@ -6,7 +6,6 @@ test "store array of array of structs at comptime" {
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_arm) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_arm) 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;
109
11 try expect(storeArrayOfArrayOfStructs() == 15);10 try expect(storeArrayOfArrayOfStructs() == 15);
12 try comptime expect(storeArrayOfArrayOfStructs() == 15);11 try comptime expect(storeArrayOfArrayOfStructs() == 15);
test/behavior/bugs/11213.zig-2
...@@ -3,8 +3,6 @@ const builtin = @import("builtin");...@@ -3,8 +3,6 @@ const builtin = @import("builtin");
3const testing = std.testing;3const testing = std.testing;
44
5test {5test {
6 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7
8 const g: error{Test}!void = error.Test;6 const g: error{Test}!void = error.Test;
97
10 var v: u32 = 0;8 var v: u32 = 0;
test/behavior/bugs/11995.zig-1
...@@ -20,7 +20,6 @@ test {...@@ -20,7 +20,6 @@ test {
20 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO20 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO21 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2423
25 var string: [5]u8 = "hello".*;24 var string: [5]u8 = "hello".*;
26 const arg_data = wuffs_base__slice_u8{ .ptr = @as([*c]u8, @ptrCast(&string)), .len = string.len };25 const arg_data = wuffs_base__slice_u8{ .ptr = @as([*c]u8, @ptrCast(&string)), .len = string.len };
test/behavior/bugs/12092.zig-1
...@@ -17,7 +17,6 @@ test {...@@ -17,7 +17,6 @@ test {
17 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO18 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO19 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
20 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2120
22 var baz: u32 = 24;21 var baz: u32 = 24;
23 try takeFoo(&.{22 try takeFoo(&.{
test/behavior/bugs/12142.zig-1
...@@ -22,7 +22,6 @@ test {...@@ -22,7 +22,6 @@ test {
22 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO24 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2625
27 const test_struct = Test{26 const test_struct = Test{
28 .holders = &.{27 .holders = &.{
test/behavior/bugs/12551.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 try std.testing.expect(for ([1]u8{0}) |x| {8 try std.testing.expect(for ([1]u8{0}) |x| {
10 if (x == 0) break true;9 if (x == 0) break true;
test/behavior/bugs/12644.zig-2
...@@ -10,8 +10,6 @@ fn main0() !void {...@@ -10,8 +10,6 @@ fn main0() !void {
10}10}
1111
12test "issue12644" {12test "issue12644" {
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14
15 main0() catch |e| {13 main0() catch |e| {
16 try std.testing.expect(e == error.AnError);14 try std.testing.expect(e == error.AnError);
17 };15 };
test/behavior/bugs/12890.zig-1
...@@ -11,7 +11,6 @@ fn a(b: []u3, c: u3) void {...@@ -11,7 +11,6 @@ fn a(b: []u3, c: u3) void {
11test {11test {
12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
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 arr: [8]u3 = undefined;15 var arr: [8]u3 = undefined;
17 a(&arr, 5);16 a(&arr, 5);
test/behavior/bugs/12891.zig-6
...@@ -29,7 +29,6 @@ test "inf >= 1" {...@@ -29,7 +29,6 @@ test "inf >= 1" {
29test "isNan(nan * 1)" {29test "isNan(nan * 1)" {
30 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO30 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
31 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO31 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
32 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3332
34 const nan_times_one = comptime std.math.nan(f64) * 1;33 const nan_times_one = comptime std.math.nan(f64) * 1;
35 try std.testing.expect(std.math.isNan(nan_times_one));34 try std.testing.expect(std.math.isNan(nan_times_one));
...@@ -37,7 +36,6 @@ test "isNan(nan * 1)" {...@@ -37,7 +36,6 @@ test "isNan(nan * 1)" {
37test "runtime isNan(nan * 1)" {36test "runtime isNan(nan * 1)" {
38 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO37 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
39 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO38 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
40 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4139
42 const nan_times_one = std.math.nan(f64) * 1;40 const nan_times_one = std.math.nan(f64) * 1;
43 try std.testing.expect(std.math.isNan(nan_times_one));41 try std.testing.expect(std.math.isNan(nan_times_one));
...@@ -45,7 +43,6 @@ test "runtime isNan(nan * 1)" {...@@ -45,7 +43,6 @@ test "runtime isNan(nan * 1)" {
45test "isNan(nan * 0)" {43test "isNan(nan * 0)" {
46 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO44 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
47 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO45 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4946
50 const nan_times_zero = comptime std.math.nan(f64) * 0;47 const nan_times_zero = comptime std.math.nan(f64) * 0;
51 try std.testing.expect(std.math.isNan(nan_times_zero));48 try std.testing.expect(std.math.isNan(nan_times_zero));
...@@ -55,7 +52,6 @@ test "isNan(nan * 0)" {...@@ -55,7 +52,6 @@ test "isNan(nan * 0)" {
55test "isNan(inf * 0)" {52test "isNan(inf * 0)" {
56 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO53 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
57 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO54 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5955
60 const inf_times_zero = comptime std.math.inf(f64) * 0;56 const inf_times_zero = comptime std.math.inf(f64) * 0;
61 try std.testing.expect(std.math.isNan(inf_times_zero));57 try std.testing.expect(std.math.isNan(inf_times_zero));
...@@ -65,7 +61,6 @@ test "isNan(inf * 0)" {...@@ -65,7 +61,6 @@ test "isNan(inf * 0)" {
65test "runtime isNan(nan * 0)" {61test "runtime isNan(nan * 0)" {
66 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO62 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
67 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO63 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
68 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6964
70 const nan_times_zero = std.math.nan(f64) * 0;65 const nan_times_zero = std.math.nan(f64) * 0;
71 try std.testing.expect(std.math.isNan(nan_times_zero));66 try std.testing.expect(std.math.isNan(nan_times_zero));
...@@ -75,7 +70,6 @@ test "runtime isNan(nan * 0)" {...@@ -75,7 +70,6 @@ test "runtime isNan(nan * 0)" {
75test "runtime isNan(inf * 0)" {70test "runtime isNan(inf * 0)" {
76 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO71 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO72 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
78 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7973
80 const inf_times_zero = std.math.inf(f64) * 0;74 const inf_times_zero = std.math.inf(f64) * 0;
81 try std.testing.expect(std.math.isNan(inf_times_zero));75 try std.testing.expect(std.math.isNan(inf_times_zero));
test/behavior/bugs/12972.zig-1
...@@ -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_arm) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_arm) 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;
109
11 const c: u8 = 42;10 const c: u8 = 42;
12 f(&[_:null]?u8{c});11 f(&[_:null]?u8{c});
test/behavior/bugs/13064.zig-1
...@@ -6,7 +6,6 @@ test {...@@ -6,7 +6,6 @@ test {
6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_aarch64) 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;
109
11 var x: [10][10]u32 = undefined;10 var x: [10][10]u32 = undefined;
1211
test/behavior/bugs/13065.zig-1
...@@ -11,7 +11,6 @@ test {...@@ -11,7 +11,6 @@ test {
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_aarch64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
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 x = U{ .array = undefined };15 var x = U{ .array = undefined };
1716
test/behavior/bugs/13366.zig-1
...@@ -16,7 +16,6 @@ test {...@@ -16,7 +16,6 @@ test {
16 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO18 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
21 var a: u32 = 16;20 var a: u32 = 16;
22 var reason = .{ .c_import = .{ .a = a } };21 var reason = .{ .c_import = .{ .a = a } };
test/behavior/bugs/1381.zig-1
...@@ -15,7 +15,6 @@ test "union that needs padding bytes inside an array" {...@@ -15,7 +15,6 @@ test "union that needs padding bytes inside an array" {
15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
17 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1918
20 var as = [_]A{19 var as = [_]A{
21 A{ .B = B{ .D = 1 } },20 A{ .B = B{ .D = 1 } },
test/behavior/bugs/1442.zig-1
...@@ -10,7 +10,6 @@ test "const error union field alignment" {...@@ -10,7 +10,6 @@ test "const error union field alignment" {
10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
11 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;11 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
12 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
15 var union_or_err: anyerror!Union = Union{ .Color = 1234 };14 var union_or_err: anyerror!Union = Union{ .Color = 1234 };
16 try std.testing.expect((union_or_err catch unreachable).Color == 1234);15 try std.testing.expect((union_or_err catch unreachable).Color == 1234);
test/behavior/bugs/1607.zig-1
...@@ -14,7 +14,6 @@ test "slices pointing at the same address as global array." {...@@ -14,7 +14,6 @@ test "slices pointing at the same address as global array." {
14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;14 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_aarch64) 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 checkAddress(&a);18 try checkAddress(&a);
20 try comptime checkAddress(&a);19 try comptime checkAddress(&a);
test/behavior/bugs/1741.zig+1-1
...@@ -4,7 +4,7 @@ const builtin = @import("builtin");...@@ -4,7 +4,7 @@ const builtin = @import("builtin");
4test "fixed" {4test "fixed" {
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_arm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // flaky
88
9 const x: f32 align(128) = 12.34;9 const x: f32 align(128) = 12.34;
10 try std.testing.expect(@intFromPtr(&x) % 128 == 0);10 try std.testing.expect(@intFromPtr(&x) % 128 == 0);
test/behavior/bugs/2346.zig+2
...@@ -1,3 +1,5 @@...@@ -1,3 +1,5 @@
1const builtin = @import("builtin");
2
1test "fixed" {3test "fixed" {
2 const a: *void = undefined;4 const a: *void = undefined;
3 const b: *[1]void = a;5 const b: *[1]void = a;
test/behavior/bugs/2578.zig-1
...@@ -15,7 +15,6 @@ test "fixed" {...@@ -15,7 +15,6 @@ test "fixed" {
15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1918
20 bar(t);19 bar(t);
21}20}
test/behavior/bugs/2692.zig-1
...@@ -7,7 +7,6 @@ fn foo(a: []u8) void {...@@ -7,7 +7,6 @@ fn foo(a: []u8) void {
7test "address of 0 length array" {7test "address of 0 length array" {
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 pt: [0]u8 = undefined;11 var pt: [0]u8 = undefined;
13 foo(&pt);12 foo(&pt);
test/behavior/bugs/3046.zig-1
...@@ -16,7 +16,6 @@ test "fixed" {...@@ -16,7 +16,6 @@ test "fixed" {
16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
18 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO18 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
21 some_struct = SomeStruct{20 some_struct = SomeStruct{
22 .field = couldFail() catch @as(i32, 0),21 .field = couldFail() catch @as(i32, 0),
test/behavior/bugs/3367.zig-2
...@@ -10,8 +10,6 @@ const Mixin = struct {...@@ -10,8 +10,6 @@ const Mixin = struct {
10};10};
1111
12test "container member access usingnamespace decls" {12test "container member access usingnamespace decls" {
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
14
15 var foo = Foo{};13 var foo = Foo{};
16 foo.two();14 foo.two();
17}15}
test/behavior/bugs/3742.zig-1
...@@ -40,7 +40,6 @@ test "fixed" {...@@ -40,7 +40,6 @@ test "fixed" {
40 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO40 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
41 if (builtin.zig_backend == .stage2_llvm and41 if (builtin.zig_backend == .stage2_llvm and
42 builtin.cpu.arch == .aarch64 and builtin.os.tag == .windows) return error.SkipZigTest;42 builtin.cpu.arch == .aarch64 and builtin.os.tag == .windows) return error.SkipZigTest;
43 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4443
45 ArgSerializer.serializeCommand(GET.init("banana"));44 ArgSerializer.serializeCommand(GET.init("banana"));
46}45}
test/behavior/bugs/3779.zig-3
...@@ -34,7 +34,6 @@ const ptr_type_name: [*:0]const u8 = type_name;...@@ -34,7 +34,6 @@ const ptr_type_name: [*:0]const u8 = type_name;
34test "@typeName() returns a string literal" {34test "@typeName() returns a string literal" {
35 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO35 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO36 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3837
39 try std.testing.expect(*const [type_name.len:0]u8 == @TypeOf(type_name));38 try std.testing.expect(*const [type_name.len:0]u8 == @TypeOf(type_name));
40 try std.testing.expect(std.mem.eql(u8, "behavior.bugs.3779.TestType", type_name));39 try std.testing.expect(std.mem.eql(u8, "behavior.bugs.3779.TestType", type_name));
...@@ -48,7 +47,6 @@ const expected_contents = "hello zig\n";...@@ -48,7 +47,6 @@ const expected_contents = "hello zig\n";
48test "@embedFile() returns a string literal" {47test "@embedFile() returns a string literal" {
49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO48 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
50 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO49 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5250
53 try std.testing.expect(*const [expected_contents.len:0]u8 == @TypeOf(actual_contents));51 try std.testing.expect(*const [expected_contents.len:0]u8 == @TypeOf(actual_contents));
54 try std.testing.expect(std.mem.eql(u8, expected_contents, actual_contents));52 try std.testing.expect(std.mem.eql(u8, expected_contents, actual_contents));
...@@ -63,7 +61,6 @@ fn testFnForSrc() std.builtin.SourceLocation {...@@ -63,7 +61,6 @@ fn testFnForSrc() std.builtin.SourceLocation {
63test "@src() returns a struct containing 0-terminated string slices" {61test "@src() returns a struct containing 0-terminated string slices" {
64 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO62 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
65 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO63 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6764
68 const src = testFnForSrc();65 const src = testFnForSrc();
69 try std.testing.expect([:0]const u8 == @TypeOf(src.file));66 try std.testing.expect([:0]const u8 == @TypeOf(src.file));
test/behavior/bugs/5487.zig-1
...@@ -13,6 +13,5 @@ test "crash" {...@@ -13,6 +13,5 @@ test "crash" {
13 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;13 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
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_sparc64) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
17 _ = io.multiWriter(.{writer()});16 _ = io.multiWriter(.{writer()});
18}17}
test/behavior/bugs/6905.zig-1
...@@ -5,7 +5,6 @@ test "sentinel-terminated 0-length slices" {...@@ -5,7 +5,6 @@ test "sentinel-terminated 0-length slices" {
5 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO5 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
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_arm) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
10 var u32s: [4]u32 = [_]u32{ 0, 1, 2, 3 };9 var u32s: [4]u32 = [_]u32{ 0, 1, 2, 3 };
1110
test/behavior/bugs/726.zig-2
...@@ -5,7 +5,6 @@ test "@ptrCast from const to nullable" {...@@ -5,7 +5,6 @@ test "@ptrCast from const to nullable" {
5 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;5 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
6 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;6 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
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 const c: u8 = 4;9 const c: u8 = 4;
11 var x: ?*const u8 = @as(?*const u8, @ptrCast(&c));10 var x: ?*const u8 = @as(?*const u8, @ptrCast(&c));
...@@ -16,7 +15,6 @@ test "@ptrCast from var in empty struct to nullable" {...@@ -16,7 +15,6 @@ test "@ptrCast from var in empty struct to nullable" {
16 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
17 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;16 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
18 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2018
21 const container = struct {19 const container = struct {
22 var c: u8 = 4;20 var c: u8 = 4;
test/behavior/bugs/8646.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 try std.testing.expect(array[0].len == 1);14 try std.testing.expect(array[0].len == 1);
16 try std.testing.expectEqualStrings("hello", array[0][0]);15 try std.testing.expectEqualStrings("hello", array[0][0]);
test/behavior/call.zig-6
...@@ -90,7 +90,6 @@ test "result location of function call argument through runtime condition and st...@@ -90,7 +90,6 @@ test "result location of function call argument through runtime condition and st
90 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO90 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
91 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO91 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
92 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO92 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
93 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9493
95 const E = enum { a, b };94 const E = enum { a, b };
96 const S = struct {95 const S = struct {
...@@ -400,7 +399,6 @@ test "recursive inline call with comptime known argument" {...@@ -400,7 +399,6 @@ test "recursive inline call with comptime known argument" {
400test "inline while with @call" {399test "inline while with @call" {
401 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO400 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
402 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO401 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
403 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
404402
405 const S = struct {403 const S = struct {
406 fn inc(a: *u32) void {404 fn inc(a: *u32) void {
...@@ -416,8 +414,6 @@ test "inline while with @call" {...@@ -416,8 +414,6 @@ test "inline while with @call" {
416}414}
417415
418test "method call as parameter type" {416test "method call as parameter type" {
419 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
420
421 const S = struct {417 const S = struct {
422 fn foo(x: anytype, y: @TypeOf(x).Inner()) @TypeOf(y) {418 fn foo(x: anytype, y: @TypeOf(x).Inner()) @TypeOf(y) {
423 return y;419 return y;
...@@ -436,7 +432,6 @@ test "non-anytype generic parameters provide result type" {...@@ -436,7 +432,6 @@ test "non-anytype generic parameters provide result type" {
436 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO432 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
437 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO433 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
438 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO434 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
439 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
440435
441 const S = struct {436 const S = struct {
442 fn f(comptime T: type, y: T) !void {437 fn f(comptime T: type, y: T) !void {
...@@ -467,7 +462,6 @@ test "argument to generic function has correct result type" {...@@ -467,7 +462,6 @@ test "argument to generic function has correct result type" {
467 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO462 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
468 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO463 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
469 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO464 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
470 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
471465
472 const S = struct {466 const S = struct {
473 fn foo(_: anytype, e: enum { a, b }) bool {467 fn foo(_: anytype, e: enum { a, b }) bool {
test/behavior/cast.zig+3-21
...@@ -67,6 +67,8 @@ test "implicit cast comptime_int to comptime_float" {...@@ -67,6 +67,8 @@ test "implicit cast comptime_int to comptime_float" {
67}67}
6868
69test "comptime_int @floatFromInt" {69test "comptime_int @floatFromInt" {
70 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
71
70 {72 {
71 const result = @as(f16, @floatFromInt(1234));73 const result = @as(f16, @floatFromInt(1234));
72 try expect(@TypeOf(result) == f16);74 try expect(@TypeOf(result) == f16);
...@@ -463,7 +465,6 @@ fn castToOptionalTypeError(z: i32) !void {...@@ -463,7 +465,6 @@ fn castToOptionalTypeError(z: i32) !void {
463test "implicitly cast from [0]T to anyerror![]T" {465test "implicitly cast from [0]T to anyerror![]T" {
464 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;466 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
465 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO467 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
466 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
467468
468 try testCastZeroArrayToErrSliceMut();469 try testCastZeroArrayToErrSliceMut();
469 try comptime testCastZeroArrayToErrSliceMut();470 try comptime testCastZeroArrayToErrSliceMut();
...@@ -481,7 +482,6 @@ test "peer type resolution: [0]u8, []const u8, and anyerror![]u8" {...@@ -481,7 +482,6 @@ test "peer type resolution: [0]u8, []const u8, and anyerror![]u8" {
481 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;482 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
482 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO483 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
483 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO484 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
484 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
485485
486 const S = struct {486 const S = struct {
487 fn doTheTest() anyerror!void {487 fn doTheTest() anyerror!void {
...@@ -562,7 +562,6 @@ fn testPeerErrorAndArray2(x: u8) anyerror![]const u8 {...@@ -562,7 +562,6 @@ fn testPeerErrorAndArray2(x: u8) anyerror![]const u8 {
562test "single-item pointer of array to slice to unknown length pointer" {562test "single-item pointer of array to slice to unknown length pointer" {
563 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;563 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
564 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO564 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
565 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
566565
567 try testCastPtrOfArrayToSliceAndPtr();566 try testCastPtrOfArrayToSliceAndPtr();
568 try comptime testCastPtrOfArrayToSliceAndPtr();567 try comptime testCastPtrOfArrayToSliceAndPtr();
...@@ -592,7 +591,6 @@ fn testCastPtrOfArrayToSliceAndPtr() !void {...@@ -592,7 +591,6 @@ fn testCastPtrOfArrayToSliceAndPtr() !void {
592test "cast *[1][*]const u8 to [*]const ?[*]const u8" {591test "cast *[1][*]const u8 to [*]const ?[*]const u8" {
593 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;592 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
594 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO593 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
595 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
596594
597 const window_name = [1][*]const u8{"window name"};595 const window_name = [1][*]const u8{"window name"};
598 const x: [*]const ?[*]const u8 = &window_name;596 const x: [*]const ?[*]const u8 = &window_name;
...@@ -663,7 +661,6 @@ test "@floatCast cast down" {...@@ -663,7 +661,6 @@ test "@floatCast cast down" {
663test "peer type resolution: unreachable, error set, unreachable" {661test "peer type resolution: unreachable, error set, unreachable" {
664 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO662 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
665 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO663 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
666 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
667664
668 const Error = error{665 const Error = error{
669 FileDescriptorAlreadyPresentInSet,666 FileDescriptorAlreadyPresentInSet,
...@@ -822,7 +819,6 @@ test "peer cast *[0]T to E![]const T" {...@@ -822,7 +819,6 @@ test "peer cast *[0]T to E![]const T" {
822 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;819 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
823 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;820 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
824 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO821 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
825 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
826822
827 var buffer: [5]u8 = "abcde".*;823 var buffer: [5]u8 = "abcde".*;
828 var buf: anyerror![]const u8 = buffer[0..];824 var buf: anyerror![]const u8 = buffer[0..];
...@@ -837,7 +833,6 @@ test "peer cast *[0]T to []const T" {...@@ -837,7 +833,6 @@ test "peer cast *[0]T to []const T" {
837 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;833 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
838 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;834 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
839 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO835 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
840 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
841836
842 var buffer: [5]u8 = "abcde".*;837 var buffer: [5]u8 = "abcde".*;
843 var buf: []const u8 = buffer[0..];838 var buf: []const u8 = buffer[0..];
...@@ -859,7 +854,6 @@ test "peer resolution of string literals" {...@@ -859,7 +854,6 @@ test "peer resolution of string literals" {
859 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;854 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
860 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO855 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
861 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO856 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
862 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
863857
864 const S = struct {858 const S = struct {
865 const E = enum { a, b, c, d };859 const E = enum { a, b, c, d };
...@@ -881,7 +875,6 @@ test "peer resolution of string literals" {...@@ -881,7 +875,6 @@ test "peer resolution of string literals" {
881test "peer cast [:x]T to []T" {875test "peer cast [:x]T to []T" {
882 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;876 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
883 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO877 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
884 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
885878
886 const S = struct {879 const S = struct {
887 fn doTheTest() !void {880 fn doTheTest() !void {
...@@ -1185,7 +1178,6 @@ fn returnNullLitFromOptionalTypeErrorRef() anyerror!?*A {...@@ -1185,7 +1178,6 @@ fn returnNullLitFromOptionalTypeErrorRef() anyerror!?*A {
1185test "peer type resolution: [0]u8 and []const u8" {1178test "peer type resolution: [0]u8 and []const u8" {
1186 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1179 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1187 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1180 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1188 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11891181
1190 try expect(peerTypeEmptyArrayAndSlice(true, "hi").len == 0);1182 try expect(peerTypeEmptyArrayAndSlice(true, "hi").len == 0);
1191 try expect(peerTypeEmptyArrayAndSlice(false, "hi").len == 1);1183 try expect(peerTypeEmptyArrayAndSlice(false, "hi").len == 1);
...@@ -1270,7 +1262,6 @@ fn incrementVoidPtrValue(value: ?*anyopaque) void {...@@ -1270,7 +1262,6 @@ fn incrementVoidPtrValue(value: ?*anyopaque) void {
1270test "implicit cast *[0]T to E![]const u8" {1262test "implicit cast *[0]T to E![]const u8" {
1271 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1263 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1272 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1264 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1273 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12741265
1275 var x = @as(anyerror![]const u8, &[0]u8{});1266 var x = @as(anyerror![]const u8, &[0]u8{});
1276 try expect((x catch unreachable).len == 0);1267 try expect((x catch unreachable).len == 0);
...@@ -1524,6 +1515,7 @@ test "implicit cast from [:0]T to [*c]T" {...@@ -1524,6 +1515,7 @@ test "implicit cast from [:0]T to [*c]T" {
15241515
1525test "bitcast packed struct with u0" {1516test "bitcast packed struct with u0" {
1526 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1517 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1518 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15271519
1528 const S = packed struct(u2) { a: u0, b: u2 };1520 const S = packed struct(u2) { a: u0, b: u2 };
1529 const s = @as(S, @bitCast(@as(u2, 2)));1521 const s = @as(S, @bitCast(@as(u2, 2)));
...@@ -1588,7 +1580,6 @@ test "peer type resolution: const sentinel slice and mutable non-sentinel slice"...@@ -1588,7 +1580,6 @@ test "peer type resolution: const sentinel slice and mutable non-sentinel slice"
1588 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1580 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1589 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1581 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1590 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1582 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1591 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
15921583
1593 const S = struct {1584 const S = struct {
1594 fn doTheTest(comptime T: type, comptime s: T) !void {1585 fn doTheTest(comptime T: type, comptime s: T) !void {
...@@ -1617,7 +1608,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" {...@@ -1617,7 +1608,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" {
1617 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1608 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1618 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1609 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1619 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1610 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1620 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
16211611
1622 const i: u8 = 100;1612 const i: u8 = 100;
1623 var f: f32 = 1.234;1613 var f: f32 = 1.234;
...@@ -1678,7 +1668,6 @@ test "peer type resolution: array and vector with same child type" {...@@ -1678,7 +1668,6 @@ test "peer type resolution: array and vector with same child type" {
1678 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1668 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1679 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1669 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1680 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1670 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1681 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
16821671
1683 var arr: [2]u32 = .{ 0, 1 };1672 var arr: [2]u32 = .{ 0, 1 };
1684 var vec: @Vector(2, u32) = .{ 2, 3 };1673 var vec: @Vector(2, u32) = .{ 2, 3 };
...@@ -1743,7 +1732,6 @@ test "peer type resolution: C pointer and @TypeOf(null)" {...@@ -1743,7 +1732,6 @@ test "peer type resolution: C pointer and @TypeOf(null)" {
1743 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1732 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1744 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1733 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1745 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1734 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1746 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
17471735
1748 var a: [*c]c_int = 0x1000;1736 var a: [*c]c_int = 0x1000;
1749 const b = null;1737 const b = null;
...@@ -1826,7 +1814,6 @@ test "peer type resolution: optional fixed-width int and comptime_int" {...@@ -1826,7 +1814,6 @@ test "peer type resolution: optional fixed-width int and comptime_int" {
1826 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1814 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1827 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1815 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1828 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1816 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1829 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18301817
1831 var a: ?i32 = 42;1818 var a: ?i32 = 42;
1832 const b: comptime_int = 50;1819 const b: comptime_int = 50;
...@@ -1869,7 +1856,6 @@ test "peer type resolution: vector and tuple" {...@@ -1869,7 +1856,6 @@ test "peer type resolution: vector and tuple" {
1869 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1856 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1870 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1857 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1871 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1858 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1872 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18731859
1874 var vec: @Vector(3, i32) = .{ 1, 2, 3 };1860 var vec: @Vector(3, i32) = .{ 1, 2, 3 };
1875 const tup = .{ 4, 5, 6 };1861 const tup = .{ 4, 5, 6 };
...@@ -1892,7 +1878,6 @@ test "peer type resolution: vector and array and tuple" {...@@ -1892,7 +1878,6 @@ test "peer type resolution: vector and array and tuple" {
1892 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1878 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1893 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1879 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1894 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1880 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1895 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
18961881
1897 var vec: @Vector(2, i8) = .{ 10, 20 };1882 var vec: @Vector(2, i8) = .{ 10, 20 };
1898 var arr: [2]i8 = .{ 30, 40 };1883 var arr: [2]i8 = .{ 30, 40 };
...@@ -2086,7 +2071,6 @@ test "peer type resolution: C pointer and many pointer" {...@@ -2086,7 +2071,6 @@ test "peer type resolution: C pointer and many pointer" {
2086 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO2071 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2087 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO2072 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
2088 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO2073 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2089 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
20902074
2091 var buf = "hello".*;2075 var buf = "hello".*;
20922076
...@@ -2389,7 +2373,6 @@ test "@intFromBool on vector" {...@@ -2389,7 +2373,6 @@ test "@intFromBool on vector" {
23892373
2390test "numeric coercions with undefined" {2374test "numeric coercions with undefined" {
2391 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;2375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2392 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
23932376
2394 const from: i32 = undefined;2377 const from: i32 = undefined;
2395 var to: f32 = from;2378 var to: f32 = from;
...@@ -2401,7 +2384,6 @@ test "numeric coercions with undefined" {...@@ -2401,7 +2384,6 @@ test "numeric coercions with undefined" {
2401test "15-bit int to float" {2384test "15-bit int to float" {
2402 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;2385 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
2403 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;2386 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2404 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
24052387
2406 var a: u15 = 42;2388 var a: u15 = 42;
2407 var b: f32 = @floatFromInt(a);2389 var b: f32 = @floatFromInt(a);
test/behavior/cast_int.zig+3
...@@ -149,6 +149,8 @@ const Piece = packed struct {...@@ -149,6 +149,8 @@ const Piece = packed struct {
149149
150test "load non byte-sized optional value" {150test "load non byte-sized optional value" {
151 // Originally reported at https://github.com/ziglang/zig/issues/14200151 // Originally reported at https://github.com/ziglang/zig/issues/14200
152 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
153
152 // note: this bug is triggered by the == operator, expectEqual will hide it154 // note: this bug is triggered by the == operator, expectEqual will hide it
153 var opt: ?Piece = try Piece.charToPiece('p');155 var opt: ?Piece = try Piece.charToPiece('p');
154 try expect(opt.?.type == .PAWN);156 try expect(opt.?.type == .PAWN);
...@@ -162,6 +164,7 @@ test "load non byte-sized optional value" {...@@ -162,6 +164,7 @@ test "load non byte-sized optional value" {
162164
163test "load non byte-sized value in struct" {165test "load non byte-sized value in struct" {
164 if (builtin.cpu.arch.endian() != .Little) return error.SkipZigTest; // packed struct TODO166 if (builtin.cpu.arch.endian() != .Little) return error.SkipZigTest; // packed struct TODO
167 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
165168
166 // note: this bug is triggered by the == operator, expectEqual will hide it169 // note: this bug is triggered by the == operator, expectEqual will hide it
167 // using ptrCast not to depend on unitialised memory state170 // using ptrCast not to depend on unitialised memory state
test/behavior/comptime_memory.zig-4
...@@ -426,8 +426,6 @@ test "mutate entire slice at comptime" {...@@ -426,8 +426,6 @@ test "mutate entire slice at comptime" {
426}426}
427427
428test "dereference undefined pointer to zero-bit type" {428test "dereference undefined pointer to zero-bit type" {
429 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
430
431 const p0: *void = undefined;429 const p0: *void = undefined;
432 try testing.expectEqual({}, p0.*);430 try testing.expectEqual({}, p0.*);
433431
...@@ -436,8 +434,6 @@ test "dereference undefined pointer to zero-bit type" {...@@ -436,8 +434,6 @@ test "dereference undefined pointer to zero-bit type" {
436}434}
437435
438test "type pun extern struct" {436test "type pun extern struct" {
439 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
440
441 const S = extern struct { f: u8 };437 const S = extern struct { f: u8 };
442 comptime var s = S{ .f = 123 };438 comptime var s = S{ .f = 123 };
443 @as(*u8, @ptrCast(&s)).* = 72;439 @as(*u8, @ptrCast(&s)).* = 72;
test/behavior/const_slice_child.zig-1
...@@ -10,7 +10,6 @@ test "const slice child" {...@@ -10,7 +10,6 @@ test "const slice child" {
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_sparc64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
15 const strs = [_][*]const u8{ "one", "two", "three" };14 const strs = [_][*]const u8{ "one", "two", "three" };
16 argv = &strs;15 argv = &strs;
test/behavior/defer.zig-3
...@@ -34,7 +34,6 @@ test "defer and labeled break" {...@@ -34,7 +34,6 @@ test "defer and labeled break" {
34test "errdefer does not apply to fn inside fn" {34test "errdefer does not apply to fn inside fn" {
35 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;35 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
36 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO36 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3837
39 if (testNestedFnErrDefer()) |_| @panic("expected error") else |e| try expect(e == error.Bad);38 if (testNestedFnErrDefer()) |_| @panic("expected error") else |e| try expect(e == error.Bad);
40}39}
...@@ -95,7 +94,6 @@ test "mixing normal and error defers" {...@@ -95,7 +94,6 @@ test "mixing normal and error defers" {
95 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO94 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
96 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO95 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
97 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO96 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9997
100 try expect(runSomeErrorDefers(true) catch unreachable);98 try expect(runSomeErrorDefers(true) catch unreachable);
101 try expect(result[0] == 'c');99 try expect(result[0] == 'c');
...@@ -160,7 +158,6 @@ test "reference to errdefer payload" {...@@ -160,7 +158,6 @@ test "reference to errdefer payload" {
160test "simple else prong doesn't emit an error for unreachable else prong" {158test "simple else prong doesn't emit an error for unreachable else prong" {
161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO160 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
164161
165 const S = struct {162 const S = struct {
166 fn foo() error{Foo}!void {163 fn foo() error{Foo}!void {
test/behavior/empty_union.zig-4
...@@ -44,8 +44,6 @@ test "empty extern union" {...@@ -44,8 +44,6 @@ test "empty extern union" {
44}44}
4545
46test "empty union passed as argument" {46test "empty union passed as argument" {
47 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
48
49 const U = union(enum) {47 const U = union(enum) {
50 fn f(u: @This()) void {48 fn f(u: @This()) void {
51 switch (u) {}49 switch (u) {}
...@@ -55,8 +53,6 @@ test "empty union passed as argument" {...@@ -55,8 +53,6 @@ test "empty union passed as argument" {
55}53}
5654
57test "empty enum passed as argument" {55test "empty enum passed as argument" {
58 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
59
60 const E = enum {56 const E = enum {
61 fn f(e: @This()) void {57 fn f(e: @This()) void {
62 switch (e) {}58 switch (e) {}
test/behavior/enum.zig-8
...@@ -617,7 +617,6 @@ test "enum with specified tag values" {...@@ -617,7 +617,6 @@ test "enum with specified tag values" {
617test "non-exhaustive enum" {617test "non-exhaustive enum" {
618 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;618 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
619 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO619 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
620 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
621620
622 const S = struct {621 const S = struct {
623 const E = enum(u8) { a, b, _ };622 const E = enum(u8) { a, b, _ };
...@@ -660,8 +659,6 @@ test "non-exhaustive enum" {...@@ -660,8 +659,6 @@ test "non-exhaustive enum" {
660}659}
661660
662test "empty non-exhaustive enum" {661test "empty non-exhaustive enum" {
663 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
664
665 const S = struct {662 const S = struct {
666 const E = enum(u8) { _ };663 const E = enum(u8) { _ };
667664
...@@ -683,7 +680,6 @@ test "empty non-exhaustive enum" {...@@ -683,7 +680,6 @@ test "empty non-exhaustive enum" {
683test "single field non-exhaustive enum" {680test "single field non-exhaustive enum" {
684 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;681 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
685 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO682 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
686 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
687683
688 const S = struct {684 const S = struct {
689 const E = enum(u8) { a, _ };685 const E = enum(u8) { a, _ };
...@@ -856,8 +852,6 @@ fn doALoopThing(id: EnumWithOneMember) void {...@@ -856,8 +852,6 @@ fn doALoopThing(id: EnumWithOneMember) void {
856}852}
857853
858test "comparison operator on enum with one member is comptime-known" {854test "comparison operator on enum with one member is comptime-known" {
859 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
860
861 doALoopThing(EnumWithOneMember.Eof);855 doALoopThing(EnumWithOneMember.Eof);
862}856}
863857
...@@ -1211,8 +1205,6 @@ test "enum tag from a local variable" {...@@ -1211,8 +1205,6 @@ test "enum tag from a local variable" {
1211}1205}
12121206
1213test "auto-numbered enum with signed tag type" {1207test "auto-numbered enum with signed tag type" {
1214 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1215
1216 const E = enum(i32) { a, b };1208 const E = enum(i32) { a, b };
12171209
1218 try std.testing.expectEqual(@as(i32, 0), @intFromEnum(E.a));1210 try std.testing.expectEqual(@as(i32, 0), @intFromEnum(E.a));
test/behavior/error.zig-10
...@@ -124,7 +124,6 @@ test "debug info for optional error set" {...@@ -124,7 +124,6 @@ test "debug info for optional error set" {
124124
125test "implicit cast to optional to error union to return result loc" {125test "implicit cast to optional to error union to return result loc" {
126 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO126 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
127 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
128127
129 const S = struct {128 const S = struct {
130 fn entry() !void {129 fn entry() !void {
...@@ -218,7 +217,6 @@ fn testErrorSetType() !void {...@@ -218,7 +217,6 @@ fn testErrorSetType() !void {
218217
219test "explicit error set cast" {218test "explicit error set cast" {
220 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222220
223 try testExplicitErrorSetCast(Set1.A);221 try testExplicitErrorSetCast(Set1.A);
224 try comptime testExplicitErrorSetCast(Set1.A);222 try comptime testExplicitErrorSetCast(Set1.A);
...@@ -320,7 +318,6 @@ test "error inference with an empty set" {...@@ -320,7 +318,6 @@ test "error inference with an empty set" {
320318
321test "error union peer type resolution" {319test "error union peer type resolution" {
322 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO320 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
323 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
324321
325 try testErrorUnionPeerTypeResolution(1);322 try testErrorUnionPeerTypeResolution(1);
326}323}
...@@ -404,7 +401,6 @@ test "nested error union function call in optional unwrap" {...@@ -404,7 +401,6 @@ test "nested error union function call in optional unwrap" {
404 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO401 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
405 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO402 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
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_spirv64) return error.SkipZigTest;
408404
409 const S = struct {405 const S = struct {
410 const Foo = struct {406 const Foo = struct {
...@@ -469,7 +465,6 @@ test "optional error set is the same size as error set" {...@@ -469,7 +465,6 @@ test "optional error set is the same size as error set" {
469 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO465 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
470 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO466 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
471 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO467 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
472 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
473468
474 try comptime expect(@sizeOf(?anyerror) == @sizeOf(anyerror));469 try comptime expect(@sizeOf(?anyerror) == @sizeOf(anyerror));
475 try comptime expect(@alignOf(?anyerror) == @alignOf(anyerror));470 try comptime expect(@alignOf(?anyerror) == @alignOf(anyerror));
...@@ -485,7 +480,6 @@ test "optional error set is the same size as error set" {...@@ -485,7 +480,6 @@ test "optional error set is the same size as error set" {
485test "nested catch" {480test "nested catch" {
486 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO481 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
487 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO482 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
488 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
489483
490 const S = struct {484 const S = struct {
491 fn entry() !void {485 fn entry() !void {
...@@ -536,7 +530,6 @@ test "return result loc as peer result loc in inferred error set function" {...@@ -536,7 +530,6 @@ test "return result loc as peer result loc in inferred error set function" {
536 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO530 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
537 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO531 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
538 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO532 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
539 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
540533
541 const S = struct {534 const S = struct {
542 fn doTheTest() !void {535 fn doTheTest() !void {
...@@ -568,7 +561,6 @@ test "error payload type is correctly resolved" {...@@ -568,7 +561,6 @@ test "error payload type is correctly resolved" {
568 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO561 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
569 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO562 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
570 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO563 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
571 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
572564
573 const MyIntWrapper = struct {565 const MyIntWrapper = struct {
574 const Self = @This();566 const Self = @This();
...@@ -736,7 +728,6 @@ test "ret_ptr doesn't cause own inferred error set to be resolved" {...@@ -736,7 +728,6 @@ test "ret_ptr doesn't cause own inferred error set to be resolved" {
736728
737test "simple else prong allowed even when all errors handled" {729test "simple else prong allowed even when all errors handled" {
738 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO730 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
739 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
740731
741 const S = struct {732 const S = struct {
742 fn foo() !u8 {733 fn foo() !u8 {
...@@ -920,7 +911,6 @@ test "optional error union return type" {...@@ -920,7 +911,6 @@ test "optional error union return type" {
920test "optional error set return type" {911test "optional error set return type" {
921 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO912 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
922 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO913 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
923 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
924914
925 const E = error{ A, B };915 const E = error{ A, B };
926 const S = struct {916 const S = struct {
test/behavior/eval.zig-8
...@@ -441,7 +441,6 @@ test "binary math operator in partially inlined function" {...@@ -441,7 +441,6 @@ test "binary math operator in partially inlined function" {
441 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO441 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
442 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO442 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
443 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO443 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
444 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
445444
446 var s: [4]u32 = undefined;445 var s: [4]u32 = undefined;
447 var b: [16]u8 = undefined;446 var b: [16]u8 = undefined;
...@@ -710,7 +709,6 @@ fn loopNTimes(comptime n: usize) void {...@@ -710,7 +709,6 @@ fn loopNTimes(comptime n: usize) void {
710}709}
711710
712test "variable inside inline loop that has different types on different iterations" {711test "variable inside inline loop that has different types on different iterations" {
713 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
714 try testVarInsideInlineLoop(.{ true, @as(u32, 42) });712 try testVarInsideInlineLoop(.{ true, @as(u32, 42) });
715}713}
716714
...@@ -760,7 +758,6 @@ test "array concatenation peer resolves element types - value" {...@@ -760,7 +758,6 @@ test "array concatenation peer resolves element types - value" {
760 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;758 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
761 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;759 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
762 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO760 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
763 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
764761
765 var a = [2]u3{ 1, 7 };762 var a = [2]u3{ 1, 7 };
766 var b = [3]u8{ 200, 225, 255 };763 var b = [3]u8{ 200, 225, 255 };
...@@ -777,7 +774,6 @@ test "array concatenation peer resolves element types - pointer" {...@@ -777,7 +774,6 @@ test "array concatenation peer resolves element types - pointer" {
777 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;774 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
778 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;775 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
779 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO776 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
780 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
781777
782 var a = [2]u3{ 1, 7 };778 var a = [2]u3{ 1, 7 };
783 var b = [3]u8{ 200, 225, 255 };779 var b = [3]u8{ 200, 225, 255 };
...@@ -794,7 +790,6 @@ test "array concatenation sets the sentinel - value" {...@@ -794,7 +790,6 @@ test "array concatenation sets the sentinel - value" {
794 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;790 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
795 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;791 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
796 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO792 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
797 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
798793
799 var a = [2]u3{ 1, 7 };794 var a = [2]u3{ 1, 7 };
800 var b = [3:69]u8{ 200, 225, 255 };795 var b = [3:69]u8{ 200, 225, 255 };
...@@ -812,7 +807,6 @@ test "array concatenation sets the sentinel - value" {...@@ -812,7 +807,6 @@ test "array concatenation sets the sentinel - value" {
812test "array concatenation sets the sentinel - pointer" {807test "array concatenation sets the sentinel - pointer" {
813 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;808 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
814 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO809 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
815 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
816810
817 var a = [2]u3{ 1, 7 };811 var a = [2]u3{ 1, 7 };
818 var b = [3:69]u8{ 200, 225, 255 };812 var b = [3:69]u8{ 200, 225, 255 };
...@@ -1668,8 +1662,6 @@ test "early exit in container level const" {...@@ -1668,8 +1662,6 @@ test "early exit in container level const" {
1668}1662}
16691663
1670test "@inComptime" {1664test "@inComptime" {
1671 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1672
1673 const S = struct {1665 const S = struct {
1674 fn inComptime() bool {1666 fn inComptime() bool {
1675 return @inComptime();1667 return @inComptime();
test/behavior/floatop.zig+18-2
...@@ -29,6 +29,7 @@ test "add f32/f64" {...@@ -29,6 +29,7 @@ test "add f32/f64" {
2929
30test "add f80/f128/c_longdouble" {30test "add f80/f128/c_longdouble" {
31 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;31 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
32 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3233
33 try testAdd(f80);34 try testAdd(f80);
34 try comptime testAdd(f80);35 try comptime testAdd(f80);
...@@ -60,6 +61,7 @@ test "sub f32/f64" {...@@ -60,6 +61,7 @@ test "sub f32/f64" {
6061
61test "sub f80/f128/c_longdouble" {62test "sub f80/f128/c_longdouble" {
62 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;63 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
64 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6365
64 try testSub(f80);66 try testSub(f80);
65 try comptime testSub(f80);67 try comptime testSub(f80);
...@@ -91,6 +93,7 @@ test "mul f32/f64" {...@@ -91,6 +93,7 @@ test "mul f32/f64" {
9193
92test "mul f80/f128/c_longdouble" {94test "mul f80/f128/c_longdouble" {
93 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;95 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
96 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9497
95 try testMul(f80);98 try testMul(f80);
96 try comptime testMul(f80);99 try comptime testMul(f80);
...@@ -200,7 +203,6 @@ test "different sized float comparisons" {...@@ -200,7 +203,6 @@ test "different sized float comparisons" {
200 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO203 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
201 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO204 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
202 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO205 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
204 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;206 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
205207
206 try testDifferentSizedFloatComparisons();208 try testDifferentSizedFloatComparisons();
...@@ -235,6 +237,7 @@ fn testDifferentSizedFloatComparisons() !void {...@@ -235,6 +237,7 @@ fn testDifferentSizedFloatComparisons() !void {
235test "negative f128 intFromFloat at compile-time" {237test "negative f128 intFromFloat at compile-time" {
236 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO238 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
237 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO239 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
240 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
238241
239 const a: f128 = -2;242 const a: f128 = -2;
240 var b = @as(i64, @intFromFloat(a));243 var b = @as(i64, @intFromFloat(a));
...@@ -908,6 +911,7 @@ test "@abs f16" {...@@ -908,6 +911,7 @@ test "@abs f16" {
908 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO911 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
909 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO912 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
910 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;913 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
914 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
911915
912 try testFabs(f16);916 try testFabs(f16);
913 try comptime testFabs(f16);917 try comptime testFabs(f16);
...@@ -917,6 +921,7 @@ test "@abs f32/f64" {...@@ -917,6 +921,7 @@ test "@abs f32/f64" {
917 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO921 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
918 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO922 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
919 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO923 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
924 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
920925
921 try testFabs(f32);926 try testFabs(f32);
922 try comptime testFabs(f32);927 try comptime testFabs(f32);
...@@ -930,6 +935,7 @@ test "@abs f80/f128/c_longdouble" {...@@ -930,6 +935,7 @@ test "@abs f80/f128/c_longdouble" {
930 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;935 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
931 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO936 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
932 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;937 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
938 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
933939
934 try testFabs(f80);940 try testFabs(f80);
935 try comptime testFabs(f80);941 try comptime testFabs(f80);
...@@ -1007,6 +1013,7 @@ test "@floor f16" {...@@ -1007,6 +1013,7 @@ test "@floor f16" {
1007 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1013 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1008 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1014 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1009 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1015 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1016 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10101017
1011 try testFloor(f16);1018 try testFloor(f16);
1012 try comptime testFloor(f16);1019 try comptime testFloor(f16);
...@@ -1017,6 +1024,7 @@ test "@floor f32/f64" {...@@ -1017,6 +1024,7 @@ test "@floor f32/f64" {
1017 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1024 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1018 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1025 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1019 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1026 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1027 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10201028
1021 try testFloor(f32);1029 try testFloor(f32);
1022 try comptime testFloor(f32);1030 try comptime testFloor(f32);
...@@ -1030,6 +1038,7 @@ test "@floor f80/f128/c_longdouble" {...@@ -1030,6 +1038,7 @@ test "@floor f80/f128/c_longdouble" {
1030 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;1038 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
1031 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1039 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1032 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1040 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1041 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10331042
1034 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {1043 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
1035 // https://github.com/ziglang/zig/issues/126021044 // https://github.com/ziglang/zig/issues/12602
...@@ -1089,6 +1098,7 @@ test "@ceil f16" {...@@ -1089,6 +1098,7 @@ test "@ceil f16" {
1089 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1098 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1090 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1099 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1091 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1100 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1101 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10921102
1093 try testCeil(f16);1103 try testCeil(f16);
1094 try comptime testCeil(f16);1104 try comptime testCeil(f16);
...@@ -1099,6 +1109,7 @@ test "@ceil f32/f64" {...@@ -1099,6 +1109,7 @@ test "@ceil f32/f64" {
1099 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1109 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1100 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1110 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1101 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1111 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1112 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11021113
1103 try testCeil(f32);1114 try testCeil(f32);
1104 try comptime testCeil(f32);1115 try comptime testCeil(f32);
...@@ -1112,6 +1123,7 @@ test "@ceil f80/f128/c_longdouble" {...@@ -1112,6 +1123,7 @@ test "@ceil f80/f128/c_longdouble" {
1112 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;1123 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
1113 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1114 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1125 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1126 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11151127
1116 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {1128 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
1117 // https://github.com/ziglang/zig/issues/126021129 // https://github.com/ziglang/zig/issues/12602
...@@ -1148,8 +1160,8 @@ fn testCeil(comptime T: type) !void {...@@ -1148,8 +1160,8 @@ fn testCeil(comptime T: type) !void {
1148test "@ceil with vectors" {1160test "@ceil with vectors" {
1149 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1150 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1162 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1151 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1152 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1163 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1164 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1153 if (builtin.zig_backend == .stage2_x86_64 and1165 if (builtin.zig_backend == .stage2_x86_64 and
1154 !comptime std.Target.x86.featureSetHas(builtin.cpu.features, .sse4_1)) return error.SkipZigTest;1166 !comptime std.Target.x86.featureSetHas(builtin.cpu.features, .sse4_1)) return error.SkipZigTest;
11551167
...@@ -1171,6 +1183,7 @@ test "@trunc f16" {...@@ -1171,6 +1183,7 @@ test "@trunc f16" {
1171 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1183 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1172 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1184 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1173 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1185 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1186 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11741187
1175 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {1188 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
1176 // https://github.com/ziglang/zig/issues/168461189 // https://github.com/ziglang/zig/issues/16846
...@@ -1186,6 +1199,7 @@ test "@trunc f32/f64" {...@@ -1186,6 +1199,7 @@ test "@trunc f32/f64" {
1186 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1199 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1187 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1200 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1188 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1201 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1202 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11891203
1190 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {1204 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
1191 // https://github.com/ziglang/zig/issues/168461205 // https://github.com/ziglang/zig/issues/16846
...@@ -1204,6 +1218,7 @@ test "@trunc f80/f128/c_longdouble" {...@@ -1204,6 +1218,7 @@ test "@trunc f80/f128/c_longdouble" {
1204 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;1218 if (builtin.zig_backend == .stage2_c and builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
1205 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1206 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;1220 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
1221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12071222
1208 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {1223 if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) {
1209 // https://github.com/ziglang/zig/issues/126021224 // https://github.com/ziglang/zig/issues/12602
...@@ -1390,6 +1405,7 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {...@@ -1390,6 +1405,7 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" {
1390 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1405 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1391 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1406 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1392 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1407 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1408 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13931409
1394 inline for (.{ f16, f32, f64, f80, f128 }) |F| {1410 inline for (.{ f16, f32, f64, f80, f128 }) |F| {
1395 const pos = @as(F, 1) / @as(F, 0);1411 const pos = @as(F, 1) / @as(F, 0);
test/behavior/fn.zig-11
...@@ -201,7 +201,6 @@ fn addPointCoords(pt: Point) i32 {...@@ -201,7 +201,6 @@ fn addPointCoords(pt: Point) i32 {
201201
202test "pass by non-copying value through var arg" {202test "pass by non-copying value through var arg" {
203 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO203 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
204 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
205204
206 try expect((try addPointCoordsVar(Point{ .x = 1, .y = 2 })) == 3);205 try expect((try addPointCoordsVar(Point{ .x = 1, .y = 2 })) == 3);
207}206}
...@@ -257,7 +256,6 @@ test "implicit cast fn call result to optional in field result" {...@@ -257,7 +256,6 @@ test "implicit cast fn call result to optional in field result" {
257 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;256 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
258 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;257 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
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 const S = struct {260 const S = struct {
263 fn entry() !void {261 fn entry() !void {
...@@ -284,7 +282,6 @@ test "implicit cast fn call result to optional in field result" {...@@ -284,7 +282,6 @@ test "implicit cast fn call result to optional in field result" {
284test "void parameters" {282test "void parameters" {
285 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;283 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
286 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;284 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
287 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
288285
289 try voidFun(1, void{}, 2, {});286 try voidFun(1, void{}, 2, {});
290}287}
...@@ -348,7 +345,6 @@ test "function call with anon list literal" {...@@ -348,7 +345,6 @@ test "function call with anon list literal" {
348 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO345 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
349 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO346 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
350 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO347 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352348
353 const S = struct {349 const S = struct {
354 fn doTheTest() !void {350 fn doTheTest() !void {
...@@ -369,7 +365,6 @@ test "function call with anon list literal - 2D" {...@@ -369,7 +365,6 @@ test "function call with anon list literal - 2D" {
369 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO365 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
370 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO366 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
371 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO367 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
372 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
373368
374 const S = struct {369 const S = struct {
375 fn doTheTest() !void {370 fn doTheTest() !void {
...@@ -415,7 +410,6 @@ test "function with inferred error set but returning no error" {...@@ -415,7 +410,6 @@ test "function with inferred error set but returning no error" {
415410
416test "import passed byref to function in return type" {411test "import passed byref to function in return type" {
417 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO412 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
418 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
419413
420 const S = struct {414 const S = struct {
421 fn get() @import("std").ArrayListUnmanaged(i32) {415 fn get() @import("std").ArrayListUnmanaged(i32) {
...@@ -451,7 +445,6 @@ test "implicit cast function to function ptr" {...@@ -451,7 +445,6 @@ test "implicit cast function to function ptr" {
451test "method call with optional and error union first param" {445test "method call with optional and error union first param" {
452 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO446 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
453 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO447 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
454 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
455448
456 const S = struct {449 const S = struct {
457 x: i32 = 1234,450 x: i32 = 1234,
...@@ -471,7 +464,6 @@ test "method call with optional and error union first param" {...@@ -471,7 +464,6 @@ test "method call with optional and error union first param" {
471test "method call with optional pointer first param" {464test "method call with optional pointer first param" {
472 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO465 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO466 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
474 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
475467
476 const S = struct {468 const S = struct {
477 x: i32 = 1234,469 x: i32 = 1234,
...@@ -528,7 +520,6 @@ test "function returns function returning type" {...@@ -528,7 +520,6 @@ test "function returns function returning type" {
528520
529test "peer type resolution of inferred error set with non-void payload" {521test "peer type resolution of inferred error set with non-void payload" {
530 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO522 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
531 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
532523
533 const S = struct {524 const S = struct {
534 fn openDataFile(mode: enum { read, write }) !u32 {525 fn openDataFile(mode: enum { read, write }) !u32 {
...@@ -571,8 +562,6 @@ test "lazy values passed to anytype parameter" {...@@ -571,8 +562,6 @@ test "lazy values passed to anytype parameter" {
571}562}
572563
573test "pass and return comptime-only types" {564test "pass and return comptime-only types" {
574 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
575
576 const S = struct {565 const S = struct {
577 fn returnNull(comptime x: @Type(.Null)) @Type(.Null) {566 fn returnNull(comptime x: @Type(.Null)) @Type(.Null) {
578 return x;567 return x;
test/behavior/for.zig-11
...@@ -7,7 +7,6 @@ const mem = std.mem;...@@ -7,7 +7,6 @@ const mem = std.mem;
7test "continue in for loop" {7test "continue in for loop" {
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 const array = [_]i32{ 1, 2, 3, 4, 5 };11 const array = [_]i32{ 1, 2, 3, 4, 5 };
13 var sum: i32 = 0;12 var sum: i32 = 0;
...@@ -113,7 +112,6 @@ test "for with null and T peer types and inferred result location type" {...@@ -113,7 +112,6 @@ test "for with null and T peer types and inferred result location type" {
113 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;112 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
114 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;113 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
115 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO114 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
116 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
117115
118 const S = struct {116 const S = struct {
119 fn doTheTest(slice: []const u8) !void {117 fn doTheTest(slice: []const u8) !void {
...@@ -134,7 +132,6 @@ test "for with null and T peer types and inferred result location type" {...@@ -134,7 +132,6 @@ test "for with null and T peer types and inferred result location type" {
134test "2 break statements and an else" {132test "2 break statements and an else" {
135 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;133 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO134 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138135
139 const S = struct {136 const S = struct {
140 fn entry(t: bool, f: bool) !void {137 fn entry(t: bool, f: bool) !void {
...@@ -182,7 +179,6 @@ fn mangleString(s: []u8) void {...@@ -182,7 +179,6 @@ fn mangleString(s: []u8) void {
182test "for copies its payload" {179test "for copies its payload" {
183 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO180 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
184 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO181 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
185 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
186182
187 const S = struct {183 const S = struct {
188 fn doTheTest() !void {184 fn doTheTest() !void {
...@@ -217,7 +213,6 @@ test "for on slice with allowzero ptr" {...@@ -217,7 +213,6 @@ test "for on slice with allowzero ptr" {
217test "else continue outer for" {213test "else continue outer for" {
218 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO214 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO215 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
220 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
221216
222 var i: usize = 6;217 var i: usize = 6;
223 var buf: [5]u8 = undefined;218 var buf: [5]u8 = undefined;
...@@ -279,7 +274,6 @@ test "two counters" {...@@ -279,7 +274,6 @@ test "two counters" {
279test "1-based counter and ptr to array" {274test "1-based counter and ptr to array" {
280 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO275 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
281 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO276 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
282 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
283277
284 var ok: usize = 0;278 var ok: usize = 0;
285279
...@@ -360,7 +354,6 @@ test "raw pointer and slice" {...@@ -360,7 +354,6 @@ test "raw pointer and slice" {
360 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
361 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO355 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
362 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
363 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
364357
365 var buf: [10]u8 = undefined;358 var buf: [10]u8 = undefined;
366 const slice: []const u8 = "blah";359 const slice: []const u8 = "blah";
...@@ -380,7 +373,6 @@ test "raw pointer and counter" {...@@ -380,7 +373,6 @@ test "raw pointer and counter" {
380 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO373 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
381 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO374 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
382 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO375 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
383 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
384376
385 var buf: [10]u8 = undefined;377 var buf: [10]u8 = undefined;
386 const ptr: [*]u8 = &buf;378 const ptr: [*]u8 = &buf;
...@@ -429,7 +421,6 @@ test "inline for with counter as the comptime-known" {...@@ -429,7 +421,6 @@ test "inline for with counter as the comptime-known" {
429 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO421 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
430 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO422 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
431 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO423 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
432 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
433424
434 var runtime_slice = "hello";425 var runtime_slice = "hello";
435 var runtime_i: usize = 3;426 var runtime_i: usize = 3;
...@@ -460,7 +451,6 @@ test "inline for on tuple pointer" {...@@ -460,7 +451,6 @@ test "inline for on tuple pointer" {
460 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO451 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
461 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO452 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
462 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO453 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
463 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
464454
465 const S = struct { u32, u32, u32 };455 const S = struct { u32, u32, u32 };
466 var s: S = .{ 100, 200, 300 };456 var s: S = .{ 100, 200, 300 };
...@@ -476,7 +466,6 @@ test "ref counter that starts at zero" {...@@ -476,7 +466,6 @@ test "ref counter that starts at zero" {
476 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO466 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
477 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO467 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
478 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO468 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
479 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
480469
481 for ([_]usize{ 0, 1, 2 }, 0..) |i, j| {470 for ([_]usize{ 0, 1, 2 }, 0..) |i, j| {
482 try expectEqual(i, j);471 try expectEqual(i, j);
test/behavior/generics.zig-4
...@@ -153,7 +153,6 @@ test "generic fn with implicit cast" {...@@ -153,7 +153,6 @@ test "generic fn with implicit cast" {
153 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;153 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
154 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;154 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
155 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO155 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
156 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
157156
158 try expect(getFirstByte(u8, &[_]u8{13}) == 13);157 try expect(getFirstByte(u8, &[_]u8{13}) == 13);
159 try expect(getFirstByte(u16, &[_]u16{158 try expect(getFirstByte(u16, &[_]u16{
...@@ -280,7 +279,6 @@ test "generic function instantiation turns into comptime call" {...@@ -280,7 +279,6 @@ test "generic function instantiation turns into comptime call" {
280279
281test "generic function with void and comptime parameter" {280test "generic function with void and comptime parameter" {
282 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO281 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
283 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
284282
285 const S = struct { x: i32 };283 const S = struct { x: i32 };
286 const namespace = struct {284 const namespace = struct {
...@@ -315,7 +313,6 @@ test "generic function instantiation non-duplicates" {...@@ -315,7 +313,6 @@ test "generic function instantiation non-duplicates" {
315 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO313 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
316 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO314 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
317 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO315 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
318 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
319 if (builtin.os.tag == .wasi) return error.SkipZigTest;316 if (builtin.os.tag == .wasi) return error.SkipZigTest;
320317
321 const S = struct {318 const S = struct {
...@@ -433,7 +430,6 @@ test "generic function passed as comptime argument" {...@@ -433,7 +430,6 @@ test "generic function passed as comptime argument" {
433430
434test "return type of generic function is function pointer" {431test "return type of generic function is function pointer" {
435 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;432 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
436 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
437433
438 const S = struct {434 const S = struct {
439 fn b(comptime T: type) ?*const fn () error{}!T {435 fn b(comptime T: type) ?*const fn () error{}!T {
test/behavior/if.zig-3
...@@ -45,7 +45,6 @@ var global_with_err: anyerror!u32 = error.SomeError;...@@ -45,7 +45,6 @@ var global_with_err: anyerror!u32 = error.SomeError;
4545
46test "unwrap mutable global var" {46test "unwrap mutable global var" {
47 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO47 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4948
50 if (global_with_val) |v| {49 if (global_with_val) |v| {
51 try expect(v == 0);50 try expect(v == 0);
...@@ -116,7 +115,6 @@ test "if peer expressions inferred optional type" {...@@ -116,7 +115,6 @@ test "if peer expressions inferred optional type" {
116 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;115 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
117 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;116 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
118 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO117 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
119 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
120118
121 var self: []const u8 = "abcdef";119 var self: []const u8 = "abcdef";
122 var index: usize = 0;120 var index: usize = 0;
...@@ -134,7 +132,6 @@ test "if-else expression with runtime condition result location is inferred opti...@@ -134,7 +132,6 @@ test "if-else expression with runtime condition result location is inferred opti
134 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;132 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
135 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;133 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
136 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO134 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138135
139 const A = struct { b: u64, c: u64 };136 const A = struct { b: u64, c: u64 };
140 var d: bool = true;137 var d: bool = true;
test/behavior/inline_switch.zig-1
...@@ -84,7 +84,6 @@ test "inline else bool" {...@@ -84,7 +84,6 @@ test "inline else bool" {
84test "inline else error" {84test "inline else error" {
85 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO85 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
86 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO86 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8887
89 const Err = error{ a, b, c };88 const Err = error{ a, b, c };
90 var a = Err.a;89 var a = Err.a;
test/behavior/int_comparison_elision.zig+1-2
...@@ -4,8 +4,6 @@ const maxInt = std.math.maxInt;...@@ -4,8 +4,6 @@ const maxInt = std.math.maxInt;
4const builtin = @import("builtin");4const builtin = @import("builtin");
55
6test "int comparison elision" {6test "int comparison elision" {
7 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8
9 testIntEdges(u0);7 testIntEdges(u0);
10 testIntEdges(i0);8 testIntEdges(i0);
11 testIntEdges(u1);9 testIntEdges(u1);
...@@ -17,6 +15,7 @@ test "int comparison elision" {...@@ -17,6 +15,7 @@ test "int comparison elision" {
17 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO16 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO17 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2019
21 // TODO: panic: integer overflow with int types > 65528 bits wide20 // TODO: panic: integer overflow with int types > 65528 bits wide
22 // TODO: LLVM generates too many parameters for wasmtime when splitting up int > 64000 bits wide21 // TODO: LLVM generates too many parameters for wasmtime when splitting up int > 64000 bits wide
test/behavior/ir_block_deps.zig-1
...@@ -21,7 +21,6 @@ test "ir block deps" {...@@ -21,7 +21,6 @@ test "ir block deps" {
21 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;21 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2524
26 try expect((foo(1) catch unreachable) == 0);25 try expect((foo(1) catch unreachable) == 0);
27 try expect((foo(2) catch unreachable) == 0);26 try expect((foo(2) catch unreachable) == 0);
test/behavior/lower_strlit_to_vector.zig-1
...@@ -6,7 +6,6 @@ test "strlit to vector" {...@@ -6,7 +6,6 @@ test "strlit to vector" {
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_sparc64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
109
11 const strlit = "0123456789abcdef0123456789ABCDEF";10 const strlit = "0123456789abcdef0123456789ABCDEF";
12 const vec_from_strlit: @Vector(32, u8) = strlit.*;11 const vec_from_strlit: @Vector(32, u8) = strlit.*;
test/behavior/math.zig+2-3
...@@ -1119,6 +1119,8 @@ test "@shlWithOverflow" {...@@ -1119,6 +1119,8 @@ test "@shlWithOverflow" {
1119}1119}
11201120
1121test "overflow arithmetic with u0 values" {1121test "overflow arithmetic with u0 values" {
1122 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1123
1122 {1124 {
1123 var a: u0 = 0;1125 var a: u0 = 0;
1124 const ov = @addWithOverflow(a, 0);1126 const ov = @addWithOverflow(a, 0);
...@@ -1287,8 +1289,6 @@ fn testShrExact(x: u8) !void {...@@ -1287,8 +1289,6 @@ fn testShrExact(x: u8) !void {
1287}1289}
12881290
1289test "shift left/right on u0 operand" {1291test "shift left/right on u0 operand" {
1290 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1291
1292 const S = struct {1292 const S = struct {
1293 fn doTheTest() !void {1293 fn doTheTest() !void {
1294 var x: u0 = 0;1294 var x: u0 = 0;
...@@ -1565,7 +1565,6 @@ test "vector comparison" {...@@ -1565,7 +1565,6 @@ test "vector comparison" {
1565 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1565 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1566 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1566 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1567 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1567 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1568 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
15691568
1570 const S = struct {1569 const S = struct {
1571 fn doTheTest() !void {1570 fn doTheTest() !void {
test/behavior/maximum_minimum.zig-7
...@@ -147,8 +147,6 @@ test "@min/@max on lazy values" {...@@ -147,8 +147,6 @@ test "@min/@max on lazy values" {
147}147}
148148
149test "@min/@max more than two arguments" {149test "@min/@max more than two arguments" {
150 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
151
152 const x: u32 = 30;150 const x: u32 = 30;
153 const y: u32 = 10;151 const y: u32 = 10;
154 const z: u32 = 20;152 const z: u32 = 20;
...@@ -161,7 +159,6 @@ test "@min/@max more than two vector arguments" {...@@ -161,7 +159,6 @@ test "@min/@max more than two vector arguments" {
161 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO159 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
162 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO160 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO161 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
164 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
165162
166 const x: @Vector(2, u32) = .{ 3, 2 };163 const x: @Vector(2, u32) = .{ 3, 2 };
167 const y: @Vector(2, u32) = .{ 4, 1 };164 const y: @Vector(2, u32) = .{ 4, 1 };
...@@ -174,7 +171,6 @@ test "@min/@max notices bounds" {...@@ -174,7 +171,6 @@ test "@min/@max notices bounds" {
174 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO171 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO172 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
176 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO173 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
177 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
178174
179 var x: u16 = 20;175 var x: u16 = 20;
180 const y = 30;176 const y = 30;
...@@ -224,7 +220,6 @@ test "@min/@max notices bounds from types" {...@@ -224,7 +220,6 @@ test "@min/@max notices bounds from types" {
224 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO220 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
225 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO221 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
226 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO222 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
227 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
228223
229 var x: u16 = 123;224 var x: u16 = 123;
230 var y: u32 = 456;225 var y: u32 = 456;
...@@ -305,8 +300,6 @@ test "@min/@max notices bounds from vector types when element of comptime-known...@@ -305,8 +300,6 @@ test "@min/@max notices bounds from vector types when element of comptime-known
305}300}
306301
307test "@min/@max of signed and unsigned runtime integers" {302test "@min/@max of signed and unsigned runtime integers" {
308 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
309
310 var x: i32 = -1;303 var x: i32 = -1;
311 var y: u31 = 1;304 var y: u31 = 1;
312305
test/behavior/merge_error_sets.zig-1
...@@ -13,7 +13,6 @@ fn foo() C!void {...@@ -13,7 +13,6 @@ fn foo() C!void {
1313
14test "merge error sets" {14test "merge error sets" {
15 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1716
18 if (foo()) {17 if (foo()) {
19 @panic("unexpected");18 @panic("unexpected");
test/behavior/null.zig-4
...@@ -53,7 +53,6 @@ test "maybe return" {...@@ -53,7 +53,6 @@ test "maybe return" {
53 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;53 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
54 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;54 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
55 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO55 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
56 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5756
58 try maybeReturnImpl();57 try maybeReturnImpl();
59 try comptime maybeReturnImpl();58 try comptime maybeReturnImpl();
...@@ -84,7 +83,6 @@ fn testTestNullRuntime(x: ?i32) !void {...@@ -84,7 +83,6 @@ fn testTestNullRuntime(x: ?i32) !void {
84test "optional void" {83test "optional void" {
85 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;84 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
86 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO85 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
8886
89 try optionalVoidImpl();87 try optionalVoidImpl();
90 try comptime optionalVoidImpl();88 try comptime optionalVoidImpl();
...@@ -108,7 +106,6 @@ const Empty = struct {};...@@ -108,7 +106,6 @@ const Empty = struct {};
108test "optional struct{}" {106test "optional struct{}" {
109 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;107 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
110 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO108 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
111 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
112109
113 _ = try optionalEmptyStructImpl();110 _ = try optionalEmptyStructImpl();
114 _ = try comptime optionalEmptyStructImpl();111 _ = try comptime optionalEmptyStructImpl();
...@@ -134,7 +131,6 @@ test "null with default unwrap" {...@@ -134,7 +131,6 @@ test "null with default unwrap" {
134131
135test "optional pointer to 0 bit type null value at runtime" {132test "optional pointer to 0 bit type null value at runtime" {
136 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO133 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138134
139 const EmptyStruct = struct {};135 const EmptyStruct = struct {};
140 var x: ?*EmptyStruct = null;136 var x: ?*EmptyStruct = null;
test/behavior/optional.zig-12
...@@ -34,8 +34,6 @@ test "optional pointer to size zero struct" {...@@ -34,8 +34,6 @@ test "optional pointer to size zero struct" {
34}34}
3535
36test "equality compare optional pointers" {36test "equality compare optional pointers" {
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
38
39 try testNullPtrsEql();37 try testNullPtrsEql();
40 try comptime testNullPtrsEql();38 try comptime testNullPtrsEql();
41}39}
...@@ -60,7 +58,6 @@ test "optional with void type" {...@@ -60,7 +58,6 @@ test "optional with void type" {
60 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;58 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
61 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO59 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
62 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO60 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
63 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6461
65 const Foo = struct {62 const Foo = struct {
66 x: ?void,63 x: ?void,
...@@ -95,7 +92,6 @@ test "nested optional field in struct" {...@@ -95,7 +92,6 @@ test "nested optional field in struct" {
95 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;92 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
96 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO93 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
97 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO94 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9995
100 const S2 = struct {96 const S2 = struct {
101 y: u8,97 y: u8,
...@@ -113,7 +109,6 @@ test "equality compare optional with non-optional" {...@@ -113,7 +109,6 @@ test "equality compare optional with non-optional" {
113 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;109 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
114 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO110 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
115 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO111 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
116 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
117112
118 try test_cmp_optional_non_optional();113 try test_cmp_optional_non_optional();
119 try comptime test_cmp_optional_non_optional();114 try comptime test_cmp_optional_non_optional();
...@@ -172,7 +167,6 @@ test "unwrap function call with optional pointer return value" {...@@ -172,7 +167,6 @@ test "unwrap function call with optional pointer return value" {
172test "nested orelse" {167test "nested orelse" {
173 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO168 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO169 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
176170
177 const S = struct {171 const S = struct {
178 fn entry() !void {172 fn entry() !void {
...@@ -255,7 +249,6 @@ test "0-bit child type coerced to optional return ptr result location" {...@@ -255,7 +249,6 @@ test "0-bit child type coerced to optional return ptr result location" {
255 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO249 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
256 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO250 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
257 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO251 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
258 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
259252
260 const S = struct {253 const S = struct {
261 fn doTheTest() !void {254 fn doTheTest() !void {
...@@ -308,7 +301,6 @@ test "array of optional unaligned types" {...@@ -308,7 +301,6 @@ test "array of optional unaligned types" {
308 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO301 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
309 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO302 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
310 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO303 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
311 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
312304
313 const Enum = enum { one, two, three };305 const Enum = enum { one, two, three };
314306
...@@ -444,7 +436,6 @@ test "Optional slice size is optimized" {...@@ -444,7 +436,6 @@ test "Optional slice size is optimized" {
444 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;436 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
445 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;437 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
446 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO438 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
447 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
448439
449 try expect(@sizeOf(?[]u8) == @sizeOf([]u8));440 try expect(@sizeOf(?[]u8) == @sizeOf([]u8));
450 var a: ?[]const u8 = null;441 var a: ?[]const u8 = null;
...@@ -456,7 +447,6 @@ test "Optional slice size is optimized" {...@@ -456,7 +447,6 @@ test "Optional slice size is optimized" {
456test "peer type resolution in nested if expressions" {447test "peer type resolution in nested if expressions" {
457 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;448 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
458 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;449 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
459 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
460450
461 const Thing = struct { n: i32 };451 const Thing = struct { n: i32 };
462 var a = false;452 var a = false;
...@@ -496,8 +486,6 @@ test "cast slice to const slice nested in error union and optional" {...@@ -496,8 +486,6 @@ test "cast slice to const slice nested in error union and optional" {
496}486}
497487
498test "variable of optional of noreturn" {488test "variable of optional of noreturn" {
499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
500
501 var null_opv: ?noreturn = null;489 var null_opv: ?noreturn = null;
502 try std.testing.expectEqual(@as(?noreturn, null), null_opv);490 try std.testing.expectEqual(@as(?noreturn, null), null_opv);
503}491}
test/behavior/packed-struct.zig+5
...@@ -622,6 +622,7 @@ test "@intFromPtr on a packed struct field unaligned and nested" {...@@ -622,6 +622,7 @@ test "@intFromPtr on a packed struct field unaligned and nested" {
622622
623test "packed struct fields modification" {623test "packed struct fields modification" {
624 // Originally reported at https://github.com/ziglang/zig/issues/16615624 // Originally reported at https://github.com/ziglang/zig/issues/16615
625 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
625626
626 const Small = packed struct {627 const Small = packed struct {
627 val: u8 = 0,628 val: u8 = 0,
...@@ -980,6 +981,8 @@ test "store undefined to packed result location" {...@@ -980,6 +981,8 @@ test "store undefined to packed result location" {
980}981}
981982
982test "bitcast back and forth" {983test "bitcast back and forth" {
984 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
985
983 // Originally reported at https://github.com/ziglang/zig/issues/9914986 // Originally reported at https://github.com/ziglang/zig/issues/9914
984 const S = packed struct { one: u6, two: u1 };987 const S = packed struct { one: u6, two: u1 };
985 const s = S{ .one = 0b110101, .two = 0b1 };988 const s = S{ .one = 0b110101, .two = 0b1 };
...@@ -991,6 +994,7 @@ test "bitcast back and forth" {...@@ -991,6 +994,7 @@ test "bitcast back and forth" {
991994
992test "field access of packed struct smaller than its abi size inside struct initialized with rls" {995test "field access of packed struct smaller than its abi size inside struct initialized with rls" {
993 // Originally reported at https://github.com/ziglang/zig/issues/14200996 // Originally reported at https://github.com/ziglang/zig/issues/14200
997 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
994998
995 const S = struct {999 const S = struct {
996 ps: packed struct { x: i2, y: i2 },1000 ps: packed struct { x: i2, y: i2 },
...@@ -1039,6 +1043,7 @@ test "modify nested packed struct aligned field" {...@@ -1039,6 +1043,7 @@ test "modify nested packed struct aligned field" {
10391043
1040test "assigning packed struct inside another packed struct" {1044test "assigning packed struct inside another packed struct" {
1041 // Originally reported at https://github.com/ziglang/zig/issues/96741045 // Originally reported at https://github.com/ziglang/zig/issues/9674
1046 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10421047
1043 const S = struct {1048 const S = struct {
1044 const Inner = packed struct {1049 const Inner = packed struct {
test/behavior/packed-union.zig+1
...@@ -88,6 +88,7 @@ test "flags in packed union at offset" {...@@ -88,6 +88,7 @@ test "flags in packed union at offset" {
8888
89test "packed union in packed struct" {89test "packed union in packed struct" {
90 // Originally reported at https://github.com/ziglang/zig/issues/1658190 // Originally reported at https://github.com/ziglang/zig/issues/16581
91 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9192
92 const ReadRequest = packed struct { key: i32 };93 const ReadRequest = packed struct { key: i32 };
93 const RequestType = enum {94 const RequestType = enum {
test/behavior/pointers.zig-5
...@@ -191,7 +191,6 @@ test "allowzero pointer and slice" {...@@ -191,7 +191,6 @@ test "allowzero pointer and slice" {
191 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO191 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
194 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
195194
196 var ptr = @as([*]allowzero i32, @ptrFromInt(0));195 var ptr = @as([*]allowzero i32, @ptrFromInt(0));
197 var opt_ptr: ?[*]allowzero i32 = ptr;196 var opt_ptr: ?[*]allowzero i32 = ptr;
...@@ -276,7 +275,6 @@ test "array initialization types" {...@@ -276,7 +275,6 @@ test "array initialization types" {
276test "null terminated pointer" {275test "null terminated pointer" {
277 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;276 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
278 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO277 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
279 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
280278
281 const S = struct {279 const S = struct {
282 fn doTheTest() !void {280 fn doTheTest() !void {
...@@ -411,7 +409,6 @@ test "indexing array with sentinel returns correct type" {...@@ -411,7 +409,6 @@ test "indexing array with sentinel returns correct type" {
411 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO409 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
412 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO410 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
413 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO411 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
414 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
415412
416 var s: [:0]const u8 = "abc";413 var s: [:0]const u8 = "abc";
417 try testing.expectEqualSlices(u8, "*const u8", @typeName(@TypeOf(&s[0])));414 try testing.expectEqualSlices(u8, "*const u8", @typeName(@TypeOf(&s[0])));
...@@ -496,7 +493,6 @@ test "ptrCast comptime known slice to C pointer" {...@@ -496,7 +493,6 @@ test "ptrCast comptime known slice to C pointer" {
496 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO493 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
497 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO494 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
498 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO495 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
499 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
500496
501 const s: [:0]const u8 = "foo";497 const s: [:0]const u8 = "foo";
502 var p = @as([*c]const u8, @ptrCast(s));498 var p = @as([*c]const u8, @ptrCast(s));
...@@ -507,7 +503,6 @@ test "intFromPtr on a generic function" {...@@ -507,7 +503,6 @@ test "intFromPtr on a generic function" {
507 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO503 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
508 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO504 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
509 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO505 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
510 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
511506
512 const S = struct {507 const S = struct {
513 fn generic(i: anytype) @TypeOf(i) {508 fn generic(i: anytype) @TypeOf(i) {
test/behavior/ptrcast.zig+2-2
...@@ -233,7 +233,6 @@ test "implicit optional pointer to optional anyopaque pointer" {...@@ -233,7 +233,6 @@ test "implicit optional pointer to optional anyopaque pointer" {
233 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO233 if (builtin.zig_backend == .stage2_arm) 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_aarch64) return error.SkipZigTest; // TODO235 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
236 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
237236
238 var buf: [4]u8 = "aoeu".*;237 var buf: [4]u8 = "aoeu".*;
239 var x: ?[*]u8 = &buf;238 var x: ?[*]u8 = &buf;
...@@ -246,7 +245,6 @@ test "@ptrCast slice to slice" {...@@ -246,7 +245,6 @@ test "@ptrCast slice to slice" {
246 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO245 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
247 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO246 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
248 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO247 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
249 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
250248
251 const S = struct {249 const S = struct {
252 fn foo(slice: []u32) []i32 {250 fn foo(slice: []u32) []i32 {
...@@ -286,6 +284,8 @@ test "@ptrCast undefined value at comptime" {...@@ -286,6 +284,8 @@ test "@ptrCast undefined value at comptime" {
286}284}
287285
288test "comptime @ptrCast with packed struct leaves value unmodified" {286test "comptime @ptrCast with packed struct leaves value unmodified" {
287 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
288
289 const S = packed struct { three: u3 };289 const S = packed struct { three: u3 };
290 const st: S = .{ .three = 6 };290 const st: S = .{ .three = 6 };
291 try expect(st.three == 6);291 try expect(st.three == 6);
test/behavior/ptrfromint.zig-2
...@@ -33,7 +33,6 @@ test "@ptrFromInt creates null pointer" {...@@ -33,7 +33,6 @@ test "@ptrFromInt creates null pointer" {
33 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;33 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
34 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;34 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
35 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO35 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3736
38 const ptr = @as(?*u32, @ptrFromInt(0));37 const ptr = @as(?*u32, @ptrFromInt(0));
39 try expectEqual(@as(?*u32, null), ptr);38 try expectEqual(@as(?*u32, null), ptr);
...@@ -43,7 +42,6 @@ test "@ptrFromInt creates allowzero zero pointer" {...@@ -43,7 +42,6 @@ test "@ptrFromInt creates allowzero zero pointer" {
43 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;42 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
44 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;43 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
45 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO44 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
46 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4745
48 const ptr = @as(*allowzero u32, @ptrFromInt(0));46 const ptr = @as(*allowzero u32, @ptrFromInt(0));
49 try expectEqual(@as(usize, 0), @intFromPtr(ptr));47 try expectEqual(@as(usize, 0), @intFromPtr(ptr));
test/behavior/sizeof_and_typeof.zig-3
...@@ -18,8 +18,6 @@ test "@sizeOf on compile-time types" {...@@ -18,8 +18,6 @@ test "@sizeOf on compile-time types" {
18}18}
1919
20test "@TypeOf() with multiple arguments" {20test "@TypeOf() with multiple arguments" {
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
22
23 {21 {
24 var var_1: u32 = undefined;22 var var_1: u32 = undefined;
25 var var_2: u8 = undefined;23 var var_2: u8 = undefined;
...@@ -268,7 +266,6 @@ test "runtime instructions inside typeof in comptime only scope" {...@@ -268,7 +266,6 @@ test "runtime instructions inside typeof in comptime only scope" {
268 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;266 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
269 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;267 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
270 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO268 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
271 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
272269
273 {270 {
274 var y: i8 = 2;271 var y: i8 = 2;
test/behavior/slice.zig-9
...@@ -227,7 +227,6 @@ test "runtime safety lets us slice from len..len" {...@@ -227,7 +227,6 @@ test "runtime safety lets us slice from len..len" {
227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
228 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;228 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
229 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO229 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
230 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
231230
232 var an_array = [_]u8{ 1, 2, 3 };231 var an_array = [_]u8{ 1, 2, 3 };
233 try expect(mem.eql(u8, sliceFromLenToLen(an_array[0..], 3, 3), ""));232 try expect(mem.eql(u8, sliceFromLenToLen(an_array[0..], 3, 3), ""));
...@@ -240,7 +239,6 @@ fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) []u8 {...@@ -240,7 +239,6 @@ fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) []u8 {
240test "C pointer" {239test "C pointer" {
241 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO240 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
242 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO241 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
243 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
244242
245 var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf";243 var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf";
246 var len: u32 = 10;244 var len: u32 = 10;
...@@ -252,7 +250,6 @@ test "C pointer slice access" {...@@ -252,7 +250,6 @@ test "C pointer slice access" {
252 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;250 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
253 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;251 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
254 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO252 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
255 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
256253
257 var buf: [10]u32 = [1]u32{42} ** 10;254 var buf: [10]u32 = [1]u32{42} ** 10;
258 const c_ptr = @as([*c]const u32, @ptrCast(&buf));255 const c_ptr = @as([*c]const u32, @ptrCast(&buf));
...@@ -282,7 +279,6 @@ fn sliceSum(comptime q: []const u8) i32 {...@@ -282,7 +279,6 @@ fn sliceSum(comptime q: []const u8) i32 {
282test "slice type with custom alignment" {279test "slice type with custom alignment" {
283 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;280 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
284 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO281 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
285 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
286282
287 const LazilyResolvedType = struct {283 const LazilyResolvedType = struct {
288 anything: i32,284 anything: i32,
...@@ -356,7 +352,6 @@ test "slice syntax resulting in pointer-to-array" {...@@ -356,7 +352,6 @@ test "slice syntax resulting in pointer-to-array" {
356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO352 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
357 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO353 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
358 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO354 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
359 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
360355
361 const S = struct {356 const S = struct {
362 fn doTheTest() !void {357 fn doTheTest() !void {
...@@ -615,7 +610,6 @@ test "type coercion of pointer to anon struct literal to pointer to slice" {...@@ -615,7 +610,6 @@ test "type coercion of pointer to anon struct literal to pointer to slice" {
615 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO610 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
616 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO611 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
617 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO612 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
618 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
619613
620 const S = struct {614 const S = struct {
621 const U = union {615 const U = union {
...@@ -830,7 +824,6 @@ test "empty slice ptr is non null" {...@@ -830,7 +824,6 @@ test "empty slice ptr is non null" {
830test "slice decays to many pointer" {824test "slice decays to many pointer" {
831 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;825 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
832 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;826 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
833 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
834827
835 var buf: [8]u8 = "abcdefg\x00".*;828 var buf: [8]u8 = "abcdefg\x00".*;
836 const p: [*:0]const u8 = buf[0..7 :0];829 const p: [*:0]const u8 = buf[0..7 :0];
...@@ -841,7 +834,6 @@ test "write through pointer to optional slice arg" {...@@ -841,7 +834,6 @@ test "write through pointer to optional slice arg" {
841 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;834 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
842 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;835 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
843 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;836 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
844 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
845837
846 const S = struct {838 const S = struct {
847 fn bar(foo: *?[]const u8) !void {839 fn bar(foo: *?[]const u8) !void {
...@@ -861,7 +853,6 @@ test "modify slice length at comptime" {...@@ -861,7 +853,6 @@ test "modify slice length at comptime" {
861 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;853 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
862 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;854 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
863 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;855 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
864 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
865856
866 const arr: [2]u8 = .{ 10, 20 };857 const arr: [2]u8 = .{ 10, 20 };
867 comptime var s: []const u8 = arr[0..0];858 comptime var s: []const u8 = arr[0..0];
test/behavior/src.zig-2
...@@ -33,8 +33,6 @@ test "@src used as a comptime parameter" {...@@ -33,8 +33,6 @@ test "@src used as a comptime parameter" {
33}33}
3434
35test "@src in tuple passed to anytype function" {35test "@src in tuple passed to anytype function" {
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
37
38 const S = struct {36 const S = struct {
39 fn Foo(a: anytype) u32 {37 fn Foo(a: anytype) u32 {
40 return a[0].line;38 return a[0].line;
test/behavior/struct.zig-3
...@@ -134,8 +134,6 @@ test "invoke static method in global scope" {...@@ -134,8 +134,6 @@ test "invoke static method in global scope" {
134const empty_global_instance = StructWithNoFields{};134const empty_global_instance = StructWithNoFields{};
135135
136test "return empty struct instance" {136test "return empty struct instance" {
137 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
138
139 _ = returnEmptyStructInstance();137 _ = returnEmptyStructInstance();
140}138}
141fn returnEmptyStructInstance() StructWithNoFields {139fn returnEmptyStructInstance() StructWithNoFields {
...@@ -328,7 +326,6 @@ const VoidStructFieldsFoo = struct {...@@ -328,7 +326,6 @@ const VoidStructFieldsFoo = struct {
328326
329test "return empty struct from fn" {327test "return empty struct from fn" {
330 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO328 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
331 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
332329
333 _ = testReturnEmptyStructFromFn();330 _ = testReturnEmptyStructFromFn();
334}331}
test/behavior/switch.zig-7
...@@ -623,7 +623,6 @@ test "switch capture copies its payload" {...@@ -623,7 +623,6 @@ test "switch capture copies its payload" {
623 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO623 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
624 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO624 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
625 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO625 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
626 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
627626
628 const S = struct {627 const S = struct {
629 fn doTheTest() !void {628 fn doTheTest() !void {
...@@ -710,8 +709,6 @@ test "comptime inline switch" {...@@ -710,8 +709,6 @@ test "comptime inline switch" {
710}709}
711710
712test "switch capture peer type resolution" {711test "switch capture peer type resolution" {
713 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
714
715 const U = union(enum) {712 const U = union(enum) {
716 a: u32,713 a: u32,
717 b: u64,714 b: u64,
...@@ -727,8 +724,6 @@ test "switch capture peer type resolution" {...@@ -727,8 +724,6 @@ test "switch capture peer type resolution" {
727}724}
728725
729test "switch capture peer type resolution for in-memory coercible payloads" {726test "switch capture peer type resolution for in-memory coercible payloads" {
730 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
731
732 const T1 = c_int;727 const T1 = c_int;
733 const T2 = @Type(@typeInfo(T1));728 const T2 = @Type(@typeInfo(T1));
734729
...@@ -777,8 +772,6 @@ test "switch pointer capture peer type resolution" {...@@ -777,8 +772,6 @@ test "switch pointer capture peer type resolution" {
777}772}
778773
779test "inline switch range that includes the maximum value of the switched type" {774test "inline switch range that includes the maximum value of the switched type" {
780 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
781
782 const inputs: [3]u8 = .{ 0, 254, 255 };775 const inputs: [3]u8 = .{ 0, 254, 255 };
783 for (inputs) |input| {776 for (inputs) |input| {
784 switch (input) {777 switch (input) {
test/behavior/switch_prong_err_enum.zig-1
...@@ -24,7 +24,6 @@ test "switch prong returns error enum" {...@@ -24,7 +24,6 @@ test "switch prong returns error enum" {
24 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;24 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
25 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;25 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
26 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO26 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2827
29 switch (doThing(17) catch unreachable) {28 switch (doThing(17) catch unreachable) {
30 FormValue.Address => |payload| {29 FormValue.Address => |payload| {
test/behavior/switch_prong_implicit_cast.zig-1
...@@ -18,7 +18,6 @@ test "switch prong implicit cast" {...@@ -18,7 +18,6 @@ test "switch prong implicit cast" {
18 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;18 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
19 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;19 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
20 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO20 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2221
23 const result = switch (foo(2) catch unreachable) {22 const result = switch (foo(2) catch unreachable) {
24 FormValue.One => false,23 FormValue.One => false,
test/behavior/threadlocal.zig-1
...@@ -33,7 +33,6 @@ test "pointer to thread local array" {...@@ -33,7 +33,6 @@ test "pointer to thread local array" {
33 else => return error.SkipZigTest,33 else => return error.SkipZigTest,
34 }; // TODO34 }; // TODO
35 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO35 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3736
38 const s = "Hello world";37 const s = "Hello world";
39 std.mem.copy(u8, buffer[0..], s);38 std.mem.copy(u8, buffer[0..], s);
test/behavior/try.zig-3
...@@ -4,7 +4,6 @@ const expect = std.testing.expect;...@@ -4,7 +4,6 @@ const expect = std.testing.expect;
44
5test "try on error union" {5test "try on error union" {
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 try tryOnErrorUnionImpl();8 try tryOnErrorUnionImpl();
10 try comptime tryOnErrorUnionImpl();9 try comptime tryOnErrorUnionImpl();
...@@ -40,8 +39,6 @@ fn failIfTrue(ok: bool) anyerror!void {...@@ -40,8 +39,6 @@ fn failIfTrue(ok: bool) anyerror!void {
40}39}
4140
42test "try then not executed with assignment" {41test "try then not executed with assignment" {
43 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
44
45 if (failIfTrue(true)) {42 if (failIfTrue(true)) {
46 unreachable;43 unreachable;
47 } else |err| {44 } else |err| {
test/behavior/tuple.zig-10
...@@ -10,7 +10,6 @@ test "tuple concatenation" {...@@ -10,7 +10,6 @@ test "tuple concatenation" {
10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_arm) 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_sparc64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1413
15 const S = struct {14 const S = struct {
16 fn doTheTest() !void {15 fn doTheTest() !void {
...@@ -269,7 +268,6 @@ test "tuple in tuple passed to generic function" {...@@ -269,7 +268,6 @@ test "tuple in tuple passed to generic function" {
269 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO268 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
270 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO269 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
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_spirv64) return error.SkipZigTest;
273271
274 const S = struct {272 const S = struct {
275 fn pair(x: f32, y: f32) std.meta.Tuple(&.{ f32, f32 }) {273 fn pair(x: f32, y: f32) std.meta.Tuple(&.{ f32, f32 }) {
...@@ -310,8 +308,6 @@ test "tuple type with void field" {...@@ -310,8 +308,6 @@ test "tuple type with void field" {
310}308}
311309
312test "zero sized struct in tuple handled correctly" {310test "zero sized struct in tuple handled correctly" {
313 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
314
315 const State = struct {311 const State = struct {
316 const Self = @This();312 const Self = @This();
317 data: @Type(.{313 data: @Type(.{
...@@ -351,7 +347,6 @@ test "branching inside tuple literal" {...@@ -351,7 +347,6 @@ test "branching inside tuple literal" {
351 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO347 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
352 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO348 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
353 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO349 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
354 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
355350
356 const S = struct {351 const S = struct {
357 fn foo(a: anytype) !void {352 fn foo(a: anytype) !void {
...@@ -366,7 +361,6 @@ test "tuple initialized with a runtime known value" {...@@ -366,7 +361,6 @@ test "tuple initialized with a runtime known value" {
366 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;361 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
367 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;362 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
368 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO363 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
369 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
370364
371 const E = union(enum) { e: []const u8 };365 const E = union(enum) { e: []const u8 };
372 const W = union(enum) { w: E };366 const W = union(enum) { w: E };
...@@ -380,7 +374,6 @@ test "tuple of struct concatenation and coercion to array" {...@@ -380,7 +374,6 @@ test "tuple of struct concatenation and coercion to array" {
380 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;374 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
381 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
382 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO376 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
383 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
384377
385 const StructWithDefault = struct { value: f32 = 42 };378 const StructWithDefault = struct { value: f32 = 42 };
386 const SomeStruct = struct { array: [4]StructWithDefault };379 const SomeStruct = struct { array: [4]StructWithDefault };
...@@ -395,7 +388,6 @@ test "nested runtime conditionals in tuple initializer" {...@@ -395,7 +388,6 @@ test "nested runtime conditionals in tuple initializer" {
395 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO388 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
396 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO389 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
397 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO390 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
398 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
399391
400 var data: u8 = 0;392 var data: u8 = 0;
401 const x = .{393 const x = .{
...@@ -430,7 +422,6 @@ test "tuple pointer is indexable" {...@@ -430,7 +422,6 @@ test "tuple pointer is indexable" {
430 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO422 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
431 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO423 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
432 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO424 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
433 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
434425
435 const S = struct { u32, bool };426 const S = struct { u32, bool };
436427
...@@ -454,7 +445,6 @@ test "coerce anon tuple to tuple" {...@@ -454,7 +445,6 @@ test "coerce anon tuple to tuple" {
454 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO445 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
455 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO446 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
456 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO447 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
457 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
458448
459 var x: u8 = 1;449 var x: u8 = 1;
460 var y: u16 = 2;450 var y: u16 = 2;
test/behavior/tuple_declarations.zig-2
...@@ -7,7 +7,6 @@ const expectEqualStrings = testing.expectEqualStrings;...@@ -7,7 +7,6 @@ const expectEqualStrings = testing.expectEqualStrings;
7test "tuple declaration type info" {7test "tuple declaration type info" {
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_arm) return error.SkipZigTest;9 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
10 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1110
12 {11 {
13 const T = struct { comptime u32 align(2) = 1, []const u8 };12 const T = struct { comptime u32 align(2) = 1, []const u8 };
...@@ -36,7 +35,6 @@ test "tuple declaration type info" {...@@ -36,7 +35,6 @@ test "tuple declaration type info" {
36test "Tuple declaration usage" {35test "Tuple declaration usage" {
37 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;36 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
38 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;37 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
39 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4038
41 const T = struct { u32, []const u8 };39 const T = struct { u32, []const u8 };
42 var t: T = .{ 1, "foo" };40 var t: T = .{ 1, "foo" };
test/behavior/type.zig-3
...@@ -202,7 +202,6 @@ test "Type.Opaque" {...@@ -202,7 +202,6 @@ test "Type.Opaque" {
202 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO202 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO203 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
204 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO204 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
205 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
206205
207 const Opaque = @Type(.{206 const Opaque = @Type(.{
208 .Opaque = .{207 .Opaque = .{
...@@ -260,7 +259,6 @@ test "Type.Struct" {...@@ -260,7 +259,6 @@ test "Type.Struct" {
260 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO259 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
261 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO260 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
262 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO261 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
263 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
264262
265 const A = @Type(@typeInfo(struct { x: u8, y: u32 }));263 const A = @Type(@typeInfo(struct { x: u8, y: u32 }));
266 const infoA = @typeInfo(A).Struct;264 const infoA = @typeInfo(A).Struct;
...@@ -348,7 +346,6 @@ test "Type.Struct" {...@@ -348,7 +346,6 @@ test "Type.Struct" {
348test "Type.Enum" {346test "Type.Enum" {
349 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO347 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
350 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO348 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
351 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
352349
353 const Foo = @Type(.{350 const Foo = @Type(.{
354 .Enum = .{351 .Enum = .{
test/behavior/type_info.zig-1
...@@ -565,7 +565,6 @@ test "value from struct @typeInfo default_value can be loaded at comptime" {...@@ -565,7 +565,6 @@ test "value from struct @typeInfo default_value can be loaded at comptime" {
565test "@typeInfo decls and usingnamespace" {565test "@typeInfo decls and usingnamespace" {
566 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO566 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
567 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO567 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
568 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
569568
570 const A = struct {569 const A = struct {
571 pub const x = 5;570 pub const x = 5;
test/behavior/type_info_only_pub_decls.zig-2
...@@ -15,8 +15,6 @@ const other = struct {...@@ -15,8 +15,6 @@ const other = struct {
15};15};
1616
17test {17test {
18 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
19
20 const ti = @typeInfo(other);18 const ti = @typeInfo(other);
21 const decls = ti.Struct.decls;19 const decls = ti.Struct.decls;
2220
test/behavior/typename.zig-2
...@@ -67,7 +67,6 @@ test "basic" {...@@ -67,7 +67,6 @@ test "basic" {
67 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO67 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
68 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO68 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO69 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
70 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
7170
72 try expectEqualStrings("i64", @typeName(i64));71 try expectEqualStrings("i64", @typeName(i64));
73 try expectEqualStrings("*usize", @typeName(*usize));72 try expectEqualStrings("*usize", @typeName(*usize));
...@@ -231,7 +230,6 @@ test "comptime parameters not converted to anytype in function type" {...@@ -231,7 +230,6 @@ test "comptime parameters not converted to anytype in function type" {
231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO230 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
232 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO231 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
233 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO232 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
234 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
235233
236 const T = fn (fn (type) void, void) void;234 const T = fn (fn (type) void, void) void;
237 try expectEqualStrings("fn (comptime fn (comptime type) void, void) void", @typeName(T));235 try expectEqualStrings("fn (comptime fn (comptime type) void, void) void", @typeName(T));
test/behavior/union.zig+10-7
...@@ -97,7 +97,6 @@ const FooExtern = extern union {...@@ -97,7 +97,6 @@ const FooExtern = extern union {
97test "basic extern unions" {97test "basic extern unions" {
98 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;98 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
99 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO99 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
100 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
101100
102 var foo = FooExtern{ .int = 1 };101 var foo = FooExtern{ .int = 1 };
103 try expect(foo.int == 1);102 try expect(foo.int == 1);
...@@ -218,7 +217,6 @@ test "union with specified enum tag" {...@@ -218,7 +217,6 @@ test "union with specified enum tag" {
218 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;217 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
219 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;218 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
220 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO219 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
221 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
222220
223 try doTest();221 try doTest();
224 try comptime doTest();222 try comptime doTest();
...@@ -381,7 +379,6 @@ test "tagged union initialization with runtime void" {...@@ -381,7 +379,6 @@ test "tagged union initialization with runtime void" {
381 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;379 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
382 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;380 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
383 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO381 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
384 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
385382
386 try expect(testTaggedUnionInit({}));383 try expect(testTaggedUnionInit({}));
387}384}
...@@ -466,7 +463,6 @@ test "initialize global array of union" {...@@ -466,7 +463,6 @@ test "initialize global array of union" {
466 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;463 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
467 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;464 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
468 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO465 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
469 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
470466
471 glbl_array[1] = FooUnion{ .U1 = 2 };467 glbl_array[1] = FooUnion{ .U1 = 2 };
472 glbl_array[0] = FooUnion{ .U0 = 1 };468 glbl_array[0] = FooUnion{ .U0 = 1 };
...@@ -966,7 +962,6 @@ test "cast from anonymous struct to union" {...@@ -966,7 +962,6 @@ test "cast from anonymous struct to union" {
966 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO962 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
967 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO963 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
968 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO964 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
969 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
970965
971 const S = struct {966 const S = struct {
972 const U = union(enum) {967 const U = union(enum) {
...@@ -1056,7 +1051,6 @@ test "containers with single-field enums" {...@@ -1056,7 +1051,6 @@ test "containers with single-field enums" {
1056 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1051 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1057 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1052 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1058 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1053 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1059 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10601054
1061 const S = struct {1055 const S = struct {
1062 const A = union(enum) { f1 };1056 const A = union(enum) { f1 };
...@@ -1573,7 +1567,6 @@ test "undefined-layout union field pointer has correct alignment" {...@@ -1573,7 +1567,6 @@ test "undefined-layout union field pointer has correct alignment" {
1573 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1567 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1574 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1568 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1575 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1569 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1576 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
15771570
1578 const S = struct {1571 const S = struct {
1579 fn doTheTest(comptime U: type) !void {1572 fn doTheTest(comptime U: type) !void {
...@@ -1659,6 +1652,8 @@ test "union with 128 bit integer" {...@@ -1659,6 +1652,8 @@ test "union with 128 bit integer" {
1659}1652}
16601653
1661test "memset extern union" {1654test "memset extern union" {
1655 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1656
1662 const U = extern union {1657 const U = extern union {
1663 foo: u8,1658 foo: u8,
1664 bar: u32,1659 bar: u32,
...@@ -1678,6 +1673,8 @@ test "memset extern union" {...@@ -1678,6 +1673,8 @@ test "memset extern union" {
1678}1673}
16791674
1680test "memset packed union" {1675test "memset packed union" {
1676 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1677
1681 const U = packed union {1678 const U = packed union {
1682 a: u32,1679 a: u32,
1683 b: u8,1680 b: u8,
...@@ -1703,6 +1700,8 @@ fn littleToNativeEndian(comptime T: type, v: T) T {...@@ -1703,6 +1700,8 @@ fn littleToNativeEndian(comptime T: type, v: T) T {
1703}1700}
17041701
1705test "reinterpret extern union" {1702test "reinterpret extern union" {
1703 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1704
1706 const U = extern union {1705 const U = extern union {
1707 foo: u8,1706 foo: u8,
1708 baz: u32 align(8),1707 baz: u32 align(8),
...@@ -1771,6 +1770,8 @@ test "reinterpret extern union" {...@@ -1771,6 +1770,8 @@ test "reinterpret extern union" {
1771}1770}
17721771
1773test "reinterpret packed union" {1772test "reinterpret packed union" {
1773 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1774
1774 const U = packed union {1775 const U = packed union {
1775 foo: u8,1776 foo: u8,
1776 bar: u29,1777 bar: u29,
...@@ -1842,6 +1843,8 @@ test "reinterpret packed union" {...@@ -1842,6 +1843,8 @@ test "reinterpret packed union" {
1842}1843}
18431844
1844test "reinterpret packed union inside packed struct" {1845test "reinterpret packed union inside packed struct" {
1846 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1847
1845 const U = packed union {1848 const U = packed union {
1846 a: u7,1849 a: u7,
1847 b: u1,1850 b: u1,
test/behavior/usingnamespace.zig-1
...@@ -55,7 +55,6 @@ usingnamespace @import("usingnamespace/a.zig");...@@ -55,7 +55,6 @@ usingnamespace @import("usingnamespace/a.zig");
55test "two files usingnamespace import each other" {55test "two files usingnamespace import each other" {
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(@This().ok());59 try expect(@This().ok());
61}60}
test/behavior/var_args.zig-10
...@@ -14,8 +14,6 @@ fn add(args: anytype) i32 {...@@ -14,8 +14,6 @@ fn add(args: anytype) i32 {
14}14}
1515
16test "add arbitrary args" {16test "add arbitrary args" {
17 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
18
19 try expect(add(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);17 try expect(add(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);
20 try expect(add(.{@as(i32, 1234)}) == 1234);18 try expect(add(.{@as(i32, 1234)}) == 1234);
21 try expect(add(.{}) == 0);19 try expect(add(.{}) == 0);
...@@ -26,15 +24,12 @@ fn readFirstVarArg(args: anytype) void {...@@ -26,15 +24,12 @@ fn readFirstVarArg(args: anytype) void {
26}24}
2725
28test "send void arg to var args" {26test "send void arg to var args" {
29 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
30
31 readFirstVarArg(.{{}});27 readFirstVarArg(.{{}});
32}28}
3329
34test "pass args directly" {30test "pass args directly" {
35 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO31 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
36 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO32 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
37 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3833
39 try expect(addSomeStuff(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);34 try expect(addSomeStuff(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);
40 try expect(addSomeStuff(.{@as(i32, 1234)}) == 1234);35 try expect(addSomeStuff(.{@as(i32, 1234)}) == 1234);
...@@ -48,7 +43,6 @@ fn addSomeStuff(args: anytype) i32 {...@@ -48,7 +43,6 @@ fn addSomeStuff(args: anytype) i32 {
48test "runtime parameter before var args" {43test "runtime parameter before var args" {
49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO44 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
50 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO45 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
51 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5246
53 try expect((try extraFn(10, .{})) == 0);47 try expect((try extraFn(10, .{})) == 0);
54 try expect((try extraFn(10, .{false})) == 1);48 try expect((try extraFn(10, .{false})) == 1);
...@@ -87,15 +81,11 @@ fn foo2(args: anytype) bool {...@@ -87,15 +81,11 @@ fn foo2(args: anytype) bool {
87}81}
8882
89test "array of var args functions" {83test "array of var args functions" {
90 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
91
92 try expect(foos[0](.{}));84 try expect(foos[0](.{}));
93 try expect(!foos[1](.{}));85 try expect(!foos[1](.{}));
94}86}
9587
96test "pass zero length array to var args param" {88test "pass zero length array to var args param" {
97 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
98
99 doNothingWithFirstArg(.{""});89 doNothingWithFirstArg(.{""});
100}90}
10191
test/behavior/vector.zig-1
...@@ -11,7 +11,6 @@ test "implicit cast vector to array - bool" {...@@ -11,7 +11,6 @@ test "implicit cast vector to array - bool" {
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_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 const S = struct {15 const S = struct {
17 fn doTheTest() !void {16 fn doTheTest() !void {
test/behavior/void.zig-2
...@@ -20,7 +20,6 @@ test "compare void with void compile time known" {...@@ -20,7 +20,6 @@ test "compare void with void compile time known" {
2020
21test "iterate over a void slice" {21test "iterate over a void slice" {
22 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2423
25 var j: usize = 0;24 var j: usize = 0;
26 for (times(10), 0..) |_, i| {25 for (times(10), 0..) |_, i| {
...@@ -37,7 +36,6 @@ test "void optional" {...@@ -37,7 +36,6 @@ test "void optional" {
37 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;36 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
38 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;37 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
39 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO38 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
40 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4139
42 var x: ?void = {};40 var x: ?void = {};
43 try expect(x != null);41 try expect(x != null);
test/behavior/while.zig-1
...@@ -172,7 +172,6 @@ test "while with optional as condition with else" {...@@ -172,7 +172,6 @@ test "while with optional as condition with else" {
172172
173test "while with error union condition" {173test "while with error union condition" {
174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
176175
177 numbers_left = 10;176 numbers_left = 10;
178 var sum: i32 = 0;177 var sum: i32 = 0;
test/behavior/widening.zig-2
...@@ -22,8 +22,6 @@ fn zero() u0 {...@@ -22,8 +22,6 @@ fn zero() u0 {
22 return 0;22 return 0;
23}23}
24test "integer widening u0 to u8" {24test "integer widening u0 to u8" {
25 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
26
27 const a: u8 = zero();25 const a: u8 = zero();
28 try expect(a == 0);26 try expect(a == 0);
29}27}