| author | |
| committer | |
| log | 525dcaecba43f9931aff69fd7dd0cd5b443c2859 |
| tree | 75990c8d6e4948cb35f1993a156de477357fb54a |
| parent | 45c667eb21b1edde991435871523ece82793b449 |
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 | 1363 | } |
| 1364 | 1364 | const name_end = buffer.items.len; |
| 1365 | 1365 | |
| 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}); | |
| 1367 | 1368 | |
| 1368 | 1369 | const rendered = buffer.toOwnedSlice(); |
| 1369 | 1370 | errdefer dg.typedefs.allocator.free(rendered); |
| ... | ... | @@ -3514,7 +3515,7 @@ fn airOptionalPayloadPtr(f: *Function, inst: Air.Inst.Index) !CValue { |
| 3514 | 3515 | const payload_ty = opt_ty.optionalChild(&buf); |
| 3515 | 3516 | |
| 3516 | 3517 | if (!payload_ty.hasRuntimeBitsIgnoreComptime()) { |
| 3517 | return operand; | |
| 3518 | return CValue.undefined_ptr; | |
| 3518 | 3519 | } |
| 3519 | 3520 | |
| 3520 | 3521 | if (opt_ty.optionalReprIsPayload()) { |
test/behavior/align.zig-7| ... | ... | @@ -7,8 +7,6 @@ const assert = std.debug.assert; |
| 7 | 7 | var foo: u8 align(4) = 100; |
| 8 | 8 | |
| 9 | 9 | test "global variable alignment" { |
| 10 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 11 | ||
| 12 | 10 | comptime try expect(@typeInfo(@TypeOf(&foo)).Pointer.alignment == 4); |
| 13 | 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 | 233 | } |
| 236 | 234 | |
| 237 | 235 | test "specifying alignment allows pointer cast" { |
| 238 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 239 | 236 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 240 | 237 | |
| 241 | 238 | try testBytesAlign(0x33); |
| ... | ... | @@ -301,7 +298,6 @@ fn noop4() align(4) void {} |
| 301 | 298 | |
| 302 | 299 | test "function alignment" { |
| 303 | 300 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 304 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 305 | 301 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 306 | 302 | |
| 307 | 303 | // function alignment is a compile error on wasm32/wasm64 |
| ... | ... | @@ -316,7 +312,6 @@ test "function alignment" { |
| 316 | 312 | |
| 317 | 313 | test "implicitly decreasing fn alignment" { |
| 318 | 314 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 319 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 320 | 315 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 321 | 316 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 322 | 317 | |
| ... | ... | @@ -341,7 +336,6 @@ fn alignedBig() align(16) i32 { |
| 341 | 336 | test "@alignCast functions" { |
| 342 | 337 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 343 | 338 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 344 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 345 | 339 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 346 | 340 | |
| 347 | 341 | // function alignment is a compile error on wasm32/wasm64 |
| ... | ... | @@ -546,7 +540,6 @@ test "comptime alloc alignment" { |
| 546 | 540 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 547 | 541 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 548 | 542 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 549 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 550 | 543 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 551 | 544 | |
| 552 | 545 | comptime var bytes1 = [_]u8{0}; |
test/behavior/alignof.zig-2| ... | ... | @@ -12,7 +12,6 @@ const Foo = struct { |
| 12 | 12 | |
| 13 | 13 | test "@alignOf(T) before referencing T" { |
| 14 | 14 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 15 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 16 | 15 | comptime try expect(@alignOf(Foo) != maxInt(usize)); |
| 17 | 16 | if (native_arch == .x86_64) { |
| 18 | 17 | comptime try expect(@alignOf(Foo) == 4); |
| ... | ... | @@ -20,7 +19,6 @@ test "@alignOf(T) before referencing T" { |
| 20 | 19 | } |
| 21 | 20 | |
| 22 | 21 | test "comparison of @alignOf(T) against zero" { |
| 23 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 24 | 22 | { |
| 25 | 23 | const T = struct { x: u32 }; |
| 26 | 24 | try expect(!(@alignOf(T) == 0)); |
test/behavior/array.zig-5| ... | ... | @@ -6,8 +6,6 @@ const expect = testing.expect; |
| 6 | 6 | const expectEqual = testing.expectEqual; |
| 7 | 7 | |
| 8 | 8 | test "array to slice" { |
| 9 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 10 | ||
| 11 | 9 | const a: u32 align(4) = 3; |
| 12 | 10 | const b: u32 align(8) = 4; |
| 13 | 11 | const a_slice: []align(1) const u32 = @as(*const [1]u32, &a)[0..]; |
| ... | ... | @@ -160,7 +158,6 @@ test "nested arrays of strings" { |
| 160 | 158 | |
| 161 | 159 | test "nested arrays of integers" { |
| 162 | 160 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 163 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 164 | 161 | |
| 165 | 162 | const array_of_numbers = [_][2]u8{ |
| 166 | 163 | [2]u8{ 1, 2 }, |
| ... | ... | @@ -479,7 +476,6 @@ test "sentinel element count towards the ABI size calculation" { |
| 479 | 476 | |
| 480 | 477 | test "zero-sized array with recursive type definition" { |
| 481 | 478 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 482 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 483 | 479 | |
| 484 | 480 | const U = struct { |
| 485 | 481 | fn foo(comptime T: type, comptime n: usize) type { |
| ... | ... | @@ -501,7 +497,6 @@ test "zero-sized array with recursive type definition" { |
| 501 | 497 | test "type coercion of anon struct literal to array" { |
| 502 | 498 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 503 | 499 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 504 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 505 | 500 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 506 | 501 | |
| 507 | 502 | const S = struct { |
test/behavior/basic.zig-4| ... | ... | @@ -333,7 +333,6 @@ test "call result of if else expression" { |
| 333 | 333 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 334 | 334 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 335 | 335 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 336 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 337 | 336 | |
| 338 | 337 | try expect(mem.eql(u8, f2(true), "a")); |
| 339 | 338 | try expect(mem.eql(u8, f2(false), "b")); |
| ... | ... | @@ -364,8 +363,6 @@ fn testMemcpyMemset() !void { |
| 364 | 363 | } |
| 365 | 364 | |
| 366 | 365 | test "variable is allowed to be a pointer to an opaque type" { |
| 367 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 368 | ||
| 369 | 366 | var x: i32 = 1234; |
| 370 | 367 | _ = hereIsAnOpaqueType(@ptrCast(*OpaqueA, &x)); |
| 371 | 368 | } |
| ... | ... | @@ -881,7 +878,6 @@ test "labeled block implicitly ends in a break" { |
| 881 | 878 | } |
| 882 | 879 | |
| 883 | 880 | test "catch in block has correct result location" { |
| 884 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 885 | 881 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 886 | 882 | |
| 887 | 883 | const S = struct { |
test/behavior/bitcast.zig-6| ... | ... | @@ -136,7 +136,6 @@ test "@bitCast packed structs at runtime and comptime" { |
| 136 | 136 | |
| 137 | 137 | test "@bitCast extern structs at runtime and comptime" { |
| 138 | 138 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; |
| 139 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 140 | 139 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 141 | 140 | |
| 142 | 141 | const Full = extern struct { |
| ... | ... | @@ -208,7 +207,6 @@ test "implicit cast to error union by returning" { |
| 208 | 207 | |
| 209 | 208 | test "bitcast packed struct literal to byte" { |
| 210 | 209 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; |
| 211 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 212 | 210 | |
| 213 | 211 | const Foo = packed struct { |
| 214 | 212 | value: u8, |
| ... | ... | @@ -218,8 +216,6 @@ test "bitcast packed struct literal to byte" { |
| 218 | 216 | } |
| 219 | 217 | |
| 220 | 218 | test "comptime bitcast used in expression has the correct type" { |
| 221 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 222 | ||
| 223 | 219 | const Foo = packed struct { |
| 224 | 220 | value: u8, |
| 225 | 221 | }; |
| ... | ... | @@ -237,8 +233,6 @@ test "bitcast passed as tuple element" { |
| 237 | 233 | } |
| 238 | 234 | |
| 239 | 235 | test "triple level result location with bitcast sandwich passed as tuple element" { |
| 240 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 241 | ||
| 242 | 236 | const S = struct { |
| 243 | 237 | fn foo(args: anytype) !void { |
| 244 | 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 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 8 | 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 9 | 9 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 10 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 11 | 10 | |
| 12 | 11 | var cond = true; |
| 13 | 12 | const opt = while (cond) { |
test/behavior/bugs/11159.zig-1| ... | ... | @@ -9,7 +9,6 @@ test { |
| 9 | 9 | |
| 10 | 10 | test { |
| 11 | 11 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO |
| 12 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 13 | 12 | |
| 14 | 13 | const S = struct { |
| 15 | 14 | comptime x: i32 = 0, |
test/behavior/bugs/11181.zig-4| ... | ... | @@ -1,8 +1,6 @@ |
| 1 | 1 | const builtin = @import("builtin"); |
| 2 | 2 | |
| 3 | 3 | test "const inferred array of slices" { |
| 4 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 5 | ||
| 6 | 4 | const T = struct { v: bool }; |
| 7 | 5 | |
| 8 | 6 | const decls = [_][]const T{ |
| ... | ... | @@ -14,8 +12,6 @@ test "const inferred array of slices" { |
| 14 | 12 | } |
| 15 | 13 | |
| 16 | 14 | test "var inferred array of slices" { |
| 17 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 18 | ||
| 19 | 15 | const T = struct { v: bool }; |
| 20 | 16 | |
| 21 | 17 | var decls = [_][]const T{ |
test/behavior/bugs/11213.zig-2| ... | ... | @@ -3,8 +3,6 @@ const builtin = @import("builtin"); |
| 3 | 3 | const testing = std.testing; |
| 4 | 4 | |
| 5 | 5 | test { |
| 6 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 7 | ||
| 8 | 6 | const g: error{Test}!void = error.Test; |
| 9 | 7 | |
| 10 | 8 | var v: u32 = 0; |
test/behavior/bugs/12776.zig-1| ... | ... | @@ -31,7 +31,6 @@ const CPU = packed struct { |
| 31 | 31 | test { |
| 32 | 32 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 33 | 33 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 34 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 35 | 34 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; |
| 36 | 35 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 37 | 36 |
test/behavior/bugs/1421.zig-1| ... | ... | @@ -10,7 +10,6 @@ const S = struct { |
| 10 | 10 | |
| 11 | 11 | test "functions with return type required to be comptime are generic" { |
| 12 | 12 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 13 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 14 | 13 | const ti = S.method(); |
| 15 | 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 | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 11 | 11 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 12 | 12 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 13 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 14 | 13 | var union_or_err: anyerror!Union = Union{ .Color = 1234 }; |
| 15 | 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 | 14 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 15 | 15 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 16 | 16 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 17 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 18 | 17 | try checkAddress(&a); |
| 19 | 18 | comptime try checkAddress(&a); |
| 20 | 19 | } |
test/behavior/bugs/2692.zig-1| ... | ... | @@ -5,7 +5,6 @@ fn foo(a: []u8) void { |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | test "address of 0 length array" { |
| 8 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 9 | 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 10 | 9 | |
| 11 | 10 | var pt: [0]u8 = undefined; |
test/behavior/bugs/3007.zig-1| ... | ... | @@ -22,7 +22,6 @@ test "fixed" { |
| 22 | 22 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 23 | 23 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 24 | 24 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 25 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 26 | 25 | |
| 27 | 26 | default_foo = get_foo() catch null; // This Line |
| 28 | 27 | try std.testing.expect(!default_foo.?.free); |
test/behavior/bugs/3046.zig-1| ... | ... | @@ -15,7 +15,6 @@ var some_struct: SomeStruct = undefined; |
| 15 | 15 | test "fixed" { |
| 16 | 16 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 17 | 17 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 18 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 19 | 18 | |
| 20 | 19 | some_struct = SomeStruct{ |
| 21 | 20 | .field = couldFail() catch @as(i32, 0), |
test/behavior/bugs/3367.zig-1| ... | ... | @@ -10,7 +10,6 @@ const Mixin = struct { |
| 10 | 10 | }; |
| 11 | 11 | |
| 12 | 12 | test "container member access usingnamespace decls" { |
| 13 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 14 | 13 | var foo = Foo{}; |
| 15 | 14 | foo.two(); |
| 16 | 15 | } |
test/behavior/bugs/4954.zig-1| ... | ... | @@ -5,7 +5,6 @@ fn f(buf: []u8) void { |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | test "crash" { |
| 8 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 9 | 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 10 | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 11 | 10 |
test/behavior/bugs/5398.zig-1| ... | ... | @@ -22,7 +22,6 @@ test "assignment of field with padding" { |
| 22 | 22 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 23 | 23 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 24 | 24 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 25 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 26 | 25 | |
| 27 | 26 | renderable = Renderable{ |
| 28 | 27 | .mesh = Mesh{ .id = 0 }, |
test/behavior/bugs/5487.zig-1| ... | ... | @@ -13,6 +13,5 @@ test "crash" { |
| 13 | 13 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 14 | 14 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 15 | 15 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 16 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 17 | 16 | _ = io.multiWriter(.{writer()}); |
| 18 | 17 | } |
test/behavior/bugs/726.zig-2| ... | ... | @@ -5,7 +5,6 @@ test "@ptrCast from const to nullable" { |
| 5 | 5 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 6 | 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 7 | 7 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 8 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 9 | 8 | |
| 10 | 9 | const c: u8 = 4; |
| 11 | 10 | var x: ?*const u8 = @ptrCast(?*const u8, &c); |
| ... | ... | @@ -16,7 +15,6 @@ test "@ptrCast from var in empty struct to nullable" { |
| 16 | 15 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 17 | 16 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 18 | 17 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 19 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 20 | 18 | |
| 21 | 19 | const container = struct { |
| 22 | 20 | var c: u8 = 4; |
test/behavior/bugs/9584.zig-1| ... | ... | @@ -49,7 +49,6 @@ test { |
| 49 | 49 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 50 | 50 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 51 | 51 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 52 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 53 | 52 | |
| 54 | 53 | var flags = A{ |
| 55 | 54 | .a = false, |
test/behavior/call.zig-1| ... | ... | @@ -58,7 +58,6 @@ test "basic invocations" { |
| 58 | 58 | test "tuple parameters" { |
| 59 | 59 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 60 | 60 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 61 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 62 | 61 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 63 | 62 | |
| 64 | 63 | const add = struct { |
test/behavior/cast.zig-20| ... | ... | @@ -839,8 +839,6 @@ test "peer cast *[0]T to []const T" { |
| 839 | 839 | } |
| 840 | 840 | |
| 841 | 841 | test "peer cast *[N]T to [*]T" { |
| 842 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 843 | ||
| 844 | 842 | var array = [4:99]i32{ 1, 2, 3, 4 }; |
| 845 | 843 | var dest: [*]i32 = undefined; |
| 846 | 844 | try expect(@TypeOf(&array, dest) == [*]i32); |
| ... | ... | @@ -849,7 +847,6 @@ test "peer cast *[N]T to [*]T" { |
| 849 | 847 | |
| 850 | 848 | test "peer resolution of string literals" { |
| 851 | 849 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 852 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 853 | 850 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 854 | 851 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 855 | 852 | |
| ... | ... | @@ -872,7 +869,6 @@ test "peer resolution of string literals" { |
| 872 | 869 | |
| 873 | 870 | test "peer cast [:x]T to []T" { |
| 874 | 871 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 875 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 876 | 872 | |
| 877 | 873 | const S = struct { |
| 878 | 874 | fn doTheTest() !void { |
| ... | ... | @@ -888,7 +884,6 @@ test "peer cast [:x]T to []T" { |
| 888 | 884 | |
| 889 | 885 | test "peer cast [N:x]T to [N]T" { |
| 890 | 886 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 891 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 892 | 887 | |
| 893 | 888 | const S = struct { |
| 894 | 889 | fn doTheTest() !void { |
| ... | ... | @@ -903,7 +898,6 @@ test "peer cast [N:x]T to [N]T" { |
| 903 | 898 | |
| 904 | 899 | test "peer cast *[N:x]T to *[N]T" { |
| 905 | 900 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 906 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 907 | 901 | |
| 908 | 902 | const S = struct { |
| 909 | 903 | fn doTheTest() !void { |
| ... | ... | @@ -937,7 +931,6 @@ test "peer cast [*:x]T to [*]T" { |
| 937 | 931 | |
| 938 | 932 | test "peer cast [:x]T to [*:x]T" { |
| 939 | 933 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 940 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 941 | 934 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 942 | 935 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 943 | 936 | |
| ... | ... | @@ -1018,7 +1011,6 @@ test "cast between C pointer with different but compatible types" { |
| 1018 | 1011 | |
| 1019 | 1012 | test "peer type resolve string lit with sentinel-terminated mutable slice" { |
| 1020 | 1013 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1021 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1022 | 1014 | |
| 1023 | 1015 | var array: [4:0]u8 = undefined; |
| 1024 | 1016 | 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 | 1027 | } |
| 1036 | 1028 | |
| 1037 | 1029 | test "peer type resolve array pointer and unknown pointer" { |
| 1038 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1039 | ||
| 1040 | 1030 | const const_array: [4]u8 = undefined; |
| 1041 | 1031 | var array: [4]u8 = undefined; |
| 1042 | 1032 | var const_ptr: [*]const u8 = undefined; |
| ... | ... | @@ -1069,7 +1059,6 @@ test "comptime float casts" { |
| 1069 | 1059 | |
| 1070 | 1060 | test "pointer reinterpret const float to int" { |
| 1071 | 1061 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1072 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1073 | 1062 | |
| 1074 | 1063 | // The hex representation is 0x3fe3333333333303. |
| 1075 | 1064 | const float: f64 = 5.99999999999994648725e-01; |
| ... | ... | @@ -1084,7 +1073,6 @@ test "pointer reinterpret const float to int" { |
| 1084 | 1073 | |
| 1085 | 1074 | test "implicit cast from [*]T to ?*anyopaque" { |
| 1086 | 1075 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1087 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1088 | 1076 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1089 | 1077 | |
| 1090 | 1078 | var a = [_]u8{ 3, 2, 1 }; |
| ... | ... | @@ -1102,8 +1090,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void { |
| 1102 | 1090 | |
| 1103 | 1091 | test "compile time int to ptr of function" { |
| 1104 | 1092 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 1105 | ||
| 1106 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1107 | 1093 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1108 | 1094 | |
| 1109 | 1095 | try foobar(FUNCTION_CONSTANT); |
| ... | ... | @@ -1120,7 +1106,6 @@ fn foobar(func: PFN_void) !void { |
| 1120 | 1106 | |
| 1121 | 1107 | test "implicit ptr to *anyopaque" { |
| 1122 | 1108 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1123 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1124 | 1109 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1125 | 1110 | |
| 1126 | 1111 | var a: u32 = 1; |
| ... | ... | @@ -1168,7 +1153,6 @@ fn peerTypeEmptyArrayAndSlice(a: bool, slice: []const u8) []const u8 { |
| 1168 | 1153 | |
| 1169 | 1154 | test "implicitly cast from [N]T to ?[]const T" { |
| 1170 | 1155 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1171 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1172 | 1156 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1173 | 1157 | |
| 1174 | 1158 | try expect(mem.eql(u8, castToOptionalSlice().?, "hi")); |
| ... | ... | @@ -1220,7 +1204,6 @@ test "implicit cast from *[N]T to ?[*]T" { |
| 1220 | 1204 | |
| 1221 | 1205 | test "implicit cast from *T to ?*anyopaque" { |
| 1222 | 1206 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1223 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1224 | 1207 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1225 | 1208 | |
| 1226 | 1209 | var a: u8 = 1; |
| ... | ... | @@ -1246,8 +1229,6 @@ test "cast from array reference to fn: comptime fn ptr" { |
| 1246 | 1229 | try expect(@ptrToInt(f) == @ptrToInt(&global_array)); |
| 1247 | 1230 | } |
| 1248 | 1231 | test "cast from array reference to fn: runtime fn ptr" { |
| 1249 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1250 | ||
| 1251 | 1232 | var f = @ptrCast(*align(1) const fn () callconv(.C) void, &global_array); |
| 1252 | 1233 | try expect(@ptrToInt(f) == @ptrToInt(&global_array)); |
| 1253 | 1234 | } |
| ... | ... | @@ -1354,7 +1335,6 @@ test "cast f128 to narrower types" { |
| 1354 | 1335 | |
| 1355 | 1336 | test "peer type resolution: unreachable, null, slice" { |
| 1356 | 1337 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1357 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1358 | 1338 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1359 | 1339 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1360 | 1340 |
test/behavior/cast_int.zig-1| ... | ... | @@ -8,7 +8,6 @@ test "@intCast i32 to u7" { |
| 8 | 8 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 9 | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 10 | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 12 | 11 | |
| 13 | 12 | var x: u128 = maxInt(u128); |
| 14 | 13 | var y: i32 = 120; |
test/behavior/empty_union.zig-2| ... | ... | @@ -12,7 +12,6 @@ test "switch on empty enum" { |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | test "switch on empty enum with a specified tag type" { |
| 15 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 16 | 15 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 17 | 16 | |
| 18 | 17 | const E = enum(u8) {}; |
| ... | ... | @@ -21,7 +20,6 @@ test "switch on empty enum with a specified tag type" { |
| 21 | 20 | } |
| 22 | 21 | |
| 23 | 22 | test "switch on empty auto numbered tagged union" { |
| 24 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 25 | 23 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 26 | 24 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 27 | 25 |
test/behavior/error.zig-2| ... | ... | @@ -258,7 +258,6 @@ fn testComptimeTestErrorEmptySet(x: EmptyErrorSet!i32) !void { |
| 258 | 258 | } |
| 259 | 259 | |
| 260 | 260 | test "comptime err to int of error set with only 1 possible value" { |
| 261 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 262 | 261 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 263 | 262 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 264 | 263 | |
| ... | ... | @@ -845,7 +844,6 @@ test "catch within a function that calls no errorable functions" { |
| 845 | 844 | test "error from comptime string" { |
| 846 | 845 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 847 | 846 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 848 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 849 | 847 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 850 | 848 | |
| 851 | 849 | const name = "Weird error name!"; |
test/behavior/eval.zig-3| ... | ... | @@ -763,7 +763,6 @@ test "array concatenation peer resolves element types - value" { |
| 763 | 763 | |
| 764 | 764 | test "array concatenation peer resolves element types - pointer" { |
| 765 | 765 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 766 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 767 | 766 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 768 | 767 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 769 | 768 | |
| ... | ... | @@ -801,7 +800,6 @@ test "array concatenation sets the sentinel - value" { |
| 801 | 800 | |
| 802 | 801 | test "array concatenation sets the sentinel - pointer" { |
| 803 | 802 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 804 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 805 | 803 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 806 | 804 | |
| 807 | 805 | var a = [2]u3{ 1, 7 }; |
| ... | ... | @@ -838,7 +836,6 @@ test "array multiplication sets the sentinel - value" { |
| 838 | 836 | |
| 839 | 837 | test "array multiplication sets the sentinel - pointer" { |
| 840 | 838 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 841 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 842 | 839 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 843 | 840 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 844 | 841 |
test/behavior/fn.zig-5| ... | ... | @@ -146,7 +146,6 @@ fn fnWithUnreachable() noreturn { |
| 146 | 146 | } |
| 147 | 147 | |
| 148 | 148 | test "extern struct with stdcallcc fn pointer" { |
| 149 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 150 | 149 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 151 | 150 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 152 | 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 | 285 | } |
| 287 | 286 | |
| 288 | 287 | test "call function with empty string" { |
| 289 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 290 | 288 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 291 | 289 | |
| 292 | 290 | acceptsString(""); |
| ... | ... | @@ -305,7 +303,6 @@ test "function pointers" { |
| 305 | 303 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 306 | 304 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 307 | 305 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 308 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 309 | 306 | |
| 310 | 307 | const fns = [_]*const @TypeOf(fn1){ |
| 311 | 308 | &fn1, |
| ... | ... | @@ -399,8 +396,6 @@ test "ability to give comptime types and non comptime types to same parameter" { |
| 399 | 396 | } |
| 400 | 397 | |
| 401 | 398 | test "function with inferred error set but returning no error" { |
| 402 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 403 | ||
| 404 | 399 | const S = struct { |
| 405 | 400 | fn foo() !void {} |
| 406 | 401 | }; |
test/behavior/math.zig-8| ... | ... | @@ -616,8 +616,6 @@ test "128-bit multiplication" { |
| 616 | 616 | } |
| 617 | 617 | |
| 618 | 618 | test "@addWithOverflow" { |
| 619 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 620 | ||
| 621 | 619 | { |
| 622 | 620 | var result: u8 = undefined; |
| 623 | 621 | try expect(@addWithOverflow(u8, 250, 100, &result)); |
| ... | ... | @@ -673,8 +671,6 @@ test "small int addition" { |
| 673 | 671 | } |
| 674 | 672 | |
| 675 | 673 | test "basic @mulWithOverflow" { |
| 676 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 677 | ||
| 678 | 674 | var result: u8 = undefined; |
| 679 | 675 | try expect(@mulWithOverflow(u8, 86, 3, &result)); |
| 680 | 676 | try expect(result == 2); |
| ... | ... | @@ -897,8 +893,6 @@ test "@mulWithOverflow bitsize > 32" { |
| 897 | 893 | } |
| 898 | 894 | |
| 899 | 895 | test "@subWithOverflow" { |
| 900 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 901 | ||
| 902 | 896 | { |
| 903 | 897 | var result: u8 = undefined; |
| 904 | 898 | try expect(@subWithOverflow(u8, 1, 2, &result)); |
| ... | ... | @@ -977,8 +971,6 @@ test "@shlWithOverflow" { |
| 977 | 971 | } |
| 978 | 972 | |
| 979 | 973 | test "overflow arithmetic with u0 values" { |
| 980 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 981 | ||
| 982 | 974 | var result: u0 = undefined; |
| 983 | 975 | try expect(!@addWithOverflow(u0, 0, 0, &result)); |
| 984 | 976 | try expect(result == 0); |
test/behavior/optional.zig-3| ... | ... | @@ -65,7 +65,6 @@ test "optional with void type" { |
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | test "address of unwrap optional" { |
| 68 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 69 | 68 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 70 | 69 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 71 | 70 | 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 | 268 | } |
| 270 | 269 | |
| 271 | 270 | test "0-bit child type coerced to optional" { |
| 272 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 273 | 271 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 274 | 272 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 275 | 273 | |
| ... | ... | @@ -332,7 +330,6 @@ test "array of optional unaligned types" { |
| 332 | 330 | } |
| 333 | 331 | |
| 334 | 332 | test "optional pointer to zero bit optional payload" { |
| 335 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 336 | 333 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 337 | 334 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 338 | 335 | 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 | 205 | } |
| 206 | 206 | |
| 207 | 207 | test "assign null directly to C pointer and test null equality" { |
| 208 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 209 | 208 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 210 | 209 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 211 | 210 | 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 | 229 | |
| 230 | 230 | test "C pointer" { |
| 231 | 231 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 232 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 233 | 232 | |
| 234 | 233 | var buf: [*c]const u8 = "kjdhfkjdhfdkjhfkfjhdfkjdhfkdjhfdkjhf"; |
| 235 | 234 | var len: u32 = 10; |
| ... | ... | @@ -477,7 +476,6 @@ test "slice syntax resulting in pointer-to-array" { |
| 477 | 476 | } |
| 478 | 477 | |
| 479 | 478 | test "slice pointer-to-array null terminated" { |
| 480 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 481 | 479 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 482 | 480 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 483 | 481 | |
| ... | ... | @@ -503,7 +501,6 @@ test "slice pointer-to-array null terminated" { |
| 503 | 501 | } |
| 504 | 502 | |
| 505 | 503 | test "slice pointer-to-array zero length" { |
| 506 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 507 | 504 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 508 | 505 | |
| 509 | 506 | comptime { |
| ... | ... | @@ -637,7 +634,6 @@ test "slice sentinel access at comptime" { |
| 637 | 634 | test "slicing array with sentinel as end index" { |
| 638 | 635 | // Doesn't work in stage1 |
| 639 | 636 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 640 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 641 | 637 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 642 | 638 | |
| 643 | 639 | const S = struct { |
| ... | ... | @@ -657,7 +653,6 @@ test "slicing array with sentinel as end index" { |
| 657 | 653 | test "slicing slice with sentinel as end index" { |
| 658 | 654 | // Doesn't work in stage1 |
| 659 | 655 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 660 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 661 | 656 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 662 | 657 | |
| 663 | 658 | const S = struct { |
test/behavior/struct.zig-19| ... | ... | @@ -319,7 +319,6 @@ const VoidStructFieldsFoo = struct { |
| 319 | 319 | |
| 320 | 320 | test "return empty struct from fn" { |
| 321 | 321 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 322 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 323 | 322 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 324 | 323 | |
| 325 | 324 | _ = testReturnEmptyStructFromFn(); |
| ... | ... | @@ -421,7 +420,6 @@ const Foo96Bits = packed struct { |
| 421 | 420 | test "packed struct 24bits" { |
| 422 | 421 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 423 | 422 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 424 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 425 | 423 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 426 | 424 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 427 | 425 | if (builtin.cpu.arch == .wasm32) return error.SkipZigTest; // TODO |
| ... | ... | @@ -470,7 +468,6 @@ test "packed struct 24bits" { |
| 470 | 468 | test "runtime struct initialization of bitfield" { |
| 471 | 469 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 472 | 470 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 473 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 474 | 471 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 475 | 472 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 476 | 473 | 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 | 534 | test "implicit cast packed struct field to const ptr" { |
| 538 | 535 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 539 | 536 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 540 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 541 | 537 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 542 | 538 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 543 | 539 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | ... | @@ -559,7 +555,6 @@ test "implicit cast packed struct field to const ptr" { |
| 559 | 555 | |
| 560 | 556 | test "zero-bit field in packed struct" { |
| 561 | 557 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 562 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 563 | 558 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 564 | 559 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 565 | 560 | |
| ... | ... | @@ -605,7 +600,6 @@ const bit_field_1 = BitField1{ |
| 605 | 600 | test "bit field access" { |
| 606 | 601 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 607 | 602 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 608 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 609 | 603 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 610 | 604 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 611 | 605 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | ... | @@ -638,7 +632,6 @@ fn getC(data: *const BitField1) u2 { |
| 638 | 632 | |
| 639 | 633 | test "default struct initialization fields" { |
| 640 | 634 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 641 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 642 | 635 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 643 | 636 | |
| 644 | 637 | const S = struct { |
| ... | ... | @@ -771,7 +764,6 @@ test "pointer to packed struct member in a stack variable" { |
| 771 | 764 | test "packed struct with u0 field access" { |
| 772 | 765 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 773 | 766 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 774 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 775 | 767 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 776 | 768 | |
| 777 | 769 | const S = packed struct { |
| ... | ... | @@ -783,7 +775,6 @@ test "packed struct with u0 field access" { |
| 783 | 775 | |
| 784 | 776 | test "access to global struct fields" { |
| 785 | 777 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 786 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 787 | 778 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 788 | 779 | |
| 789 | 780 | g_foo.bar.value = 42; |
| ... | ... | @@ -810,7 +801,6 @@ test "packed struct with fp fields" { |
| 810 | 801 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 811 | 802 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 812 | 803 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 813 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 814 | 804 | |
| 815 | 805 | const S = packed struct { |
| 816 | 806 | data0: f32, |
| ... | ... | @@ -886,7 +876,6 @@ test "packed struct field passed to generic function" { |
| 886 | 876 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 887 | 877 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 888 | 878 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 889 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 890 | 879 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 891 | 880 | |
| 892 | 881 | const S = struct { |
| ... | ... | @@ -910,7 +899,6 @@ test "packed struct field passed to generic function" { |
| 910 | 899 | |
| 911 | 900 | test "anonymous struct literal syntax" { |
| 912 | 901 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 913 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 914 | 902 | |
| 915 | 903 | const S = struct { |
| 916 | 904 | const Point = struct { |
| ... | ... | @@ -932,8 +920,6 @@ test "anonymous struct literal syntax" { |
| 932 | 920 | } |
| 933 | 921 | |
| 934 | 922 | test "fully anonymous struct" { |
| 935 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 936 | ||
| 937 | 923 | const S = struct { |
| 938 | 924 | fn doTheTest() !void { |
| 939 | 925 | try dump(.{ |
| ... | ... | @@ -956,8 +942,6 @@ test "fully anonymous struct" { |
| 956 | 942 | } |
| 957 | 943 | |
| 958 | 944 | test "fully anonymous list literal" { |
| 959 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 960 | ||
| 961 | 945 | const S = struct { |
| 962 | 946 | fn doTheTest() !void { |
| 963 | 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 | 1102 | test "packed struct with undefined initializers" { |
| 1119 | 1103 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1120 | 1104 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 1121 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1122 | 1105 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1123 | 1106 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1124 | 1107 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | ... | @@ -1219,7 +1202,6 @@ test "anon init through error unions and optionals" { |
| 1219 | 1202 | |
| 1220 | 1203 | test "anon init through optional" { |
| 1221 | 1204 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 1222 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1223 | 1205 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1224 | 1206 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1225 | 1207 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| ... | ... | @@ -1241,7 +1223,6 @@ test "anon init through optional" { |
| 1241 | 1223 | |
| 1242 | 1224 | test "anon init through error union" { |
| 1243 | 1225 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 1244 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 1245 | 1226 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1246 | 1227 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1247 | 1228 | 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 | 24 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 25 | 25 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 26 | 26 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 27 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 28 | 27 | switch (doThing(17) catch unreachable) { |
| 29 | 28 | FormValue.Address => |payload| { |
| 30 | 29 | try expect(payload == 1); |
test/behavior/translate_c_macros.zig-1| ... | ... | @@ -75,7 +75,6 @@ test "casting to union with a macro" { |
| 75 | 75 | test "casting or calling a value with a paren-surrounded macro" { |
| 76 | 76 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 77 | 77 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 78 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 79 | 78 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 80 | 79 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 81 | 80 |
test/behavior/type.zig-4| ... | ... | @@ -248,7 +248,6 @@ fn add(a: i32, b: i32) i32 { |
| 248 | 248 | |
| 249 | 249 | test "Type.ErrorSet" { |
| 250 | 250 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 251 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 252 | 251 | |
| 253 | 252 | try testing.expect(@Type(.{ .ErrorSet = null }) == anyerror); |
| 254 | 253 | |
| ... | ... | @@ -462,7 +461,6 @@ test "Type.Union" { |
| 462 | 461 | } |
| 463 | 462 | |
| 464 | 463 | test "Type.Union from Type.Enum" { |
| 465 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 466 | 464 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 467 | 465 | |
| 468 | 466 | const Tag = @Type(.{ |
| ... | ... | @@ -490,7 +488,6 @@ test "Type.Union from Type.Enum" { |
| 490 | 488 | } |
| 491 | 489 | |
| 492 | 490 | test "Type.Union from regular enum" { |
| 493 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 494 | 491 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 495 | 492 | |
| 496 | 493 | const E = enum { working_as_expected }; |
| ... | ... | @@ -509,7 +506,6 @@ test "Type.Union from regular enum" { |
| 509 | 506 | |
| 510 | 507 | test "Type.Fn" { |
| 511 | 508 | if (builtin.zig_backend == .stage1) return error.SkipZigTest; |
| 512 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 513 | 509 | |
| 514 | 510 | if (true) { |
| 515 | 511 | // 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 | 376 | extern fn typeInfoFooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize; |
| 377 | 377 | |
| 378 | 378 | test "type info: generic function types" { |
| 379 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 380 | ||
| 381 | 379 | if (builtin.zig_backend != .stage1) { |
| 382 | 380 | // stage1 marks all args/return types as null if the function |
| 383 | 381 | // is generic at all. stage2 is more specific. |
test/behavior/union.zig-3| ... | ... | @@ -431,7 +431,6 @@ const Foo1 = union(enum) { |
| 431 | 431 | var glbl: Foo1 = undefined; |
| 432 | 432 | |
| 433 | 433 | test "global union with single field is correctly initialized" { |
| 434 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 435 | 434 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 436 | 435 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 437 | 436 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| ... | ... | @@ -476,7 +475,6 @@ test "update the tag value for zero-sized unions" { |
| 476 | 475 | } |
| 477 | 476 | |
| 478 | 477 | test "union initializer generates padding only if needed" { |
| 479 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 480 | 478 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 481 | 479 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 482 | 480 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| ... | ... | @@ -753,7 +751,6 @@ fn Setter(comptime attr: Attribute) type { |
| 753 | 751 | } |
| 754 | 752 | |
| 755 | 753 | test "return union init with void payload" { |
| 756 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; | |
| 757 | 754 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 758 | 755 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 759 | 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 | 19 | test "enum with members" { |
| 20 | 20 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 21 | 21 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 22 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 23 | 22 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 24 | 23 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 25 | 24 |
test/behavior/widening.zig-2| ... | ... | @@ -8,7 +8,6 @@ test "integer widening" { |
| 8 | 8 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 9 | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 10 | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 12 | 11 | |
| 13 | 12 | var a: u8 = 250; |
| 14 | 13 | var b: u16 = a; |
| ... | ... | @@ -30,7 +29,6 @@ test "integer widening u0 to u8" { |
| 30 | 29 | test "implicit unsigned integer to signed integer" { |
| 31 | 30 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 32 | 31 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 33 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | |
| 34 | 32 | |
| 35 | 33 | var a: u8 = 250; |
| 36 | 34 | var b: i16 = a; |