authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-06 22:27:32-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-25 05:11:28-04:00
log525dcaecba43f9931aff69fd7dd0cd5b443c2859
tree75990c8d6e4948cb35f1993a156de477357fb54a
parent45c667eb21b1edde991435871523ece82793b449

behavior: enable stage2_c tests that are currently passing

Also fix C warnings triggered by these tests.

42 files changed, 3 insertions(+), 132 deletions(-)

src/codegen/c.zig+3-2
...@@ -1363,7 +1363,8 @@ pub const DeclGen = struct {...@@ -1363,7 +1363,8 @@ pub const DeclGen = struct {
1363 }1363 }
1364 const name_end = buffer.items.len;1364 const name_end = buffer.items.len;
13651365
1366 try bw.print("[{d}];\n", .{t.arrayLenIncludingSentinel()});1366 const c_len = t.arrayLenIncludingSentinel();
1367 try bw.print("[{d}];\n", .{if (c_len > 0) c_len else 1});
13671368
1368 const rendered = buffer.toOwnedSlice();1369 const rendered = buffer.toOwnedSlice();
1369 errdefer dg.typedefs.allocator.free(rendered);1370 errdefer dg.typedefs.allocator.free(rendered);
...@@ -3514,7 +3515,7 @@ fn airOptionalPayloadPtr(f: *Function, inst: Air.Inst.Index) !CValue {...@@ -3514,7 +3515,7 @@ fn airOptionalPayloadPtr(f: *Function, inst: Air.Inst.Index) !CValue {
3514 const payload_ty = opt_ty.optionalChild(&buf);3515 const payload_ty = opt_ty.optionalChild(&buf);
35153516
3516 if (!payload_ty.hasRuntimeBitsIgnoreComptime()) {3517 if (!payload_ty.hasRuntimeBitsIgnoreComptime()) {
3517 return operand;3518 return CValue.undefined_ptr;
3518 }3519 }
35193520
3520 if (opt_ty.optionalReprIsPayload()) {3521 if (opt_ty.optionalReprIsPayload()) {
test/behavior/align.zig-7
...@@ -7,8 +7,6 @@ const assert = std.debug.assert;...@@ -7,8 +7,6 @@ const assert = std.debug.assert;
7var foo: u8 align(4) = 100;7var foo: u8 align(4) = 100;
88
9test "global variable alignment" {9test "global variable alignment" {
10 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
11
12 comptime try expect(@typeInfo(@TypeOf(&foo)).Pointer.alignment == 4);10 comptime try expect(@typeInfo(@TypeOf(&foo)).Pointer.alignment == 4);
13 comptime try expect(@TypeOf(&foo) == *align(4) u8);11 comptime try expect(@TypeOf(&foo) == *align(4) u8);
14 {12 {
...@@ -235,7 +233,6 @@ fn addUnalignedSlice(a: []align(1) const u32, b: []align(1) const u32) u32 {...@@ -235,7 +233,6 @@ fn addUnalignedSlice(a: []align(1) const u32, b: []align(1) const u32) u32 {
235}233}
236234
237test "specifying alignment allows pointer cast" {235test "specifying alignment allows pointer cast" {
238 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
239 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;236 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
240237
241 try testBytesAlign(0x33);238 try testBytesAlign(0x33);
...@@ -301,7 +298,6 @@ fn noop4() align(4) void {}...@@ -301,7 +298,6 @@ fn noop4() align(4) void {}
301298
302test "function alignment" {299test "function alignment" {
303 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;300 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
304 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
305 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;301 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
306302
307 // function alignment is a compile error on wasm32/wasm64303 // function alignment is a compile error on wasm32/wasm64
...@@ -316,7 +312,6 @@ test "function alignment" {...@@ -316,7 +312,6 @@ test "function alignment" {
316312
317test "implicitly decreasing fn alignment" {313test "implicitly decreasing fn alignment" {
318 if (builtin.zig_backend == .stage1) return error.SkipZigTest;314 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
319 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
320 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;315 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
321 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;316 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
322317
...@@ -341,7 +336,6 @@ fn alignedBig() align(16) i32 {...@@ -341,7 +336,6 @@ fn alignedBig() align(16) i32 {
341test "@alignCast functions" {336test "@alignCast functions" {
342 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;337 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
343 if (builtin.zig_backend == .stage1) return error.SkipZigTest;338 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
344 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
345 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;339 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
346340
347 // function alignment is a compile error on wasm32/wasm64341 // function alignment is a compile error on wasm32/wasm64
...@@ -546,7 +540,6 @@ test "comptime alloc alignment" {...@@ -546,7 +540,6 @@ test "comptime alloc alignment" {
546 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO540 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
547 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO541 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
548 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO542 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
549 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
550 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO543 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
551544
552 comptime var bytes1 = [_]u8{0};545 comptime var bytes1 = [_]u8{0};
test/behavior/alignof.zig-2
...@@ -12,7 +12,6 @@ const Foo = struct {...@@ -12,7 +12,6 @@ const Foo = struct {
1212
13test "@alignOf(T) before referencing T" {13test "@alignOf(T) before referencing T" {
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_c) return error.SkipZigTest;
16 comptime try expect(@alignOf(Foo) != maxInt(usize));15 comptime try expect(@alignOf(Foo) != maxInt(usize));
17 if (native_arch == .x86_64) {16 if (native_arch == .x86_64) {
18 comptime try expect(@alignOf(Foo) == 4);17 comptime try expect(@alignOf(Foo) == 4);
...@@ -20,7 +19,6 @@ test "@alignOf(T) before referencing T" {...@@ -20,7 +19,6 @@ test "@alignOf(T) before referencing T" {
20}19}
2120
22test "comparison of @alignOf(T) against zero" {21test "comparison of @alignOf(T) against zero" {
23 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
24 {22 {
25 const T = struct { x: u32 };23 const T = struct { x: u32 };
26 try expect(!(@alignOf(T) == 0));24 try expect(!(@alignOf(T) == 0));
test/behavior/array.zig-5
...@@ -6,8 +6,6 @@ const expect = testing.expect;...@@ -6,8 +6,6 @@ const expect = testing.expect;
6const expectEqual = testing.expectEqual;6const expectEqual = testing.expectEqual;
77
8test "array to slice" {8test "array to slice" {
9 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
10
11 const a: u32 align(4) = 3;9 const a: u32 align(4) = 3;
12 const b: u32 align(8) = 4;10 const b: u32 align(8) = 4;
13 const a_slice: []align(1) const u32 = @as(*const [1]u32, &a)[0..];11 const a_slice: []align(1) const u32 = @as(*const [1]u32, &a)[0..];
...@@ -160,7 +158,6 @@ test "nested arrays of strings" {...@@ -160,7 +158,6 @@ test "nested arrays of strings" {
160158
161test "nested arrays of integers" {159test "nested arrays of integers" {
162 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
163 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
164161
165 const array_of_numbers = [_][2]u8{162 const array_of_numbers = [_][2]u8{
166 [2]u8{ 1, 2 },163 [2]u8{ 1, 2 },
...@@ -479,7 +476,6 @@ test "sentinel element count towards the ABI size calculation" {...@@ -479,7 +476,6 @@ test "sentinel element count towards the ABI size calculation" {
479476
480test "zero-sized array with recursive type definition" {477test "zero-sized array with recursive type definition" {
481 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO478 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
482 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
483479
484 const U = struct {480 const U = struct {
485 fn foo(comptime T: type, comptime n: usize) type {481 fn foo(comptime T: type, comptime n: usize) type {
...@@ -501,7 +497,6 @@ test "zero-sized array with recursive type definition" {...@@ -501,7 +497,6 @@ test "zero-sized array with recursive type definition" {
501test "type coercion of anon struct literal to array" {497test "type coercion of anon struct literal to array" {
502 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO498 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
503 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO499 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
504 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
505 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO500 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
506501
507 const S = struct {502 const S = struct {
test/behavior/basic.zig-4
...@@ -333,7 +333,6 @@ test "call result of if else expression" {...@@ -333,7 +333,6 @@ test "call result of if else expression" {
333 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;333 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
334 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;334 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
335 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;335 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
336 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
337336
338 try expect(mem.eql(u8, f2(true), "a"));337 try expect(mem.eql(u8, f2(true), "a"));
339 try expect(mem.eql(u8, f2(false), "b"));338 try expect(mem.eql(u8, f2(false), "b"));
...@@ -364,8 +363,6 @@ fn testMemcpyMemset() !void {...@@ -364,8 +363,6 @@ fn testMemcpyMemset() !void {
364}363}
365364
366test "variable is allowed to be a pointer to an opaque type" {365test "variable is allowed to be a pointer to an opaque type" {
367 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
368
369 var x: i32 = 1234;366 var x: i32 = 1234;
370 _ = hereIsAnOpaqueType(@ptrCast(*OpaqueA, &x));367 _ = hereIsAnOpaqueType(@ptrCast(*OpaqueA, &x));
371}368}
...@@ -881,7 +878,6 @@ test "labeled block implicitly ends in a break" {...@@ -881,7 +878,6 @@ test "labeled block implicitly ends in a break" {
881}878}
882879
883test "catch in block has correct result location" {880test "catch in block has correct result location" {
884 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
885 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;881 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
886882
887 const S = struct {883 const S = struct {
test/behavior/bitcast.zig-6
...@@ -136,7 +136,6 @@ test "@bitCast packed structs at runtime and comptime" {...@@ -136,7 +136,6 @@ test "@bitCast packed structs at runtime and comptime" {
136136
137test "@bitCast extern structs at runtime and comptime" {137test "@bitCast extern structs at runtime and comptime" {
138 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;138 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
139 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
140 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;139 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
141140
142 const Full = extern struct {141 const Full = extern struct {
...@@ -208,7 +207,6 @@ test "implicit cast to error union by returning" {...@@ -208,7 +207,6 @@ test "implicit cast to error union by returning" {
208207
209test "bitcast packed struct literal to byte" {208test "bitcast packed struct literal to byte" {
210 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;209 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
211 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
212210
213 const Foo = packed struct {211 const Foo = packed struct {
214 value: u8,212 value: u8,
...@@ -218,8 +216,6 @@ test "bitcast packed struct literal to byte" {...@@ -218,8 +216,6 @@ test "bitcast packed struct literal to byte" {
218}216}
219217
220test "comptime bitcast used in expression has the correct type" {218test "comptime bitcast used in expression has the correct type" {
221 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
222
223 const Foo = packed struct {219 const Foo = packed struct {
224 value: u8,220 value: u8,
225 };221 };
...@@ -237,8 +233,6 @@ test "bitcast passed as tuple element" {...@@ -237,8 +233,6 @@ test "bitcast passed as tuple element" {
237}233}
238234
239test "triple level result location with bitcast sandwich passed as tuple element" {235test "triple level result location with bitcast sandwich passed as tuple element" {
240 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
241
242 const S = struct {236 const S = struct {
243 fn foo(args: anytype) !void {237 fn foo(args: anytype) !void {
244 comptime try expect(@TypeOf(args[0]) == f64);238 comptime try expect(@TypeOf(args[0]) == f64);
test/behavior/bugs/10970.zig-1
...@@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {...@@ -7,7 +7,6 @@ test "breaking from a loop in an if statement" {
7 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;7 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;9 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
10 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1110
12 var cond = true;11 var cond = true;
13 const opt = while (cond) {12 const opt = while (cond) {
test/behavior/bugs/11159.zig-1
...@@ -9,7 +9,6 @@ test {...@@ -9,7 +9,6 @@ test {
99
10test {10test {
11 if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO11 if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO
12 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1312
14 const S = struct {13 const S = struct {
15 comptime x: i32 = 0,14 comptime x: i32 = 0,
test/behavior/bugs/11181.zig-4
...@@ -1,8 +1,6 @@...@@ -1,8 +1,6 @@
1const builtin = @import("builtin");1const builtin = @import("builtin");
22
3test "const inferred array of slices" {3test "const inferred array of slices" {
4 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
5
6 const T = struct { v: bool };4 const T = struct { v: bool };
75
8 const decls = [_][]const T{6 const decls = [_][]const T{
...@@ -14,8 +12,6 @@ test "const inferred array of slices" {...@@ -14,8 +12,6 @@ test "const inferred array of slices" {
14}12}
1513
16test "var inferred array of slices" {14test "var inferred array of slices" {
17 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
18
19 const T = struct { v: bool };15 const T = struct { v: bool };
2016
21 var decls = [_][]const T{17 var decls = [_][]const T{
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_c) return error.SkipZigTest; // TODO
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/12776.zig-1
...@@ -31,7 +31,6 @@ const CPU = packed struct {...@@ -31,7 +31,6 @@ const CPU = packed struct {
31test {31test {
32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
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_c) return error.SkipZigTest;
35 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;34 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
36 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;35 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3736
test/behavior/bugs/1421.zig-1
...@@ -10,7 +10,6 @@ const S = struct {...@@ -10,7 +10,6 @@ const S = struct {
1010
11test "functions with return type required to be comptime are generic" {11test "functions with return type required to be comptime are generic" {
12 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;12 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
13 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
14 const ti = S.method();13 const ti = S.method();
15 try expect(@as(std.builtin.TypeId, ti) == std.builtin.TypeId.Struct);14 try expect(@as(std.builtin.TypeId, ti) == std.builtin.TypeId.Struct);
16}15}
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_x86_64) return error.SkipZigTest;12 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
13 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
14 var union_or_err: anyerror!Union = Union{ .Color = 1234 };13 var union_or_err: anyerror!Union = Union{ .Color = 1234 };
15 try std.testing.expect((union_or_err catch unreachable).Color == 1234);14 try std.testing.expect((union_or_err catch unreachable).Color == 1234);
16}15}
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_x86_64) return error.SkipZigTest;16 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
17 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
18 try checkAddress(&a);17 try checkAddress(&a);
19 comptime try checkAddress(&a);18 comptime try checkAddress(&a);
20}19}
test/behavior/bugs/2692.zig-1
...@@ -5,7 +5,6 @@ fn foo(a: []u8) void {...@@ -5,7 +5,6 @@ fn foo(a: []u8) void {
5}5}
66
7test "address of 0 length array" {7test "address of 0 length array" {
8 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
109
11 var pt: [0]u8 = undefined;10 var pt: [0]u8 = undefined;
test/behavior/bugs/3007.zig-1
...@@ -22,7 +22,6 @@ test "fixed" {...@@ -22,7 +22,6 @@ test "fixed" {
22 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;22 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
23 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO24 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
2625
27 default_foo = get_foo() catch null; // This Line26 default_foo = get_foo() catch null; // This Line
28 try std.testing.expect(!default_foo.?.free);27 try std.testing.expect(!default_foo.?.free);
test/behavior/bugs/3046.zig-1
...@@ -15,7 +15,6 @@ var some_struct: SomeStruct = undefined;...@@ -15,7 +15,6 @@ var some_struct: SomeStruct = undefined;
15test "fixed" {15test "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_c) return error.SkipZigTest;
1918
20 some_struct = SomeStruct{19 some_struct = SomeStruct{
21 .field = couldFail() catch @as(i32, 0),20 .field = couldFail() catch @as(i32, 0),
test/behavior/bugs/3367.zig-1
...@@ -10,7 +10,6 @@ const Mixin = struct {...@@ -10,7 +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_c) return error.SkipZigTest;
14 var foo = Foo{};13 var foo = Foo{};
15 foo.two();14 foo.two();
16}15}
test/behavior/bugs/4954.zig-1
...@@ -5,7 +5,6 @@ fn f(buf: []u8) void {...@@ -5,7 +5,6 @@ fn f(buf: []u8) void {
5}5}
66
7test "crash" {7test "crash" {
8 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
10 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1110
test/behavior/bugs/5398.zig-1
...@@ -22,7 +22,6 @@ test "assignment of field with padding" {...@@ -22,7 +22,6 @@ test "assignment of field with padding" {
22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
24 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;24 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
25 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
2625
27 renderable = Renderable{26 renderable = Renderable{
28 .mesh = Mesh{ .id = 0 },27 .mesh = Mesh{ .id = 0 },
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_x86_64) return error.SkipZigTest;15 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
17 _ = io.multiWriter(.{writer()});16 _ = io.multiWriter(.{writer()});
18}17}
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_x86_64) return error.SkipZigTest;7 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
8 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
98
10 const c: u8 = 4;9 const c: u8 = 4;
11 var x: ?*const u8 = @ptrCast(?*const u8, &c);10 var x: ?*const u8 = @ptrCast(?*const u8, &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_x86_64) return error.SkipZigTest;17 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
19 if (builtin.zig_backend == .stage2_c) 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/9584.zig-1
...@@ -49,7 +49,6 @@ test {...@@ -49,7 +49,6 @@ test {
49 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO49 if (builtin.zig_backend == .stage2_aarch64) 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_arm) return error.SkipZigTest; // TODO51 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
52 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
5352
54 var flags = A{53 var flags = A{
55 .a = false,54 .a = false,
test/behavior/call.zig-1
...@@ -58,7 +58,6 @@ test "basic invocations" {...@@ -58,7 +58,6 @@ test "basic invocations" {
58test "tuple parameters" {58test "tuple parameters" {
59 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO59 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
60 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO60 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
61 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
62 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO61 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
6362
64 const add = struct {63 const add = struct {
test/behavior/cast.zig-20
...@@ -839,8 +839,6 @@ test "peer cast *[0]T to []const T" {...@@ -839,8 +839,6 @@ test "peer cast *[0]T to []const T" {
839}839}
840840
841test "peer cast *[N]T to [*]T" {841test "peer cast *[N]T to [*]T" {
842 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
843
844 var array = [4:99]i32{ 1, 2, 3, 4 };842 var array = [4:99]i32{ 1, 2, 3, 4 };
845 var dest: [*]i32 = undefined;843 var dest: [*]i32 = undefined;
846 try expect(@TypeOf(&array, dest) == [*]i32);844 try expect(@TypeOf(&array, dest) == [*]i32);
...@@ -849,7 +847,6 @@ test "peer cast *[N]T to [*]T" {...@@ -849,7 +847,6 @@ test "peer cast *[N]T to [*]T" {
849847
850test "peer resolution of string literals" {848test "peer resolution of string literals" {
851 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;849 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
852 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
853 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO850 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
854 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO851 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
855852
...@@ -872,7 +869,6 @@ test "peer resolution of string literals" {...@@ -872,7 +869,6 @@ test "peer resolution of string literals" {
872869
873test "peer cast [:x]T to []T" {870test "peer cast [:x]T to []T" {
874 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;871 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
875 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
876872
877 const S = struct {873 const S = struct {
878 fn doTheTest() !void {874 fn doTheTest() !void {
...@@ -888,7 +884,6 @@ test "peer cast [:x]T to []T" {...@@ -888,7 +884,6 @@ test "peer cast [:x]T to []T" {
888884
889test "peer cast [N:x]T to [N]T" {885test "peer cast [N:x]T to [N]T" {
890 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;886 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
891 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
892887
893 const S = struct {888 const S = struct {
894 fn doTheTest() !void {889 fn doTheTest() !void {
...@@ -903,7 +898,6 @@ test "peer cast [N:x]T to [N]T" {...@@ -903,7 +898,6 @@ test "peer cast [N:x]T to [N]T" {
903898
904test "peer cast *[N:x]T to *[N]T" {899test "peer cast *[N:x]T to *[N]T" {
905 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO900 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
906 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
907901
908 const S = struct {902 const S = struct {
909 fn doTheTest() !void {903 fn doTheTest() !void {
...@@ -937,7 +931,6 @@ test "peer cast [*:x]T to [*]T" {...@@ -937,7 +931,6 @@ test "peer cast [*:x]T to [*]T" {
937931
938test "peer cast [:x]T to [*:x]T" {932test "peer cast [:x]T to [*:x]T" {
939 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;933 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
940 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
941 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO934 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
942 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO935 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
943936
...@@ -1018,7 +1011,6 @@ test "cast between C pointer with different but compatible types" {...@@ -1018,7 +1011,6 @@ test "cast between C pointer with different but compatible types" {
10181011
1019test "peer type resolve string lit with sentinel-terminated mutable slice" {1012test "peer type resolve string lit with sentinel-terminated mutable slice" {
1020 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1013 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1021 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
10221014
1023 var array: [4:0]u8 = undefined;1015 var array: [4:0]u8 = undefined;
1024 array[4] = 0; // TODO remove this when #4372 is solved1016 array[4] = 0; // TODO remove this when #4372 is solved
...@@ -1035,8 +1027,6 @@ test "peer type resolve array pointers, one of them const" {...@@ -1035,8 +1027,6 @@ test "peer type resolve array pointers, one of them const" {
1035}1027}
10361028
1037test "peer type resolve array pointer and unknown pointer" {1029test "peer type resolve array pointer and unknown pointer" {
1038 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1039
1040 const const_array: [4]u8 = undefined;1030 const const_array: [4]u8 = undefined;
1041 var array: [4]u8 = undefined;1031 var array: [4]u8 = undefined;
1042 var const_ptr: [*]const u8 = undefined;1032 var const_ptr: [*]const u8 = undefined;
...@@ -1069,7 +1059,6 @@ test "comptime float casts" {...@@ -1069,7 +1059,6 @@ test "comptime float casts" {
10691059
1070test "pointer reinterpret const float to int" {1060test "pointer reinterpret const float to int" {
1071 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1061 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1072 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
10731062
1074 // The hex representation is 0x3fe3333333333303.1063 // The hex representation is 0x3fe3333333333303.
1075 const float: f64 = 5.99999999999994648725e-01;1064 const float: f64 = 5.99999999999994648725e-01;
...@@ -1084,7 +1073,6 @@ test "pointer reinterpret const float to int" {...@@ -1084,7 +1073,6 @@ test "pointer reinterpret const float to int" {
10841073
1085test "implicit cast from [*]T to ?*anyopaque" {1074test "implicit cast from [*]T to ?*anyopaque" {
1086 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1075 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1087 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1088 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1076 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
10891077
1090 var a = [_]u8{ 3, 2, 1 };1078 var a = [_]u8{ 3, 2, 1 };
...@@ -1102,8 +1090,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {...@@ -1102,8 +1090,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void {
11021090
1103test "compile time int to ptr of function" {1091test "compile time int to ptr of function" {
1104 if (builtin.zig_backend == .stage1) return error.SkipZigTest;1092 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
1105
1106 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1107 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1093 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
11081094
1109 try foobar(FUNCTION_CONSTANT);1095 try foobar(FUNCTION_CONSTANT);
...@@ -1120,7 +1106,6 @@ fn foobar(func: PFN_void) !void {...@@ -1120,7 +1106,6 @@ fn foobar(func: PFN_void) !void {
11201106
1121test "implicit ptr to *anyopaque" {1107test "implicit ptr to *anyopaque" {
1122 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1108 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1123 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1124 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1109 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11251110
1126 var a: u32 = 1;1111 var a: u32 = 1;
...@@ -1168,7 +1153,6 @@ fn peerTypeEmptyArrayAndSlice(a: bool, slice: []const u8) []const u8 {...@@ -1168,7 +1153,6 @@ fn peerTypeEmptyArrayAndSlice(a: bool, slice: []const u8) []const u8 {
11681153
1169test "implicitly cast from [N]T to ?[]const T" {1154test "implicitly cast from [N]T to ?[]const T" {
1170 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1155 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1171 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1172 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1156 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11731157
1174 try expect(mem.eql(u8, castToOptionalSlice().?, "hi"));1158 try expect(mem.eql(u8, castToOptionalSlice().?, "hi"));
...@@ -1220,7 +1204,6 @@ test "implicit cast from *[N]T to ?[*]T" {...@@ -1220,7 +1204,6 @@ test "implicit cast from *[N]T to ?[*]T" {
12201204
1221test "implicit cast from *T to ?*anyopaque" {1205test "implicit cast from *T to ?*anyopaque" {
1222 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1206 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1223 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1224 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1207 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12251208
1226 var a: u8 = 1;1209 var a: u8 = 1;
...@@ -1246,8 +1229,6 @@ test "cast from array reference to fn: comptime fn ptr" {...@@ -1246,8 +1229,6 @@ test "cast from array reference to fn: comptime fn ptr" {
1246 try expect(@ptrToInt(f) == @ptrToInt(&global_array));1229 try expect(@ptrToInt(f) == @ptrToInt(&global_array));
1247}1230}
1248test "cast from array reference to fn: runtime fn ptr" {1231test "cast from array reference to fn: runtime fn ptr" {
1249 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1250
1251 var f = @ptrCast(*align(1) const fn () callconv(.C) void, &global_array);1232 var f = @ptrCast(*align(1) const fn () callconv(.C) void, &global_array);
1252 try expect(@ptrToInt(f) == @ptrToInt(&global_array));1233 try expect(@ptrToInt(f) == @ptrToInt(&global_array));
1253}1234}
...@@ -1354,7 +1335,6 @@ test "cast f128 to narrower types" {...@@ -1354,7 +1335,6 @@ test "cast f128 to narrower types" {
13541335
1355test "peer type resolution: unreachable, null, slice" {1336test "peer type resolution: unreachable, null, slice" {
1356 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1337 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1357 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1358 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1338 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1359 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1339 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
13601340
test/behavior/cast_int.zig-1
...@@ -8,7 +8,6 @@ test "@intCast i32 to u7" {...@@ -8,7 +8,6 @@ test "@intCast i32 to u7" {
8 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1211
13 var x: u128 = maxInt(u128);12 var x: u128 = maxInt(u128);
14 var y: i32 = 120;13 var y: i32 = 120;
test/behavior/empty_union.zig-2
...@@ -12,7 +12,6 @@ test "switch on empty enum" {...@@ -12,7 +12,6 @@ test "switch on empty enum" {
12}12}
1313
14test "switch on empty enum with a specified tag type" {14test "switch on empty enum with a specified tag type" {
15 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
16 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO15 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1716
18 const E = enum(u8) {};17 const E = enum(u8) {};
...@@ -21,7 +20,6 @@ test "switch on empty enum with a specified tag type" {...@@ -21,7 +20,6 @@ test "switch on empty enum with a specified tag type" {
21}20}
2221
23test "switch on empty auto numbered tagged union" {22test "switch on empty auto numbered tagged union" {
24 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
25 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
26 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO24 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
2725
test/behavior/error.zig-2
...@@ -258,7 +258,6 @@ fn testComptimeTestErrorEmptySet(x: EmptyErrorSet!i32) !void {...@@ -258,7 +258,6 @@ fn testComptimeTestErrorEmptySet(x: EmptyErrorSet!i32) !void {
258}258}
259259
260test "comptime err to int of error set with only 1 possible value" {260test "comptime err to int of error set with only 1 possible value" {
261 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
262 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO261 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
263 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO262 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
264263
...@@ -845,7 +844,6 @@ test "catch within a function that calls no errorable functions" {...@@ -845,7 +844,6 @@ test "catch within a function that calls no errorable functions" {
845test "error from comptime string" {844test "error from comptime string" {
846 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO845 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
847 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO846 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
848 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
849 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO847 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
850848
851 const name = "Weird error name!";849 const name = "Weird error name!";
test/behavior/eval.zig-3
...@@ -763,7 +763,6 @@ test "array concatenation peer resolves element types - value" {...@@ -763,7 +763,6 @@ test "array concatenation peer resolves element types - value" {
763763
764test "array concatenation peer resolves element types - pointer" {764test "array concatenation peer resolves element types - pointer" {
765 if (builtin.zig_backend == .stage1) return error.SkipZigTest;765 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
766 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
767 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;766 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
768 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;767 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
769768
...@@ -801,7 +800,6 @@ test "array concatenation sets the sentinel - value" {...@@ -801,7 +800,6 @@ test "array concatenation sets the sentinel - value" {
801800
802test "array concatenation sets the sentinel - pointer" {801test "array concatenation sets the sentinel - pointer" {
803 if (builtin.zig_backend == .stage1) return error.SkipZigTest;802 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
804 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
805 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;803 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
806804
807 var a = [2]u3{ 1, 7 };805 var a = [2]u3{ 1, 7 };
...@@ -838,7 +836,6 @@ test "array multiplication sets the sentinel - value" {...@@ -838,7 +836,6 @@ test "array multiplication sets the sentinel - value" {
838836
839test "array multiplication sets the sentinel - pointer" {837test "array multiplication sets the sentinel - pointer" {
840 if (builtin.zig_backend == .stage1) return error.SkipZigTest;838 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
841 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
842 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;839 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
843 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;840 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
844841
test/behavior/fn.zig-5
...@@ -146,7 +146,6 @@ fn fnWithUnreachable() noreturn {...@@ -146,7 +146,6 @@ fn fnWithUnreachable() noreturn {
146}146}
147147
148test "extern struct with stdcallcc fn pointer" {148test "extern struct with stdcallcc fn pointer" {
149 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
150 if (builtin.zig_backend == .stage1) return error.SkipZigTest;149 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
151 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;150 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
152 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;151 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
...@@ -286,7 +285,6 @@ fn voidFun(a: i32, b: void, c: i32, d: void) !void {...@@ -286,7 +285,6 @@ fn voidFun(a: i32, b: void, c: i32, d: void) !void {
286}285}
287286
288test "call function with empty string" {287test "call function with empty string" {
289 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
290 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;288 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
291289
292 acceptsString("");290 acceptsString("");
...@@ -305,7 +303,6 @@ test "function pointers" {...@@ -305,7 +303,6 @@ test "function pointers" {
305 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO303 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
306 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO304 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
307 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO305 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
308 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
309306
310 const fns = [_]*const @TypeOf(fn1){307 const fns = [_]*const @TypeOf(fn1){
311 &fn1,308 &fn1,
...@@ -399,8 +396,6 @@ test "ability to give comptime types and non comptime types to same parameter" {...@@ -399,8 +396,6 @@ test "ability to give comptime types and non comptime types to same parameter" {
399}396}
400397
401test "function with inferred error set but returning no error" {398test "function with inferred error set but returning no error" {
402 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
403
404 const S = struct {399 const S = struct {
405 fn foo() !void {}400 fn foo() !void {}
406 };401 };
test/behavior/math.zig-8
...@@ -616,8 +616,6 @@ test "128-bit multiplication" {...@@ -616,8 +616,6 @@ test "128-bit multiplication" {
616}616}
617617
618test "@addWithOverflow" {618test "@addWithOverflow" {
619 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
620
621 {619 {
622 var result: u8 = undefined;620 var result: u8 = undefined;
623 try expect(@addWithOverflow(u8, 250, 100, &result));621 try expect(@addWithOverflow(u8, 250, 100, &result));
...@@ -673,8 +671,6 @@ test "small int addition" {...@@ -673,8 +671,6 @@ test "small int addition" {
673}671}
674672
675test "basic @mulWithOverflow" {673test "basic @mulWithOverflow" {
676 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
677
678 var result: u8 = undefined;674 var result: u8 = undefined;
679 try expect(@mulWithOverflow(u8, 86, 3, &result));675 try expect(@mulWithOverflow(u8, 86, 3, &result));
680 try expect(result == 2);676 try expect(result == 2);
...@@ -897,8 +893,6 @@ test "@mulWithOverflow bitsize > 32" {...@@ -897,8 +893,6 @@ test "@mulWithOverflow bitsize > 32" {
897}893}
898894
899test "@subWithOverflow" {895test "@subWithOverflow" {
900 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
901
902 {896 {
903 var result: u8 = undefined;897 var result: u8 = undefined;
904 try expect(@subWithOverflow(u8, 1, 2, &result));898 try expect(@subWithOverflow(u8, 1, 2, &result));
...@@ -977,8 +971,6 @@ test "@shlWithOverflow" {...@@ -977,8 +971,6 @@ test "@shlWithOverflow" {
977}971}
978972
979test "overflow arithmetic with u0 values" {973test "overflow arithmetic with u0 values" {
980 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
981
982 var result: u0 = undefined;974 var result: u0 = undefined;
983 try expect(!@addWithOverflow(u0, 0, 0, &result));975 try expect(!@addWithOverflow(u0, 0, 0, &result));
984 try expect(result == 0);976 try expect(result == 0);
test/behavior/optional.zig-3
...@@ -65,7 +65,6 @@ test "optional with void type" {...@@ -65,7 +65,6 @@ test "optional with void type" {
65}65}
6666
67test "address of unwrap optional" {67test "address of unwrap optional" {
68 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;68 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
70 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO69 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
71 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO70 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
...@@ -269,7 +268,6 @@ test "0-bit child type coerced to optional return ptr result location" {...@@ -269,7 +268,6 @@ test "0-bit child type coerced to optional return ptr result location" {
269}268}
270269
271test "0-bit child type coerced to optional" {270test "0-bit child type coerced to optional" {
272 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
273 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO271 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
274 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO272 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
275273
...@@ -332,7 +330,6 @@ test "array of optional unaligned types" {...@@ -332,7 +330,6 @@ test "array of optional unaligned types" {
332}330}
333331
334test "optional pointer to zero bit optional payload" {332test "optional pointer to zero bit optional payload" {
335 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
336 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO333 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
337 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO334 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
338 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO335 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
test/behavior/pointers.zig-1
...@@ -205,7 +205,6 @@ test "allowzero pointer and slice" {...@@ -205,7 +205,6 @@ test "allowzero pointer and slice" {
205}205}
206206
207test "assign null directly to C pointer and test null equality" {207test "assign null directly to C pointer and test null equality" {
208 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
209 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO208 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
210 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO209 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
211 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO210 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
test/behavior/slice.zig-5
...@@ -229,7 +229,6 @@ fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) []u8 {...@@ -229,7 +229,6 @@ fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) []u8 {
229229
230test "C pointer" {230test "C pointer" {
231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;231 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
232 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
233232
234 var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf";233 var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf";
235 var len: u32 = 10;234 var len: u32 = 10;
...@@ -477,7 +476,6 @@ test "slice syntax resulting in pointer-to-array" {...@@ -477,7 +476,6 @@ test "slice syntax resulting in pointer-to-array" {
477}476}
478477
479test "slice pointer-to-array null terminated" {478test "slice pointer-to-array null terminated" {
480 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
481 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO479 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
482 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO480 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
483481
...@@ -503,7 +501,6 @@ test "slice pointer-to-array null terminated" {...@@ -503,7 +501,6 @@ test "slice pointer-to-array null terminated" {
503}501}
504502
505test "slice pointer-to-array zero length" {503test "slice pointer-to-array zero length" {
506 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
507 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO504 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
508505
509 comptime {506 comptime {
...@@ -637,7 +634,6 @@ test "slice sentinel access at comptime" {...@@ -637,7 +634,6 @@ test "slice sentinel access at comptime" {
637test "slicing array with sentinel as end index" {634test "slicing array with sentinel as end index" {
638 // Doesn't work in stage1635 // Doesn't work in stage1
639 if (builtin.zig_backend == .stage1) return error.SkipZigTest;636 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
640 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
641 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;637 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
642638
643 const S = struct {639 const S = struct {
...@@ -657,7 +653,6 @@ test "slicing array with sentinel as end index" {...@@ -657,7 +653,6 @@ test "slicing array with sentinel as end index" {
657test "slicing slice with sentinel as end index" {653test "slicing slice with sentinel as end index" {
658 // Doesn't work in stage1654 // Doesn't work in stage1
659 if (builtin.zig_backend == .stage1) return error.SkipZigTest;655 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
660 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
661 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;656 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
662657
663 const S = struct {658 const S = struct {
test/behavior/struct.zig-19
...@@ -319,7 +319,6 @@ const VoidStructFieldsFoo = struct {...@@ -319,7 +319,6 @@ const VoidStructFieldsFoo = struct {
319319
320test "return empty struct from fn" {320test "return empty struct from fn" {
321 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;321 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
322 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
323 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO322 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
324323
325 _ = testReturnEmptyStructFromFn();324 _ = testReturnEmptyStructFromFn();
...@@ -421,7 +420,6 @@ const Foo96Bits = packed struct {...@@ -421,7 +420,6 @@ const Foo96Bits = packed struct {
421test "packed struct 24bits" {420test "packed struct 24bits" {
422 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;421 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
423 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO422 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
424 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
425 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO423 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
426 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO424 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
427 if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO425 if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO
...@@ -470,7 +468,6 @@ test "packed struct 24bits" {...@@ -470,7 +468,6 @@ test "packed struct 24bits" {
470test "runtime struct initialization of bitfield" {468test "runtime struct initialization of bitfield" {
471 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;469 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
472 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO470 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
473 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
474 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO471 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
475 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO472 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
476 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO473 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -537,7 +534,6 @@ test "packed struct fields are ordered from LSB to MSB" {...@@ -537,7 +534,6 @@ test "packed struct fields are ordered from LSB to MSB" {
537test "implicit cast packed struct field to const ptr" {534test "implicit cast packed struct field to const ptr" {
538 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
539 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO536 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
540 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
541 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO537 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
542 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO538 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
543 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO539 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -559,7 +555,6 @@ test "implicit cast packed struct field to const ptr" {...@@ -559,7 +555,6 @@ test "implicit cast packed struct field to const ptr" {
559555
560test "zero-bit field in packed struct" {556test "zero-bit field in packed struct" {
561 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO557 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
562 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
563 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO558 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
564 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO559 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
565560
...@@ -605,7 +600,6 @@ const bit_field_1 = BitField1{...@@ -605,7 +600,6 @@ const bit_field_1 = BitField1{
605test "bit field access" {600test "bit field access" {
606 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;601 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
607 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO602 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
608 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
609 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO603 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
610 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO604 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
611 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO605 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -638,7 +632,6 @@ fn getC(data: *const BitField1) u2 {...@@ -638,7 +632,6 @@ fn getC(data: *const BitField1) u2 {
638632
639test "default struct initialization fields" {633test "default struct initialization fields" {
640 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;634 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
641 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
642 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO635 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
643636
644 const S = struct {637 const S = struct {
...@@ -771,7 +764,6 @@ test "pointer to packed struct member in a stack variable" {...@@ -771,7 +764,6 @@ test "pointer to packed struct member in a stack variable" {
771test "packed struct with u0 field access" {764test "packed struct with u0 field access" {
772 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO765 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
773 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO766 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
774 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
775 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO767 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
776768
777 const S = packed struct {769 const S = packed struct {
...@@ -783,7 +775,6 @@ test "packed struct with u0 field access" {...@@ -783,7 +775,6 @@ test "packed struct with u0 field access" {
783775
784test "access to global struct fields" {776test "access to global struct fields" {
785 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO777 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
786 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
787 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO778 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
788779
789 g_foo.bar.value = 42;780 g_foo.bar.value = 42;
...@@ -810,7 +801,6 @@ test "packed struct with fp fields" {...@@ -810,7 +801,6 @@ test "packed struct with fp fields" {
810 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO801 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
811 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO802 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
812 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO803 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
813 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
814804
815 const S = packed struct {805 const S = packed struct {
816 data0: f32,806 data0: f32,
...@@ -886,7 +876,6 @@ test "packed struct field passed to generic function" {...@@ -886,7 +876,6 @@ test "packed struct field passed to generic function" {
886 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO876 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
887 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO877 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
888 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO878 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
889 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
890 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO879 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
891880
892 const S = struct {881 const S = struct {
...@@ -910,7 +899,6 @@ test "packed struct field passed to generic function" {...@@ -910,7 +899,6 @@ test "packed struct field passed to generic function" {
910899
911test "anonymous struct literal syntax" {900test "anonymous struct literal syntax" {
912 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;901 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
913 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
914902
915 const S = struct {903 const S = struct {
916 const Point = struct {904 const Point = struct {
...@@ -932,8 +920,6 @@ test "anonymous struct literal syntax" {...@@ -932,8 +920,6 @@ test "anonymous struct literal syntax" {
932}920}
933921
934test "fully anonymous struct" {922test "fully anonymous struct" {
935 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
936
937 const S = struct {923 const S = struct {
938 fn doTheTest() !void {924 fn doTheTest() !void {
939 try dump(.{925 try dump(.{
...@@ -956,8 +942,6 @@ test "fully anonymous struct" {...@@ -956,8 +942,6 @@ test "fully anonymous struct" {
956}942}
957943
958test "fully anonymous list literal" {944test "fully anonymous list literal" {
959 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
960
961 const S = struct {945 const S = struct {
962 fn doTheTest() !void {946 fn doTheTest() !void {
963 try dump(.{ @as(u32, 1234), @as(f64, 12.34), true, "hi" });947 try dump(.{ @as(u32, 1234), @as(f64, 12.34), true, "hi" });
...@@ -1118,7 +1102,6 @@ test "type coercion of pointer to anon struct literal to pointer to struct" {...@@ -1118,7 +1102,6 @@ test "type coercion of pointer to anon struct literal to pointer to struct" {
1118test "packed struct with undefined initializers" {1102test "packed struct with undefined initializers" {
1119 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;1103 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
1120 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1104 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1121 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1122 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1105 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1123 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1106 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1124 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1107 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
...@@ -1219,7 +1202,6 @@ test "anon init through error unions and optionals" {...@@ -1219,7 +1202,6 @@ test "anon init through error unions and optionals" {
12191202
1220test "anon init through optional" {1203test "anon init through optional" {
1221 if (builtin.zig_backend == .stage1) return error.SkipZigTest;1204 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
1222 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1223 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1205 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1224 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1206 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1225 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1207 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
...@@ -1241,7 +1223,6 @@ test "anon init through optional" {...@@ -1241,7 +1223,6 @@ test "anon init through optional" {
12411223
1242test "anon init through error union" {1224test "anon init through error union" {
1243 if (builtin.zig_backend == .stage1) return error.SkipZigTest;1225 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
1244 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1245 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO1226 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1246 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1227 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1247 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1228 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
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_x86_64) return error.SkipZigTest;26 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
27 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
28 switch (doThing(17) catch unreachable) {27 switch (doThing(17) catch unreachable) {
29 FormValue.Address => |payload| {28 FormValue.Address => |payload| {
30 try expect(payload == 1);29 try expect(payload == 1);
test/behavior/translate_c_macros.zig-1
...@@ -75,7 +75,6 @@ test "casting to union with a macro" {...@@ -75,7 +75,6 @@ test "casting to union with a macro" {
75test "casting or calling a value with a paren-surrounded macro" {75test "casting or calling a value with a paren-surrounded macro" {
76 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO76 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
77 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO77 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
78 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
79 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO78 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
80 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO79 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8180
test/behavior/type.zig-4
...@@ -248,7 +248,6 @@ fn add(a: i32, b: i32) i32 {...@@ -248,7 +248,6 @@ fn add(a: i32, b: i32) i32 {
248248
249test "Type.ErrorSet" {249test "Type.ErrorSet" {
250 if (builtin.zig_backend == .stage1) return error.SkipZigTest;250 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
251 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
252251
253 try testing.expect(@Type(.{ .ErrorSet = null }) == anyerror);252 try testing.expect(@Type(.{ .ErrorSet = null }) == anyerror);
254253
...@@ -462,7 +461,6 @@ test "Type.Union" {...@@ -462,7 +461,6 @@ test "Type.Union" {
462}461}
463462
464test "Type.Union from Type.Enum" {463test "Type.Union from Type.Enum" {
465 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
466 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO464 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
467465
468 const Tag = @Type(.{466 const Tag = @Type(.{
...@@ -490,7 +488,6 @@ test "Type.Union from Type.Enum" {...@@ -490,7 +488,6 @@ test "Type.Union from Type.Enum" {
490}488}
491489
492test "Type.Union from regular enum" {490test "Type.Union from regular enum" {
493 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
494 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO491 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
495492
496 const E = enum { working_as_expected };493 const E = enum { working_as_expected };
...@@ -509,7 +506,6 @@ test "Type.Union from regular enum" {...@@ -509,7 +506,6 @@ test "Type.Union from regular enum" {
509506
510test "Type.Fn" {507test "Type.Fn" {
511 if (builtin.zig_backend == .stage1) return error.SkipZigTest;508 if (builtin.zig_backend == .stage1) return error.SkipZigTest;
512 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
513509
514 if (true) {510 if (true) {
515 // https://github.com/ziglang/zig/issues/12360511 // https://github.com/ziglang/zig/issues/12360
test/behavior/type_info.zig-2
...@@ -376,8 +376,6 @@ extern fn typeInfoFoo(a: usize, b: bool, ...) callconv(.C) usize;...@@ -376,8 +376,6 @@ extern fn typeInfoFoo(a: usize, b: bool, ...) callconv(.C) usize;
376extern fn typeInfoFooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize;376extern fn typeInfoFooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize;
377377
378test "type info: generic function types" {378test "type info: generic function types" {
379 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
380
381 if (builtin.zig_backend != .stage1) {379 if (builtin.zig_backend != .stage1) {
382 // stage1 marks all args/return types as null if the function380 // stage1 marks all args/return types as null if the function
383 // is generic at all. stage2 is more specific.381 // is generic at all. stage2 is more specific.
test/behavior/union.zig-3
...@@ -431,7 +431,6 @@ const Foo1 = union(enum) {...@@ -431,7 +431,6 @@ const Foo1 = union(enum) {
431var glbl: Foo1 = undefined;431var glbl: Foo1 = undefined;
432432
433test "global union with single field is correctly initialized" {433test "global union with single field is correctly initialized" {
434 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
435 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;434 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
436 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;435 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
437 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;436 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
...@@ -476,7 +475,6 @@ test "update the tag value for zero-sized unions" {...@@ -476,7 +475,6 @@ test "update the tag value for zero-sized unions" {
476}475}
477476
478test "union initializer generates padding only if needed" {477test "union initializer generates padding only if needed" {
479 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
480 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;478 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
481 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;479 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
482 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;480 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
...@@ -753,7 +751,6 @@ fn Setter(comptime attr: Attribute) type {...@@ -753,7 +751,6 @@ fn Setter(comptime attr: Attribute) type {
753}751}
754752
755test "return union init with void payload" {753test "return union init with void payload" {
756 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
757 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;754 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
758 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;755 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
759 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;756 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
test/behavior/union_with_members.zig-1
...@@ -19,7 +19,6 @@ const ET = union(enum) {...@@ -19,7 +19,6 @@ const ET = union(enum) {
19test "enum with members" {19test "enum with members" {
20 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO20 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
21 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO21 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
22 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
23 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO22 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
24 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO23 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2524
test/behavior/widening.zig-2
...@@ -8,7 +8,6 @@ test "integer widening" {...@@ -8,7 +8,6 @@ test "integer widening" {
8 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO10 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1211
13 var a: u8 = 250;12 var a: u8 = 250;
14 var b: u16 = a;13 var b: u16 = a;
...@@ -30,7 +29,6 @@ test "integer widening u0 to u8" {...@@ -30,7 +29,6 @@ test "integer widening u0 to u8" {
30test "implicit unsigned integer to signed integer" {29test "implicit unsigned integer to signed integer" {
31 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO30 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
32 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO31 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
33 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
3432
35 var a: u8 = 250;33 var a: u8 = 250;
36 var b: i16 = a;34 var b: i16 = a;