diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-06 19:06:48 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-12-06 19:06:48 -0700 |
| commit | c8aba15c222e5bb8cf5d2d48678761197f564351 (patch) | |
| tree | 60a645691b4ccd5414c7e718c3326fc40fad1657 /test | |
| parent | b7b905d227c0124778214f7a307be04b7086ea6a (diff) | |
| download | zig-c8aba15c222e5bb8cf5d2d48678761197f564351.tar.gz zig-c8aba15c222e5bb8cf5d2d48678761197f564351.zip | |
remove references to stage1 in behavior tests
Good riddance.
Diffstat (limited to 'test')
61 files changed, 151 insertions, 648 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 3b6eb9c6ef..d301fa328f 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -94,6 +94,8 @@ test { _ = @import("behavior/bugs/12551.zig"); _ = @import("behavior/bugs/12644.zig"); _ = @import("behavior/bugs/12680.zig"); + _ = @import("behavior/bugs/12723.zig"); + _ = @import("behavior/bugs/12776.zig"); _ = @import("behavior/bugs/12786.zig"); _ = @import("behavior/bugs/12794.zig"); _ = @import("behavior/bugs/12801-1.zig"); @@ -112,8 +114,8 @@ test { _ = @import("behavior/bugs/13069.zig"); _ = @import("behavior/bugs/13112.zig"); _ = @import("behavior/bugs/13128.zig"); - _ = @import("behavior/bugs/13164.zig"); _ = @import("behavior/bugs/13159.zig"); + _ = @import("behavior/bugs/13164.zig"); _ = @import("behavior/bugs/13171.zig"); _ = @import("behavior/bugs/13285.zig"); _ = @import("behavior/bugs/13435.zig"); @@ -126,7 +128,9 @@ test { _ = @import("behavior/cast_int.zig"); _ = @import("behavior/comptime_memory.zig"); _ = @import("behavior/const_slice_child.zig"); + _ = @import("behavior/decltest.zig"); _ = @import("behavior/defer.zig"); + _ = @import("behavior/empty_union.zig"); _ = @import("behavior/enum.zig"); _ = @import("behavior/error.zig"); _ = @import("behavior/eval.zig"); @@ -142,6 +146,7 @@ test { _ = @import("behavior/if.zig"); _ = @import("behavior/import.zig"); _ = @import("behavior/incomplete_struct_param_tld.zig"); + _ = @import("behavior/inline_switch.zig"); _ = @import("behavior/int128.zig"); _ = @import("behavior/int_div.zig"); _ = @import("behavior/inttoptr.zig"); @@ -154,6 +159,8 @@ test { _ = @import("behavior/namespace_depends_on_compile_var.zig"); _ = @import("behavior/null.zig"); _ = @import("behavior/optional.zig"); + _ = @import("behavior/packed-struct.zig"); + _ = @import("behavior/packed_struct_explicit_backing_int.zig"); _ = @import("behavior/pointers.zig"); _ = @import("behavior/popcount.zig"); _ = @import("behavior/prefetch.zig"); @@ -169,7 +176,6 @@ test { _ = @import("behavior/slice_sentinel_comptime.zig"); _ = @import("behavior/src.zig"); _ = @import("behavior/struct.zig"); - _ = @import("behavior/packed-struct.zig"); _ = @import("behavior/struct_contains_null_ptr_itself.zig"); _ = @import("behavior/struct_contains_slice_of_itself.zig"); _ = @import("behavior/switch.zig"); @@ -180,6 +186,7 @@ test { _ = @import("behavior/truncate.zig"); _ = @import("behavior/try.zig"); _ = @import("behavior/tuple.zig"); + _ = @import("behavior/tuple_declarations.zig"); _ = @import("behavior/type.zig"); _ = @import("behavior/type_info.zig"); _ = @import("behavior/typename.zig"); @@ -198,16 +205,6 @@ test { _ = @import("behavior/wasm.zig"); } - if (builtin.zig_backend != .stage1) { - _ = @import("behavior/decltest.zig"); - _ = @import("behavior/packed_struct_explicit_backing_int.zig"); - _ = @import("behavior/empty_union.zig"); - _ = @import("behavior/inline_switch.zig"); - _ = @import("behavior/tuple_declarations.zig"); - _ = @import("behavior/bugs/12723.zig"); - _ = @import("behavior/bugs/12776.zig"); - } - if (builtin.os.tag != .wasi) { _ = @import("behavior/asm.zig"); } diff --git a/test/behavior/align.zig b/test/behavior/align.zig index 884b6d23c9..fde3f9addf 100644 --- a/test/behavior/align.zig +++ b/test/behavior/align.zig @@ -16,7 +16,6 @@ test "global variable alignment" { } test "slicing array of length 1 can not assume runtime index is always zero" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -61,10 +60,6 @@ test "alignment of struct with pointer has same alignment as usize" { } test "alignment and size of structs with 128-bit fields" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the wrong answer for a lot of targets - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -313,7 +308,6 @@ test "function alignment" { } test "implicitly decreasing fn alignment" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -337,7 +331,6 @@ fn alignedBig() align(16) i32 { test "@alignCast functions" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // function alignment is a compile error on wasm32/wasm64 @@ -380,8 +373,6 @@ test "function align expression depends on generic parameter" { } test "function callconv expression depends on generic parameter" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const S = struct { fn doTheTest() !void { try expect(foobar(.C, 1) == 2); @@ -435,8 +426,6 @@ fn testIndex2(ptr: [*]align(4) u8, index: usize, comptime T: type) !void { } test "alignment of function with c calling convention" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - var runtime_nothing = ¬hing; const casted1 = @ptrCast(*const u8, runtime_nothing); const casted2 = @ptrCast(*const fn () callconv(.C) void, casted1); @@ -495,7 +484,7 @@ test "struct field explicit alignment" { } test "align(@alignOf(T)) T does not force resolution of T" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; + if (true) return error.SkipZigTest; // TODO const S = struct { const A = struct { @@ -519,7 +508,6 @@ test "align(@alignOf(T)) T does not force resolution of T" { } test "align(N) on functions" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO @@ -557,8 +545,6 @@ test "@alignCast null" { } test "alignment of slice element" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const a: []align(1024) const u8 = undefined; try expect(@TypeOf(&a[0]) == *align(1024) const u8); } diff --git a/test/behavior/array.zig b/test/behavior/array.zig index f1dcb3b95d..843782800a 100644 --- a/test/behavior/array.zig +++ b/test/behavior/array.zig @@ -102,12 +102,6 @@ test "array len field" { } test "array with sentinels" { - if (builtin.zig_backend == .stage1) { - // Stage1 test coverage disabled at runtime because of - // https://github.com/ziglang/zig/issues/4372 - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const S = struct { diff --git a/test/behavior/async_fn.zig b/test/behavior/async_fn.zig index 88398cca87..fe095e99a3 100644 --- a/test/behavior/async_fn.zig +++ b/test/behavior/async_fn.zig @@ -8,7 +8,7 @@ const expectError = std.testing.expectError; var global_x: i32 = 1; test "simple coroutine suspend and resume" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO var frame = async simpleAsyncFn(); @@ -31,7 +31,7 @@ fn simpleAsyncFn() void { var global_y: i32 = 1; test "pass parameter to coroutine" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO var p = async simpleAsyncFnWithArg(2); @@ -46,7 +46,7 @@ fn simpleAsyncFnWithArg(delta: i32) void { } test "suspend at end of function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -68,7 +68,7 @@ test "suspend at end of function" { } test "local variable in async function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -100,7 +100,7 @@ test "local variable in async function" { } test "calling an inferred async function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -127,7 +127,7 @@ test "calling an inferred async function" { } test "@frameSize" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO if (builtin.target.cpu.arch == .thumb or builtin.target.cpu.arch == .thumbeb) @@ -161,7 +161,7 @@ test "@frameSize" { } test "coroutine suspend, resume" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -205,7 +205,7 @@ test "coroutine suspend, resume" { } test "coroutine suspend with block" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const p = async testSuspendBlock(); @@ -234,7 +234,7 @@ var await_a_promise: anyframe = undefined; var await_final_result: i32 = 0; test "coroutine await" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO await_seq('a'); @@ -274,7 +274,7 @@ fn await_seq(c: u8) void { var early_final_result: i32 = 0; test "coroutine await early return" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO early_seq('a'); @@ -305,7 +305,7 @@ fn early_seq(c: u8) void { } test "async function with dot syntax" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -321,7 +321,7 @@ test "async function with dot syntax" { } test "async fn pointer in a struct field" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO var data: i32 = 1; @@ -349,7 +349,7 @@ fn simpleAsyncFn2(y: *i32) callconv(.Async) void { } test "@asyncCall with return type" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const Foo = struct { @@ -376,7 +376,7 @@ test "@asyncCall with return type" { } test "async fn with inferred error set" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -409,7 +409,7 @@ test "async fn with inferred error set" { } test "error return trace across suspend points - early return" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const p = nonFailing(); @@ -419,7 +419,7 @@ test "error return trace across suspend points - early return" { } test "error return trace across suspend points - async return" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const p = nonFailing(); @@ -452,7 +452,7 @@ fn printTrace(p: anyframe->(anyerror!void)) callconv(.Async) void { } test "break from suspend" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO var my_result: i32 = 1; @@ -470,7 +470,7 @@ fn testBreakFromSuspend(my_result: *i32) callconv(.Async) void { } test "heap allocated async function frame" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -497,7 +497,7 @@ test "heap allocated async function frame" { } test "async function call return value" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -541,7 +541,7 @@ test "async function call return value" { } test "suspension points inside branching control flow" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -570,7 +570,7 @@ test "suspension points inside branching control flow" { } test "call async function which has struct return type" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -606,7 +606,7 @@ test "call async function which has struct return type" { } test "pass string literal to async function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -630,7 +630,7 @@ test "pass string literal to async function" { } test "await inside an errdefer" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -656,7 +656,7 @@ test "await inside an errdefer" { } test "try in an async function with error union and non-zero-bit payload" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -689,7 +689,7 @@ test "try in an async function with error union and non-zero-bit payload" { } test "returning a const error from async function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -723,7 +723,7 @@ test "returning a const error from async function" { } test "async/await typical usage" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO inline for ([_]bool{ false, true }) |b1| { @@ -821,7 +821,7 @@ fn testAsyncAwaitTypicalUsage( } test "alignment of local variables in async functions" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -836,7 +836,7 @@ test "alignment of local variables in async functions" { } test "no reason to resolve frame still works" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO _ = async simpleNothing(); @@ -847,7 +847,7 @@ fn simpleNothing() void { } test "async call a generic function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -870,7 +870,7 @@ test "async call a generic function" { } test "return from suspend block" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -887,7 +887,7 @@ test "return from suspend block" { } test "struct parameter to async function is copied to the frame" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -934,7 +934,7 @@ test "struct parameter to async function is copied to the frame" { } test "cast fn to async fn when it is inferred to be async" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -965,7 +965,7 @@ test "cast fn to async fn when it is inferred to be async" { } test "cast fn to async fn when it is inferred to be async, awaited directly" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -995,7 +995,7 @@ test "cast fn to async fn when it is inferred to be async, awaited directly" { } test "await does not force async if callee is blocking" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1008,7 +1008,7 @@ test "await does not force async if callee is blocking" { } test "recursive async function" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO try expect(recursiveAsyncFunctionTest(false).doTheTest() == 55); @@ -1073,7 +1073,7 @@ fn recursiveAsyncFunctionTest(comptime suspending_implementation: bool) type { } test "@asyncCall with comptime-known function, but not awaited directly" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1105,7 +1105,7 @@ test "@asyncCall with comptime-known function, but not awaited directly" { } test "@asyncCall with actual frame instead of byte buffer" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1122,7 +1122,7 @@ test "@asyncCall with actual frame instead of byte buffer" { } test "@asyncCall using the result location inside the frame" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1152,7 +1152,7 @@ test "@asyncCall using the result location inside the frame" { } test "@TypeOf an async function call of generic fn with error union type" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1166,7 +1166,7 @@ test "@TypeOf an async function call of generic fn with error union type" { } test "using @TypeOf on a generic function call" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1194,7 +1194,7 @@ test "using @TypeOf on a generic function call" { } test "recursive call of await @asyncCall with struct return type" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1233,7 +1233,7 @@ test "recursive call of await @asyncCall with struct return type" { } test "nosuspend function call" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1252,7 +1252,7 @@ test "nosuspend function call" { } test "await used in expression and awaiting fn with no suspend but async calling convention" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1271,7 +1271,7 @@ test "await used in expression and awaiting fn with no suspend but async calling } test "await used in expression after a fn call" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1292,7 +1292,7 @@ test "await used in expression after a fn call" { } test "async fn call used in expression after a fn call" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1312,7 +1312,7 @@ test "async fn call used in expression after a fn call" { } test "suspend in for loop" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1341,7 +1341,7 @@ test "suspend in for loop" { } test "suspend in while loop" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1381,7 +1381,7 @@ test "suspend in while loop" { } test "correctly spill when returning the error union result of another async fn" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1407,7 +1407,7 @@ test "correctly spill when returning the error union result of another async fn" } test "spill target expr in a for loop" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1441,7 +1441,7 @@ test "spill target expr in a for loop" { } test "spill target expr in a for loop, with a var decl in the loop body" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1480,7 +1480,7 @@ test "spill target expr in a for loop, with a var decl in the loop body" { } test "async call with @call" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1505,7 +1505,7 @@ test "async call with @call" { } test "async function passed 0-bit arg after non-0-bit arg" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1529,7 +1529,7 @@ test "async function passed 0-bit arg after non-0-bit arg" { } test "async function passed align(16) arg after align(8) arg" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1554,7 +1554,7 @@ test "async function passed align(16) arg after align(8) arg" { } test "async function call resolves target fn frame, comptime func" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1579,7 +1579,7 @@ test "async function call resolves target fn frame, comptime func" { } test "async function call resolves target fn frame, runtime func" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1605,7 +1605,7 @@ test "async function call resolves target fn frame, runtime func" { } test "properly spill optional payload capture value" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1632,7 +1632,7 @@ test "properly spill optional payload capture value" { } test "handle defer interfering with return value spill" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1675,7 +1675,7 @@ test "handle defer interfering with return value spill" { } test "take address of temporary async frame" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1707,7 +1707,7 @@ test "take address of temporary async frame" { } test "nosuspend await" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1731,7 +1731,7 @@ test "nosuspend await" { } test "nosuspend on function calls" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S0 = struct { @@ -1750,7 +1750,7 @@ test "nosuspend on function calls" { } test "nosuspend on async function calls" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S0 = struct { @@ -1771,7 +1771,7 @@ test "nosuspend on async function calls" { } // test "resume nosuspend async function calls" { -// if (builtin.zig_backend != .stage1) return error.SkipZigTest; // if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO +// if (true) return error.SkipZigTest; // if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO // const S0 = struct { // b: i32 = 42, // }; @@ -1794,7 +1794,7 @@ test "nosuspend on async function calls" { // } test "nosuspend resume async function calls" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S0 = struct { @@ -1819,7 +1819,7 @@ test "nosuspend resume async function calls" { } test "avoid forcing frame alignment resolution implicit cast to *anyopaque" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const S = struct { @@ -1838,7 +1838,7 @@ test "avoid forcing frame alignment resolution implicit cast to *anyopaque" { } test "@asyncCall with pass-by-value arguments" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const F0: u64 = 0xbeefbeefbeefbeef; @@ -1874,7 +1874,7 @@ test "@asyncCall with pass-by-value arguments" { } test "@asyncCall with arguments having non-standard alignment" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO if (builtin.os.tag == .wasi) return error.SkipZigTest; // TODO const F0: u64 = 0xbeefbeef; diff --git a/test/behavior/atomics.zig b/test/behavior/atomics.zig index 1fca1f6ea2..094be62bc7 100644 --- a/test/behavior/atomics.zig +++ b/test/behavior/atomics.zig @@ -151,9 +151,7 @@ test "cmpxchg on a global variable" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and - builtin.cpu.arch == .aarch64) - { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { // https://github.com/ziglang/zig/issues/10627 return error.SkipZigTest; } @@ -220,8 +218,8 @@ test "atomicrmw with floats" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm or - builtin.zig_backend == .stage2_c) and builtin.cpu.arch == .aarch64) + if ((builtin.zig_backend == .stage2_llvm or builtin.zig_backend == .stage2_c) and + builtin.cpu.arch == .aarch64) { // https://github.com/ziglang/zig/issues/10627 return error.SkipZigTest; diff --git a/test/behavior/await_struct.zig b/test/behavior/await_struct.zig index 8e1cae1135..bc1420f96a 100644 --- a/test/behavior/await_struct.zig +++ b/test/behavior/await_struct.zig @@ -10,7 +10,7 @@ var await_a_promise: anyframe = undefined; var await_final_result = Foo{ .x = 0 }; test "coroutine await struct" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (true) return error.SkipZigTest; // TODO await_seq('a'); var p = async await_amain(); diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig index 80df087920..d5f7d92d9d 100644 --- a/test/behavior/basic.zig +++ b/test/behavior/basic.zig @@ -198,11 +198,6 @@ const OpaqueA = opaque {}; const OpaqueB = opaque {}; test "opaque types" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the type names wrong - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO try expect(*OpaqueA != *OpaqueB); @@ -290,7 +285,6 @@ fn fB() []const u8 { test "call function pointer in struct" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage1) return error.SkipZigTest; try expect(mem.eql(u8, f3(true), "a")); try expect(mem.eql(u8, f3(false), "b")); @@ -329,7 +323,6 @@ fn copy(src: *const u64, dst: *u64) void { } test "call result of if else expression" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 has different function pointers if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -573,22 +566,16 @@ fn emptyFn() void {} const addr1 = @ptrCast(*const u8, &emptyFn); test "comptime cast fn to ptr" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const addr2 = @ptrCast(*const u8, &emptyFn); comptime try expect(addr1 == addr2); } test "equality compare fn ptrs" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - var a = &emptyFn; try expect(a == a); } test "self reference through fn ptr field" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const S = struct { const A = struct { f: *const fn (A) u8, @@ -783,10 +770,6 @@ test "auto created variables have correct alignment" { } test "extern variable with non-pointer opaque type" { - if (builtin.zig_backend == .stage1) { - // Regressed with LLVM 14 - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -963,7 +946,7 @@ test "array type comes from generic function" { } test "generic function uses return type of other generic function" { - if (builtin.zig_backend != .stage1) { + if (true) { // This test has been failing sporadically on the CI. // It's not enough to verify that it works locally; we need to diagnose why // it fails on the CI sometimes before turning it back on. @@ -1067,7 +1050,6 @@ test "inline call of function with a switch inside the return statement" { } test "namespace lookup ignores decl causing the lookup" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO diff --git a/test/behavior/bitcast.zig b/test/behavior/bitcast.zig index 8b180f6d0b..94e74c3ddf 100644 --- a/test/behavior/bitcast.zig +++ b/test/behavior/bitcast.zig @@ -155,10 +155,6 @@ test "bitcast generates a temporary value" { } test "@bitCast packed structs at runtime and comptime" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the wrong answer for a lot of targets - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -323,7 +319,6 @@ test "@bitCast packed struct of floats" { } test "comptime @bitCast packed struct to int and back" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -377,8 +372,7 @@ test "comptime bitcast with fields following f80" { } test "bitcast vector to integer and back" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO: https://github.com/ziglang/zig/issues/13220 - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 gets the comptime cast wrong + if (true) return error.SkipZigTest; // TODO: https://github.com/ziglang/zig/issues/13220 const arr: [16]bool = [_]bool{ true, false } ++ [_]bool{true} ** 14; var x = @splat(16, true); diff --git a/test/behavior/bitreverse.zig b/test/behavior/bitreverse.zig index d834f09cae..4691781e00 100644 --- a/test/behavior/bitreverse.zig +++ b/test/behavior/bitreverse.zig @@ -5,8 +5,6 @@ const minInt = std.math.minInt; test "@bitReverse large exotic integer" { if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; - // Currently failing on stage1 for big-endian targets - if (builtin.zig_backend == .stage1) return error.SkipZigTest; try expect(@bitReverse(@as(u95, 0x123456789abcdef111213141)) == 0x4146424447bd9eac8f351624); } @@ -96,7 +94,6 @@ fn vector8() !void { } test "bitReverse vectors u8" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -115,7 +112,6 @@ fn vector16() !void { } test "bitReverse vectors u16" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -134,7 +130,6 @@ fn vector24() !void { } test "bitReverse vectors u24" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -153,7 +148,6 @@ fn vector0() !void { } test "bitReverse vectors u0" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/bugs/10147.zig b/test/behavior/bugs/10147.zig index 221120bb73..48cfe983de 100644 --- a/test/behavior/bugs/10147.zig +++ b/test/behavior/bugs/10147.zig @@ -1,8 +1,7 @@ const builtin = @import("builtin"); const std = @import("std"); -test "uses correct LLVM builtin" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; +test "test calling @clz on both vector and scalar inputs" { if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -11,8 +10,6 @@ test "uses correct LLVM builtin" { var x: u32 = 0x1; var y: @Vector(4, u32) = [_]u32{ 0x1, 0x1, 0x1, 0x1 }; - // The stage1 compiler used to call the same builtin function for both - // scalar and vector inputs, causing the LLVM module verification to fail. var a = @clz(x); var b = @clz(y); try std.testing.expectEqual(@as(u6, 31), a); diff --git a/test/behavior/bugs/11159.zig b/test/behavior/bugs/11159.zig index 035ea103d9..352491fefc 100644 --- a/test/behavior/bugs/11159.zig +++ b/test/behavior/bugs/11159.zig @@ -8,8 +8,6 @@ test { } test { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO - const S = struct { comptime x: i32 = 0, comptime y: u32 = 0, diff --git a/test/behavior/bugs/11162.zig b/test/behavior/bugs/11162.zig index 7a512463e2..6b4cef78e7 100644 --- a/test/behavior/bugs/11162.zig +++ b/test/behavior/bugs/11162.zig @@ -2,9 +2,8 @@ const std = @import("std"); const builtin = @import("builtin"); const expect = std.testing.expect; -test "aggregate initializers should allow initializing comptime fields, verifying equality (stage2 only)" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO +test "aggregate initializers should allow initializing comptime fields, verifying equality" { + if (true) return error.SkipZigTest; // TODO var x: u32 = 15; const T = @TypeOf(.{ @as(i32, -1234), @as(u32, 5678), x }); diff --git a/test/behavior/bugs/11227.zig b/test/behavior/bugs/11227.zig index 2699b54247..b65a64c69c 100644 --- a/test/behavior/bugs/11227.zig +++ b/test/behavior/bugs/11227.zig @@ -6,8 +6,6 @@ fn foo() u32 { } const bar = foo; test "pointer to alias behaves same as pointer to function" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 has different function pointers - var a = &bar; try std.testing.expect(foo() == a()); } diff --git a/test/behavior/bugs/11816.zig b/test/behavior/bugs/11816.zig index 5b6c9bd319..639212e098 100644 --- a/test/behavior/bugs/11816.zig +++ b/test/behavior/bugs/11816.zig @@ -3,7 +3,6 @@ const builtin = @import("builtin"); test { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage1) return error.SkipZigTest; var x: u32 = 3; const val: usize = while (true) switch (x) { diff --git a/test/behavior/bugs/12486.zig b/test/behavior/bugs/12486.zig index 1c7f09406c..f0d357efd1 100644 --- a/test/behavior/bugs/12486.zig +++ b/test/behavior/bugs/12486.zig @@ -23,8 +23,6 @@ const ErrStruct = struct { }; test { - if (@import("builtin").zig_backend == .stage1) return error.SkipZigTest; - _ = OptEnum{ .opt_enum = .{ .EnumVariant = 1, diff --git a/test/behavior/bugs/12723.zig b/test/behavior/bugs/12723.zig index 6768444545..81e276218a 100644 --- a/test/behavior/bugs/12723.zig +++ b/test/behavior/bugs/12723.zig @@ -1,8 +1,5 @@ const expect = @import("std").testing.expect; -// This test causes a compile error on stage1 regardless of whether -// the body of the test is comptime-gated or not. To workaround this, -// we gate the inclusion of the test file. test "Non-exhaustive enum backed by comptime_int" { const E = enum(comptime_int) { a, b, c, _ }; comptime var e: E = .a; diff --git a/test/behavior/bugs/1277.zig b/test/behavior/bugs/1277.zig index 595a8273f8..e8ebd48881 100644 --- a/test/behavior/bugs/1277.zig +++ b/test/behavior/bugs/1277.zig @@ -12,7 +12,6 @@ fn f() i32 { } test "don't emit an LLVM global for a const function when it's in an optional in a struct" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 has different function pointers if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/bugs/12801-1.zig b/test/behavior/bugs/12801-1.zig index b1f565e47f..ff94382d1f 100644 --- a/test/behavior/bugs/12801-1.zig +++ b/test/behavior/bugs/12801-1.zig @@ -8,7 +8,6 @@ fn capacity_() u64 { test { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage1) return error.SkipZigTest; try std.testing.expect((@This(){}).capacity() == 64); } diff --git a/test/behavior/bugs/12801-2.zig b/test/behavior/bugs/12801-2.zig index 298e4f96c1..f98fcfbcff 100644 --- a/test/behavior/bugs/12801-2.zig +++ b/test/behavior/bugs/12801-2.zig @@ -14,7 +14,6 @@ const Auto = struct { } }; test { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/bugs/12885.zig b/test/behavior/bugs/12885.zig index f1cc8f94b3..2a802efd04 100644 --- a/test/behavior/bugs/12885.zig +++ b/test/behavior/bugs/12885.zig @@ -11,8 +11,6 @@ const Foo = @Type(.{ .ErrorSet = &info.args, }); test "ErrorSet comptime_field_ptr" { - if (@import("builtin").zig_backend == .stage1) return error.SkipZigTest; - try expect(Foo == error{bar}); } diff --git a/test/behavior/bugs/12891.zig b/test/behavior/bugs/12891.zig index 6fa4966c4a..e558783705 100644 --- a/test/behavior/bugs/12891.zig +++ b/test/behavior/bugs/12891.zig @@ -7,8 +7,6 @@ test "issue12891" { try std.testing.expect(i < f); } test "nan" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO - const f = comptime std.math.nan(f64); var i: usize = 0; try std.testing.expect(!(f < i)); diff --git a/test/behavior/bugs/12911.zig b/test/behavior/bugs/12911.zig index 13e2dc19e4..acd725fbeb 100644 --- a/test/behavior/bugs/12911.zig +++ b/test/behavior/bugs/12911.zig @@ -5,7 +5,5 @@ const Thing = struct { array: [1]Item, }; test { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - _ = Thing{ .array = undefined }; } diff --git a/test/behavior/bugs/1310.zig b/test/behavior/bugs/1310.zig index 9d93dacca2..876ab79431 100644 --- a/test/behavior/bugs/1310.zig +++ b/test/behavior/bugs/1310.zig @@ -22,7 +22,6 @@ fn agent_callback(_vm: [*]VM, options: [*]u8) callconv(.C) i32 { return 11; } -test "fixed" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; +test { try expect(agent_callback(undefined, undefined) == 11); } diff --git a/test/behavior/bugs/2006.zig b/test/behavior/bugs/2006.zig index ff759f2846..fbbdc1e3b7 100644 --- a/test/behavior/bugs/2006.zig +++ b/test/behavior/bugs/2006.zig @@ -9,12 +9,5 @@ test "bug 2006" { var a: S = undefined; a = S{ .p = undefined }; try expect(@sizeOf(S) != 0); - if (@import("builtin").zig_backend != .stage1) { - // It is an accepted proposal to make `@sizeOf` for pointers independent - // of whether the element type is zero bits. - // This language change has not been implemented in stage1. - try expect(@sizeOf(*void) == @sizeOf(*i32)); - } else { - try expect(@sizeOf(*void) == 0); - } + try expect(@sizeOf(*void) == @sizeOf(*i32)); } diff --git a/test/behavior/bugs/3112.zig b/test/behavior/bugs/3112.zig index 91432325fd..64e089bc36 100644 --- a/test/behavior/bugs/3112.zig +++ b/test/behavior/bugs/3112.zig @@ -13,7 +13,6 @@ fn prev(p: ?State) void { test "zig test crash" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; var global: State = undefined; global.enter = prev; diff --git a/test/behavior/bugs/3779.zig b/test/behavior/bugs/3779.zig index dc906442a6..1f55a32038 100644 --- a/test/behavior/bugs/3779.zig +++ b/test/behavior/bugs/3779.zig @@ -6,7 +6,6 @@ const tag_name = @tagName(TestEnum.TestEnumValue); const ptr_tag_name: [*:0]const u8 = tag_name; test "@tagName() returns a string literal" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 gets the type wrong if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO try std.testing.expect(*const [13:0]u8 == @TypeOf(tag_name)); @@ -19,7 +18,6 @@ const error_name = @errorName(TestError.TestErrorCode); const ptr_error_name: [*:0]const u8 = error_name; test "@errorName() returns a string literal" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 gets the type wrong if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO try std.testing.expect(*const [13:0]u8 == @TypeOf(error_name)); @@ -32,7 +30,6 @@ const type_name = @typeName(TestType); const ptr_type_name: [*:0]const u8 = type_name; test "@typeName() returns a string literal" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 gets the type wrong if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO try std.testing.expect(*const [type_name.len:0]u8 == @TypeOf(type_name)); diff --git a/test/behavior/bugs/6850.zig b/test/behavior/bugs/6850.zig index 7bab4d347a..6dafd524c5 100644 --- a/test/behavior/bugs/6850.zig +++ b/test/behavior/bugs/6850.zig @@ -8,11 +8,5 @@ test "lazy sizeof comparison with zero" { } fn hasNoBits(comptime T: type) bool { - if (@import("builtin").zig_backend != .stage1) { - // It is an accepted proposal to make `@sizeOf` for pointers independent - // of whether the element type is zero bits. - // This language change has not been implemented in stage1. - return @sizeOf(T) == @sizeOf(*i32); - } - return @sizeOf(T) == 0; + return @sizeOf(T) == @sizeOf(*i32); } diff --git a/test/behavior/bugs/920.zig b/test/behavior/bugs/920.zig index 36895c7282..526ca0f7e6 100644 --- a/test/behavior/bugs/920.zig +++ b/test/behavior/bugs/920.zig @@ -2,23 +2,14 @@ const builtin = @import("builtin"); const std = @import("std"); const Random = std.rand.Random; -const zeroCaseFn = switch (builtin.zig_backend) { - .stage1 => fn (*Random, f64) f64, - else => *const fn (*Random, f64) f64, -}; -const pdfFn = switch (builtin.zig_backend) { - .stage1 => fn (f64) f64, - else => *const fn (f64) f64, -}; - const ZigTable = struct { r: f64, x: [257]f64, f: [257]f64, - pdf: pdfFn, + pdf: *const fn (f64) f64, is_symmetric: bool, - zero_case: zeroCaseFn, + zero_case: *const fn (*Random, f64) f64, }; fn ZigTableGen(comptime is_symmetric: bool, comptime r: f64, comptime v: f64, comptime f: fn (f64) f64, comptime f_inv: fn (f64) f64, comptime zero_case: fn (*Random, f64) f64) ZigTable { diff --git a/test/behavior/byteswap.zig b/test/behavior/byteswap.zig index 8de75a572c..831cb2e7a2 100644 --- a/test/behavior/byteswap.zig +++ b/test/behavior/byteswap.zig @@ -3,7 +3,6 @@ const builtin = @import("builtin"); const expect = std.testing.expect; test "@byteSwap integers" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -62,7 +61,6 @@ fn vector8() !void { } test "@byteSwap vectors u8" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -81,7 +79,6 @@ fn vector16() !void { } test "@byteSwap vectors u16" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -100,7 +97,6 @@ fn vector24() !void { } test "@byteSwap vectors u24" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; @@ -119,7 +115,6 @@ fn vector0() !void { } test "@byteSwap vectors u0" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/call.zig b/test/behavior/call.zig index 0414e1d575..7b3035b322 100644 --- a/test/behavior/call.zig +++ b/test/behavior/call.zig @@ -45,10 +45,7 @@ test "basic invocations" { } { // call of non comptime-known function - var alias_foo = switch (builtin.zig_backend) { - .stage1 => foo, - else => &foo, - }; + var alias_foo = &foo; try expect(@call(.{ .modifier = .no_async }, alias_foo, .{}) == 1234); try expect(@call(.{ .modifier = .never_tail }, alias_foo, .{}) == 1234); try expect(@call(.{ .modifier = .never_inline }, alias_foo, .{}) == 1234); @@ -71,7 +68,9 @@ test "tuple parameters" { try expect(@call(.{}, add, .{ 12, b }) == 46); try expect(@call(.{}, add, .{ a, b }) == 46); try expect(@call(.{}, add, .{ 12, 34 }) == 46); - if (builtin.zig_backend == .stage1) comptime try expect(@call(.{}, add, .{ 12, 34 }) == 46); // TODO + if (false) { + comptime try expect(@call(.{}, add, .{ 12, 34 }) == 46); // TODO + } try expect(comptime @call(.{}, add, .{ 12, 34 }) == 46); { const separate_args0 = .{ a, b }; @@ -246,8 +245,6 @@ test "function call with 40 arguments" { } test "arguments to comptime parameters generated in comptime blocks" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const S = struct { fn fortyTwo() i32 { return 42; @@ -261,7 +258,6 @@ test "arguments to comptime parameters generated in comptime blocks" { } test "forced tail call" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO @@ -294,7 +290,6 @@ test "forced tail call" { } test "inline call preserves tail call" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO @@ -329,7 +324,6 @@ test "inline call preserves tail call" { } test "inline call doesn't re-evaluate non generic struct" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index bf35fd069c..16d4b511cf 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -113,8 +113,6 @@ test "@intToFloat" { } test "@intToFloat(f80)" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -699,11 +697,6 @@ test "peer type resolution: error set supersets" { } test "peer type resolution: disjoint error sets" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the order of the error names wrong after merging the sets. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -733,11 +726,6 @@ test "peer type resolution: disjoint error sets" { } test "peer type resolution: error union and error set" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the order of the error names wrong after merging the sets. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1080,7 +1068,6 @@ fn incrementVoidPtrArray(array: ?*anyopaque, len: usize) void { } test "compile time int to ptr of function" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO try foobar(FUNCTION_CONSTANT); @@ -1421,8 +1408,6 @@ test "floatToInt to zero-bit int" { } test "peer type resolution of function pointer and function body" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const T = fn () u32; const a: T = undefined; const b: *const T = undefined; diff --git a/test/behavior/comptime_memory.zig b/test/behavior/comptime_memory.zig index f9c0073d34..e08dad68f0 100644 --- a/test/behavior/comptime_memory.zig +++ b/test/behavior/comptime_memory.zig @@ -4,8 +4,6 @@ const testing = @import("std").testing; const ptr_size = @sizeOf(usize); test "type pun signed and unsigned as single pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - comptime { var x: u32 = 0; const y = @ptrCast(*i32, &x); @@ -15,8 +13,6 @@ test "type pun signed and unsigned as single pointer" { } test "type pun signed and unsigned as many pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - comptime { var x: u32 = 0; const y = @ptrCast([*]i32, &x); @@ -26,8 +22,6 @@ test "type pun signed and unsigned as many pointer" { } test "type pun signed and unsigned as array pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - comptime { var x: u32 = 0; const y = @ptrCast(*[1]i32, &x); @@ -37,8 +31,7 @@ test "type pun signed and unsigned as array pointer" { } test "type pun signed and unsigned as offset many pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -53,8 +46,7 @@ test "type pun signed and unsigned as offset many pointer" { } test "type pun signed and unsigned as array pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -69,8 +61,6 @@ test "type pun signed and unsigned as array pointer" { } test "type pun value and struct" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - comptime { const StructOfU32 = extern struct { x: u32 }; var inst: StructOfU32 = .{ .x = 0 }; @@ -85,7 +75,6 @@ fn bigToNativeEndian(comptime T: type, v: T) T { return if (endian == .Big) v else @byteSwap(v); } test "type pun endianness" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO comptime { @@ -179,8 +168,7 @@ fn doTypePunBitsTest(as_bits: *Bits) !void { } test "type pun bits" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -197,8 +185,7 @@ const imports = struct { // Make sure lazy values work on their own, before getting into more complex tests test "basic pointer preservation" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -211,8 +198,7 @@ test "basic pointer preservation" { } test "byte copy preserves linker value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -235,8 +221,7 @@ test "byte copy preserves linker value" { } test "unordered byte copy preserves linker value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -260,8 +245,7 @@ test "unordered byte copy preserves linker value" { } test "shuffle chunks of linker value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -279,8 +263,7 @@ test "shuffle chunks of linker value" { } test "dance on linker values" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -311,8 +294,7 @@ test "dance on linker values" { } test "offset array ptr by element size" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -339,8 +321,7 @@ test "offset array ptr by element size" { } test "offset instance by field size" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -365,8 +346,7 @@ test "offset instance by field size" { } test "offset field ptr by enclosing array element size" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend != .stage1) { + if (true) { // TODO https://github.com/ziglang/zig/issues/9646 return error.SkipZigTest; } @@ -395,7 +375,6 @@ test "offset field ptr by enclosing array element size" { } test "accessing reinterpreted memory of parent object" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const S = extern struct { a: f32, diff --git a/test/behavior/error.zig b/test/behavior/error.zig index 25feb101bc..430a2e1950 100644 --- a/test/behavior/error.zig +++ b/test/behavior/error.zig @@ -151,7 +151,6 @@ test "fn returning empty error set can be passed as fn returning any error" { } test "fn returning empty error set can be passed as fn returning any error - pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -465,11 +464,6 @@ test "nested catch" { } test "function pointer with return type that is error union with payload which is pointer of parent struct" { - if (builtin.zig_backend == .stage1) { - // stage1 has wrong function pointer semantics - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -582,9 +576,6 @@ pub fn testBuiltinErrorName(err: anyerror) [:0]const u8 { } test "error set equality" { - // This tests using stage2 logic (#11022) - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const a = error{One}; const b = error{One}; @@ -752,7 +743,6 @@ const NoReturn = struct { }; test "error union of noreturn used with if" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO @@ -767,7 +757,6 @@ test "error union of noreturn used with if" { } test "error union of noreturn used with try" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO @@ -779,7 +768,6 @@ test "error union of noreturn used with try" { } test "error union of noreturn used with catch" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO @@ -807,7 +795,6 @@ test "alignment of wrapping an error union payload" { } test "compare error union and error set" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; var a: anyerror = error.Foo; @@ -857,8 +844,6 @@ test "error from comptime string" { } test "field access of anyerror results in smaller error set" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const E1 = @TypeOf(error.Foo); try expect(@TypeOf(E1.Foo) == E1); const E2 = error{ A, B, C }; diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig index 145be9dede..74ab913ae1 100644 --- a/test/behavior/eval.zig +++ b/test/behavior/eval.zig @@ -606,15 +606,16 @@ fn assertEqualPtrs(ptr1: *const u8, ptr2: *const u8) !void { // This one is still up for debate in the language specification. // Application code should not rely on this behavior until it is solidified. -// Currently, stage1 has special case code to make this pass for string literals -// but it does not work if the values are constructed with comptime code, or if +// Historically, stage1 had special case code to make this pass for string literals +// but it did not work if the values are constructed with comptime code, or if // arrays of non-u8 elements are used instead. // The official language specification might not make this guarantee. However, if // it does make this guarantee, it will make it consistently for all types, not -// only string literals. This is why stage2 currently has a string table for -// string literals, to match stage1 and pass this test, however the end-game once -// the lang spec issue is settled would be to use a global InternPool for comptime -// memoized objects, making this behavior consistent across all types. +// only string literals. This is why Zig currently has a string table for +// string literals, to match legacy stage1 behavior and pass this test, however +// the end-game once the lang spec issue is settled would be to use a global +// InternPool for comptime memoized objects, making this behavior consistent +// across all types. test "string literal used as comptime slice is memoized" { const a = "link"; const b = "link"; @@ -742,7 +743,6 @@ fn scalar(x: u32) u32 { } test "array concatenation peer resolves element types - value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -758,7 +758,6 @@ test "array concatenation peer resolves element types - value" { } test "array concatenation peer resolves element types - pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -774,7 +773,6 @@ test "array concatenation peer resolves element types - pointer" { } test "array concatenation sets the sentinel - value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -794,7 +792,6 @@ test "array concatenation sets the sentinel - value" { } test "array concatenation sets the sentinel - pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; var a = [2]u3{ 1, 7 }; @@ -811,7 +808,6 @@ test "array concatenation sets the sentinel - pointer" { } test "array multiplication sets the sentinel - value" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -829,7 +825,6 @@ test "array multiplication sets the sentinel - value" { } test "array multiplication sets the sentinel - pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -894,8 +889,6 @@ test "const type-annotated local initialized with function call has correct type } test "comptime pointer load through elem_ptr" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // stage1 fails this test - const S = struct { x: usize, }; @@ -1038,7 +1031,6 @@ test "comptime break operand passing through runtime condition converted to runt } test "comptime break operand passing through runtime switch converted to runtime break" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const S = struct { @@ -1294,8 +1286,6 @@ test "repeated value is correctly expanded" { } test "value in if block is comptime-known" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const first = blk: { const s = if (false) "a" else "b"; break :blk "foo" ++ s; @@ -1330,8 +1320,6 @@ test "lazy value is resolved as slice operand" { } test "break from inline loop depends on runtime condition" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const S = struct { fn foo(a: u8) bool { return a == 4; @@ -1405,7 +1393,7 @@ test "length of global array is determinable at comptime" { test "continue nested inline for loop" { // TODO: https://github.com/ziglang/zig/issues/13175 - if (builtin.zig_backend != .stage1) return error.SkipZigTest; + if (true) return error.SkipZigTest; var a: u8 = 0; loop: inline for ([_]u8{ 1, 2 }) |x| { @@ -1422,7 +1410,7 @@ test "continue nested inline for loop" { test "continue nested inline for loop in named block expr" { // TODO: https://github.com/ziglang/zig/issues/13175 - if (builtin.zig_backend != .stage1) return error.SkipZigTest; + if (true) return error.SkipZigTest; var a: u8 = 0; loop: inline for ([_]u8{ 1, 2 }) |x| { diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig index 80b3c0bc74..74a99723e8 100644 --- a/test/behavior/floatop.zig +++ b/test/behavior/floatop.zig @@ -114,7 +114,7 @@ fn testSqrt() !void { try expect(math.approxEqAbs(f32, @sqrt(@as(f32, 1.1)), 1.0488088481701516, epsilon)); try expect(math.approxEqAbs(f32, @sqrt(@as(f32, 2.0)), 1.4142135623730950, epsilon)); - if (builtin.zig_backend == .stage1) { + if (false) { if (has_f80_rt) { // TODO https://github.com/ziglang/zig/issues/10875 if (builtin.os.tag != .freebsd) { @@ -181,10 +181,6 @@ test "more @sqrt f16 tests" { } test "@sin" { - if (builtin.zig_backend == .stage1) { - // stage1 emits an incorrect compile error for `@as(ty, std.math.pi / 2)` - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -205,7 +201,6 @@ fn testSin() !void { } test "@sin with vectors" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -226,10 +221,6 @@ fn testSinWithVectors() !void { } test "@cos" { - if (builtin.zig_backend == .stage1) { - // stage1 emits an incorrect compile error for `@as(ty, std.math.pi / 2)` - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -250,7 +241,6 @@ fn testCos() !void { } test "@cos with vectors" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -781,7 +771,6 @@ test "f128 at compile time is lossy" { } test "comptime fixed-width float zero divided by zero produces NaN" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -793,7 +782,6 @@ test "comptime fixed-width float zero divided by zero produces NaN" { } test "comptime fixed-width float non-zero divided by zero produces signed Inf" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -810,8 +798,6 @@ test "comptime fixed-width float non-zero divided by zero produces signed Inf" { } test "comptime_float zero divided by zero produces zero" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try expect((0.0 / 0.0) == 0.0); } diff --git a/test/behavior/fn.zig b/test/behavior/fn.zig index bb1dd2a0f6..3da17e0679 100644 --- a/test/behavior/fn.zig +++ b/test/behavior/fn.zig @@ -68,8 +68,6 @@ fn outer(y: u32) *const fn (u32) u32 { } test "return inner function which references comptime variable of outer function" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - var func = outer(10); try expect(func(3) == 7); } @@ -97,7 +95,6 @@ test "discard the result of a function that returns a struct" { } test "inline function call that calls optional function pointer, return pointer at callsite interacts correctly with callsite return type" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -145,7 +142,6 @@ fn fnWithUnreachable() noreturn { } test "extern struct with stdcallcc fn pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -293,11 +289,6 @@ fn acceptsString(foo: []u8) void { } test "function pointers" { - if (builtin.zig_backend == .stage1) { - // stage1 has wrong semantics for function pointers - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -415,7 +406,6 @@ test "import passed byref to function in return type" { } test "implicit cast function to function ptr" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig index 0d704d9680..79cbe9fda2 100644 --- a/test/behavior/generics.zig +++ b/test/behavior/generics.zig @@ -21,8 +21,8 @@ test "simple generic fn" { try expect(max(i32, 3, -1) == 3); try expect(max(u8, 1, 100) == 100); - if (builtin.zig_backend == .stage1) { - // TODO: stage2 is incorrectly emitting the following: + if (false) { + // TODO: zig is incorrectly emitting the following: // error: cast of value 1.23e-01 to type 'f32' loses information try expect(max(f32, 0.123, 0.456) == 0.456); } @@ -342,8 +342,6 @@ test "generic instantiation of tagged union with only one field" { } test "nested generic function" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const S = struct { fn foo(comptime T: type, callback: *const fn (user_data: T) anyerror!void, data: T) anyerror!void { try callback(data); diff --git a/test/behavior/int128.zig b/test/behavior/int128.zig index ceb63290cd..84c69ba499 100644 --- a/test/behavior/int128.zig +++ b/test/behavior/int128.zig @@ -29,8 +29,8 @@ test "undefined 128 bit int" { @setRuntimeSafety(true); - // TODO implement @setRuntimeSafety in stage2 - if (builtin.zig_backend != .stage1 and builtin.mode != .Debug and builtin.mode != .ReleaseSafe) { + // TODO implement @setRuntimeSafety + if (builtin.mode != .Debug and builtin.mode != .ReleaseSafe) { return error.SkipZigTest; } diff --git a/test/behavior/inttoptr.zig b/test/behavior/inttoptr.zig index d5f4503b03..d51f5c34f1 100644 --- a/test/behavior/inttoptr.zig +++ b/test/behavior/inttoptr.zig @@ -1,8 +1,6 @@ const builtin = @import("builtin"); test "casting integer address to function pointer" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - addressToFunction(); comptime addressToFunction(); } diff --git a/test/behavior/math.zig b/test/behavior/math.zig index 1c5d256408..e07a252a4e 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -94,7 +94,6 @@ fn testOneClz(comptime T: type, x: T) u32 { } test "@clz vectors" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -156,7 +155,6 @@ fn testOneCtz(comptime T: type, x: T) u32 { } test "@ctz vectors" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -971,8 +969,6 @@ test "overflow arithmetic with u0 values" { } test "allow signed integer division/remainder when values are comptime-known and positive or exact" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try expect(5 / 3 == 1); try expect(-5 / -3 == 1); try expect(-6 / 3 == -2); @@ -1009,14 +1005,8 @@ test "quad hex float literal parsing accurate" { try expect(@bitCast(u128, f) == 0x40042eab345678439abcdefea5678234); } { - // TODO: modify stage1/parse_f128.c to use round-to-even - if (builtin.zig_backend == .stage1) { - var f: f128 = 0x1.edcb34a235253948765432134674fp-1; - try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134674); // round-down - } else { - var f: f128 = 0x1.edcb34a235253948765432134674fp-1; - try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134675); // round-to-even - } + var f: f128 = 0x1.edcb34a235253948765432134674fp-1; + try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134675); // round-to-even } { var f: f128 = 0x1.353e45674d89abacc3a2ebf3ff4ffp-50; @@ -1270,7 +1260,8 @@ test "@sqrt" { try testSqrt(f16, 13.0); comptime try testSqrt(f16, 13.0); - if (builtin.zig_backend == .stage1) { + // TODO: make this pass + if (false) { const x = 14.0; const y = x * x; const z = @sqrt(y); diff --git a/test/behavior/member_func.zig b/test/behavior/member_func.zig index 61280a6b11..6c01868aea 100644 --- a/test/behavior/member_func.zig +++ b/test/behavior/member_func.zig @@ -27,7 +27,6 @@ const HasFuncs = struct { }; test "standard field calls" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -71,7 +70,6 @@ test "standard field calls" { } test "@field field calls" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; diff --git a/test/behavior/muladd.zig b/test/behavior/muladd.zig index 9dfab2ad85..7bfa57d978 100644 --- a/test/behavior/muladd.zig +++ b/test/behavior/muladd.zig @@ -47,7 +47,6 @@ test "@mulAdd f80" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_llvm and builtin.os.tag == .windows) return error.SkipZigTest; // https://github.com/ziglang/zig/issues/12602 comptime try testMulAdd80(); @@ -91,7 +90,6 @@ fn vector16() !void { } test "vector f16" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -115,7 +113,6 @@ fn vector32() !void { } test "vector f32" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -139,7 +136,6 @@ fn vector64() !void { } test "vector f64" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -162,7 +158,6 @@ fn vector80() !void { } test "vector f80" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -187,7 +182,6 @@ fn vector128() !void { } test "vector f128" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/optional.zig b/test/behavior/optional.zig index 014d7e117d..175cac52ef 100644 --- a/test/behavior/optional.zig +++ b/test/behavior/optional.zig @@ -377,8 +377,6 @@ const NoReturn = struct { }; test "optional of noreturn used with if" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - NoReturn.a = 64; if (NoReturn.loop()) |_| { @compileError("bad"); @@ -388,8 +386,6 @@ test "optional of noreturn used with if" { } test "optional of noreturn used with orelse" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - NoReturn.a = 64; const val = NoReturn.testOrelse(); try expect(val == 123); @@ -419,7 +415,6 @@ test "alignment of wrapping an optional payload" { } test "Optional slice size is optimized" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/packed-struct.zig b/test/behavior/packed-struct.zig index cbf66005d1..1ab44c2b11 100644 --- a/test/behavior/packed-struct.zig +++ b/test/behavior/packed-struct.zig @@ -5,38 +5,7 @@ const expect = std.testing.expect; const expectEqual = std.testing.expectEqual; const native_endian = builtin.cpu.arch.endian(); -test "correct size of packed structs" { - // Stage2 has different packed struct semantics. - if (builtin.zig_backend != .stage1) return error.SkipZigTest; - const T1 = packed struct { one: u8, three: [3]u8 }; - - try expectEqual(4, @sizeOf(T1)); - try expectEqual(4 * 8, @bitSizeOf(T1)); - - const T2 = packed struct { three: [3]u8, one: u8 }; - - try expectEqual(4, @sizeOf(T2)); - try expectEqual(4 * 8, @bitSizeOf(T2)); - - const T3 = packed struct { _1: u1, x: u7, _: u24 }; - - try expectEqual(4, @sizeOf(T3)); - try expectEqual(4 * 8, @bitSizeOf(T3)); - - const T4 = packed struct { _1: u1, x: u7, _2: u8, _3: u16 }; - - try expectEqual(4, @sizeOf(T4)); - try expectEqual(4 * 8, @bitSizeOf(T4)); - - const T5 = packed struct { _1: u1, x: u7, _2: u16, _3: u8 }; - - try expectEqual(4, @sizeOf(T5)); - try expectEqual(4 * 8, @bitSizeOf(T5)); -} - test "flags in packed structs" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const Flags1 = packed struct { // first 8 bits b0_0: u1, @@ -121,8 +90,6 @@ test "flags in packed structs" { } test "consistent size of packed structs" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - const TxData1 = packed struct { data: u8, _23: u23, full: bool = false }; const TxData2 = packed struct { data: u9, _22: u22, full: bool = false }; @@ -149,7 +116,6 @@ test "consistent size of packed structs" { } test "correct sizeOf and offsets in packed structs" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -218,7 +184,6 @@ test "correct sizeOf and offsets in packed structs" { } test "nested packed structs" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -285,7 +250,6 @@ test "regular in irregular packed struct" { } test "byte-aligned field pointer offsets" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -387,7 +351,6 @@ test "byte-aligned field pointer offsets" { } test "load pointer from packed struct" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; @@ -571,7 +534,6 @@ test "runtime init of unnamed packed struct type" { } test "packed struct passed to callconv(.C) function" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/packed_struct_explicit_backing_int.zig b/test/behavior/packed_struct_explicit_backing_int.zig index daed41a626..f103c9567d 100644 --- a/test/behavior/packed_struct_explicit_backing_int.zig +++ b/test/behavior/packed_struct_explicit_backing_int.zig @@ -5,7 +5,6 @@ const expectEqual = std.testing.expectEqual; const native_endian = builtin.cpu.arch.endian(); test "packed struct explicit backing integer" { - assert(builtin.zig_backend != .stage1); if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO diff --git a/test/behavior/pointers.zig b/test/behavior/pointers.zig index 43e62fdc93..2cd580aced 100644 --- a/test/behavior/pointers.zig +++ b/test/behavior/pointers.zig @@ -135,9 +135,6 @@ test "peer type resolution with C pointers" { } test "peer type resolution with C pointer and const pointer" { - // stage1 incorrectly resolves to [*]u8 - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - var ptr_c: [*c]u8 = undefined; const ptr_const: u8 = undefined; try expect(@TypeOf(ptr_c, &ptr_const) == [*c]const u8); diff --git a/test/behavior/popcount.zig b/test/behavior/popcount.zig index e061814692..376ed02c10 100644 --- a/test/behavior/popcount.zig +++ b/test/behavior/popcount.zig @@ -65,7 +65,6 @@ fn testPopCountIntegers() !void { } test "@popCount vectors" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/ptrcast.zig b/test/behavior/ptrcast.zig index 256a64c67b..b615e110f8 100644 --- a/test/behavior/ptrcast.zig +++ b/test/behavior/ptrcast.zig @@ -20,7 +20,6 @@ fn testReinterpretBytesAsInteger() !void { } test "reinterpret an array over multiple elements, with no well-defined layout" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -77,8 +76,6 @@ fn testReinterpretBytesAsExternStruct() !void { } test "reinterpret bytes of an extern struct (with under-aligned fields) into another" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try testReinterpretExternStructAsExternStruct(); comptime try testReinterpretExternStructAsExternStruct(); } @@ -101,8 +98,6 @@ fn testReinterpretExternStructAsExternStruct() !void { } test "reinterpret bytes of an extern struct into another" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try testReinterpretOverAlignedExternStructAsExternStruct(); comptime try testReinterpretOverAlignedExternStructAsExternStruct(); } @@ -127,7 +122,6 @@ fn testReinterpretOverAlignedExternStructAsExternStruct() !void { } test "lower reinterpreted comptime field ptr (with under-aligned fields)" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -151,7 +145,6 @@ test "lower reinterpreted comptime field ptr (with under-aligned fields)" { } test "lower reinterpreted comptime field ptr" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/saturating_arithmetic.zig b/test/behavior/saturating_arithmetic.zig index 6dff9a9112..0102a70661 100644 --- a/test/behavior/saturating_arithmetic.zig +++ b/test/behavior/saturating_arithmetic.zig @@ -149,10 +149,6 @@ test "saturating multiplication" { if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage1 and builtin.cpu.arch == .wasm32) { - // https://github.com/ziglang/zig/issues/9660 - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .wasm32) { // https://github.com/ziglang/zig/issues/9660 return error.SkipZigTest; diff --git a/test/behavior/select.zig b/test/behavior/select.zig index f731ded09e..2d76f6c14d 100644 --- a/test/behavior/select.zig +++ b/test/behavior/select.zig @@ -32,7 +32,6 @@ fn selectVectors() !void { } test "@select arrays" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO diff --git a/test/behavior/shuffle.zig b/test/behavior/shuffle.zig index 6c084b64d8..b1c4a3c841 100644 --- a/test/behavior/shuffle.zig +++ b/test/behavior/shuffle.zig @@ -71,7 +71,7 @@ test "@shuffle bool 2" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) { + if (builtin.zig_backend == .stage2_llvm) { // https://github.com/ziglang/zig/issues/3246 return error.SkipZigTest; } diff --git a/test/behavior/sizeof_and_typeof.zig b/test/behavior/sizeof_and_typeof.zig index 6f27d414d2..0cfaa9dcab 100644 --- a/test/behavior/sizeof_and_typeof.zig +++ b/test/behavior/sizeof_and_typeof.zig @@ -101,52 +101,6 @@ test "@offsetOf" { try expect(@ptrToInt(&a.i) - @ptrToInt(&a) == @offsetOf(A, "i")); } -test "@offsetOf packed struct, array length not power of 2 or multiple of native pointer width in bytes" { - // Stage2 has different packed struct semantics. - if (builtin.zig_backend != .stage1) return error.SkipZigTest; - const p3a_len = 3; - const P3 = packed struct { - a: [p3a_len]u8, - b: usize, - }; - try std.testing.expect(0 == @offsetOf(P3, "a")); - try std.testing.expect(p3a_len == @offsetOf(P3, "b")); - - const p5a_len = 5; - const P5 = packed struct { - a: [p5a_len]u8, - b: usize, - }; - try std.testing.expect(0 == @offsetOf(P5, "a")); - try std.testing.expect(p5a_len == @offsetOf(P5, "b")); - - const p6a_len = 6; - const P6 = packed struct { - a: [p6a_len]u8, - b: usize, - }; - try std.testing.expect(0 == @offsetOf(P6, "a")); - try std.testing.expect(p6a_len == @offsetOf(P6, "b")); - - const p7a_len = 7; - const P7 = packed struct { - a: [p7a_len]u8, - b: usize, - }; - try std.testing.expect(0 == @offsetOf(P7, "a")); - try std.testing.expect(p7a_len == @offsetOf(P7, "b")); - - const p9a_len = 9; - const P9 = packed struct { - a: [p9a_len]u8, - b: usize, - }; - try std.testing.expect(0 == @offsetOf(P9, "a")); - try std.testing.expect(p9a_len == @offsetOf(P9, "b")); - - // 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25 etc. are further cases -} - test "@bitOffsetOf" { // Packed structs have fixed memory layout try expect(@bitOffsetOf(P, "a") == 0); @@ -211,8 +165,6 @@ test "branching logic inside @TypeOf" { } test "@bitSizeOf" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try expect(@bitSizeOf(u2) == 2); try expect(@bitSizeOf(u8) == @sizeOf(u8) * 8); try expect(@bitSizeOf(struct { @@ -224,11 +176,6 @@ test "@bitSizeOf" { } test "@sizeOf comparison against zero" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the wrong answer for size of pointers to zero bit types - return error.SkipZigTest; - } - const S0 = struct { f: *@This(), }; diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig index 8d2c484b5f..88ccd2a10c 100644 --- a/test/behavior/slice.zig +++ b/test/behavior/slice.zig @@ -182,7 +182,6 @@ test "slicing zero length array" { const x = @intToPtr([*]i32, 0x1000)[0..0x500]; const y = x[0x100..]; test "compile time slice of pointer to hard coded address" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; try expect(@ptrToInt(x) == 0x1000); @@ -444,10 +443,7 @@ test "slice syntax resulting in pointer-to-array" { var array: [2]u8 = [2]u8{ 1, 2 }; var slice: ?[]u8 = &array; comptime try expect(@TypeOf(&array, slice) == ?[]u8); - if (builtin.zig_backend != .stage1) { - // stage1 is not passing this case - comptime try expect(@TypeOf(slice, &array) == ?[]u8); - } + comptime try expect(@TypeOf(slice, &array) == ?[]u8); comptime try expect(@TypeOf(slice.?[0..2]) == *[2]u8); } @@ -479,13 +475,7 @@ test "slice pointer-to-array null terminated" { var slice: [:0]u8 = &array; try expect(@TypeOf(slice[1..3]) == *[2]u8); try expect(@TypeOf(slice[1..3 :4]) == *[2:4]u8); - - if (builtin.zig_backend == .stage1) { - try expect(@TypeOf(slice[1..]) == [:0]u8); - } else { - // stage2 gives a more accurate, correct answer - try expect(@TypeOf(slice[1..]) == *[4:0]u8); - } + try expect(@TypeOf(slice[1..]) == *[4:0]u8); } var array = [5:0]u8{ 1, 2, 3, 4, 5 }; @@ -509,12 +499,7 @@ test "slice pointer-to-array zero length" { var array = [0:0]u8{}; var src_slice: [:0]u8 = &array; var slice = src_slice[0..0]; - if (builtin.zig_backend == .stage1) { - try expect(@TypeOf(slice) == *[0]u8); - } else { - // stage2 gives a more accurate, correct answer - try expect(@TypeOf(slice) == *[0:0]u8); - } + try expect(@TypeOf(slice) == *[0:0]u8); } } @@ -573,16 +558,11 @@ test "array concat of slices gives ptr to array" { var b: []const u8 = "asdf"; const c = a ++ b; try expect(std.mem.eql(u8, c, "aoeuasdf")); - if (builtin.zig_backend != .stage1) { - // spec change: array concat now returns pointer-to-array for slices - try expect(@TypeOf(c) == *const [8]u8); - } + try expect(@TypeOf(c) == *const [8]u8); } } test "array mult of slice gives ptr to array" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; // Stage 1 does not support multiplying slices - comptime { var a: []const u8 = "aoeu"; const c = a ** 2; @@ -626,8 +606,6 @@ test "slice sentinel access at comptime" { } test "slicing array with sentinel as end index" { - // Doesn't work in stage1 - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const S = struct { @@ -645,8 +623,6 @@ test "slicing array with sentinel as end index" { } test "slicing slice with sentinel as end index" { - // Doesn't work in stage1 - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const S = struct { diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index 78eb820daa..cd4300c8d4 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -419,11 +419,8 @@ test "packed struct 24bits" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO comptime { - // stage1 gets the wrong answer for sizeof - if (builtin.zig_backend != .stage1) { - std.debug.assert(@sizeOf(Foo24Bits) == @sizeOf(u24)); - std.debug.assert(@sizeOf(Foo96Bits) == @sizeOf(u96)); - } + std.debug.assert(@sizeOf(Foo24Bits) == @sizeOf(u24)); + std.debug.assert(@sizeOf(Foo96Bits) == @sizeOf(u96)); } var value = Foo96Bits{ @@ -497,10 +494,6 @@ const Bitfields = packed struct { }; test "packed struct fields are ordered from LSB to MSB" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the wrong answer for a lot of targets - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -640,7 +633,6 @@ test "default struct initialization fields" { } test "packed array 24bits" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; @@ -698,25 +690,6 @@ const FooArray24Bits = packed struct { c: u16, }; -test "aligned array of packed struct" { - // Stage2 has different packed struct semantics. - if (builtin.zig_backend != .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO - - comptime { - try expect(@sizeOf(FooStructAligned) == 2); - try expect(@sizeOf(FooArrayOfAligned) == 2 * 2); - } - - var bytes = [_]u8{0xbb} ** @sizeOf(FooArrayOfAligned); - const ptr = &std.mem.bytesAsSlice(FooArrayOfAligned, bytes[0..])[0]; - - try expect(ptr.a[0].a == 0xbb); - try expect(ptr.a[0].b == 0xbb); - try expect(ptr.a[1].a == 0xbb); - try expect(ptr.a[1].b == 0xbb); -} - const FooStructAligned = packed struct { a: u8, b: u8, @@ -1150,7 +1123,6 @@ test "for loop over pointers to struct, getting field from struct pointer" { } test "anon init through error unions and optionals" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -1178,7 +1150,6 @@ test "anon init through error unions and optionals" { } test "anon init through optional" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -1199,7 +1170,6 @@ test "anon init through optional" { } test "anon init through error union" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -1220,7 +1190,6 @@ test "anon init through error union" { } test "typed init through error unions and optionals" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -1283,10 +1252,6 @@ test "loading a struct pointer perfoms a copy" { } test "packed struct aggregate init" { - if (builtin.zig_backend == .stage1) { - // stage1 fails this test on mips - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -1328,8 +1293,6 @@ test "packed struct field access via pointer" { } test "store to comptime field" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - { const S = struct { comptime a: [2]u32 = [2]u32{ 1, 2 }, @@ -1364,7 +1327,6 @@ test "struct field init value is size of the struct" { } test "under-aligned struct field" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO diff --git a/test/behavior/truncate.zig b/test/behavior/truncate.zig index 677fcd930f..40f986bc86 100644 --- a/test/behavior/truncate.zig +++ b/test/behavior/truncate.zig @@ -60,11 +60,6 @@ test "truncate on comptime integer" { } test "truncate on vectors" { - if (builtin.zig_backend == .stage1) { - // stage1 fails the comptime test - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; diff --git a/test/behavior/type.zig b/test/behavior/type.zig index 556a8c990d..48c1e90812 100644 --- a/test/behavior/type.zig +++ b/test/behavior/type.zig @@ -229,7 +229,7 @@ test "Type.Vector" { } test "Type.AnyFrame" { - if (builtin.zig_backend != .stage1) { + if (true) { // https://github.com/ziglang/zig/issues/6025 return error.SkipZigTest; } @@ -246,8 +246,6 @@ fn add(a: i32, b: i32) i32 { } test "Type.ErrorSet" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try testing.expect(@Type(.{ .ErrorSet = null }) == anyerror); // error sets don't compare equal so just check if they compile @@ -369,12 +367,7 @@ test "Type.Enum" { try testing.expectEqual(@as(u8, 5), @enumToInt(Foo.b)); const Bar = @Type(.{ .Enum = .{ - // stage2 only has auto layouts - .layout = if (builtin.zig_backend == .stage1) - .Extern - else - .Auto, - + .layout = .Auto, .tag_type = u32, .fields = &.{ .{ .name = "a", .value = 1 }, @@ -501,8 +494,6 @@ test "Type.Union from regular enum" { } test "Type.Fn" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (true) { // https://github.com/ziglang/zig/issues/12360 return error.SkipZigTest; diff --git a/test/behavior/type_info.zig b/test/behavior/type_info.zig index af1b740834..c0aaa2cfa7 100644 --- a/test/behavior/type_info.zig +++ b/test/behavior/type_info.zig @@ -201,9 +201,6 @@ test "type info: error set single value" { } test "type info: error set merged" { - // #11022 forces ordering of error sets in stage2 - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -305,8 +302,6 @@ const TestStruct = struct { }; test "type info: packed struct info" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; - try testPackedStruct(); comptime try testPackedStruct(); } @@ -376,25 +371,21 @@ extern fn typeInfoFoo(a: usize, b: bool, ...) callconv(.C) usize; extern fn typeInfoFooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize; test "type info: generic function types" { - if (builtin.zig_backend != .stage1) { - // stage1 marks all args/return types as null if the function - // is generic at all. stage2 is more specific. - const G1 = @typeInfo(@TypeOf(generic1)); - try expect(G1.Fn.args.len == 1); - try expect(G1.Fn.args[0].is_generic == true); - try expect(G1.Fn.args[0].arg_type == null); - try expect(G1.Fn.return_type == void); - - const G2 = @typeInfo(@TypeOf(generic2)); - try expect(G2.Fn.args.len == 3); - try expect(G2.Fn.args[0].is_generic == false); - try expect(G2.Fn.args[0].arg_type == type); - try expect(G2.Fn.args[1].is_generic == true); - try expect(G2.Fn.args[1].arg_type == null); - try expect(G2.Fn.args[2].is_generic == false); - try expect(G2.Fn.args[2].arg_type == u8); - try expect(G2.Fn.return_type == void); - } + const G1 = @typeInfo(@TypeOf(generic1)); + try expect(G1.Fn.args.len == 1); + try expect(G1.Fn.args[0].is_generic == true); + try expect(G1.Fn.args[0].arg_type == null); + try expect(G1.Fn.return_type == void); + + const G2 = @typeInfo(@TypeOf(generic2)); + try expect(G2.Fn.args.len == 3); + try expect(G2.Fn.args[0].is_generic == false); + try expect(G2.Fn.args[0].arg_type == type); + try expect(G2.Fn.args[1].is_generic == true); + try expect(G2.Fn.args[1].arg_type == null); + try expect(G2.Fn.args[2].is_generic == false); + try expect(G2.Fn.args[2].arg_type == u8); + try expect(G2.Fn.return_type == void); const G3 = @typeInfo(@TypeOf(generic3)); try expect(G3.Fn.args.len == 1); @@ -442,7 +433,7 @@ fn testVector() !void { } test "type info: anyframe and anyframe->T" { - if (builtin.zig_backend != .stage1) { + if (true) { // https://github.com/ziglang/zig/issues/6025 return error.SkipZigTest; } @@ -501,7 +492,7 @@ fn add(a: i32, b: i32) i32 { } test "type info for async frames" { - if (builtin.zig_backend != .stage1) { + if (true) { // https://github.com/ziglang/zig/issues/6025 return error.SkipZigTest; } diff --git a/test/behavior/typename.zig b/test/behavior/typename.zig index e6e9390d6a..6beeb76772 100644 --- a/test/behavior/typename.zig +++ b/test/behavior/typename.zig @@ -12,12 +12,6 @@ const expectStringStartsWith = std.testing.expectStringStartsWith; // failures. test "anon fn param" { - if (builtin.zig_backend == .stage1) { - // stage1 uses line/column for the names but we're moving away from that for - // incremental compilation purposes. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -43,12 +37,6 @@ test "anon fn param" { } test "anon field init" { - if (builtin.zig_backend == .stage1) { - // stage1 uses line/column for the names but we're moving away from that for - // incremental compilation purposes. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -84,11 +72,6 @@ test "basic" { } test "top level decl" { - if (builtin.zig_backend == .stage1) { - // stage1 fails to return fully qualified namespaces. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -208,11 +191,6 @@ pub fn expectEqualStringsIgnoreDigits(expected: []const u8, actual: []const u8) } test "local variable" { - if (builtin.zig_backend == .stage1) { - // stage1 fails to return fully qualified namespaces. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -231,7 +209,6 @@ test "local variable" { } test "comptime parameters not converted to anytype in function type" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO @@ -241,12 +218,6 @@ test "comptime parameters not converted to anytype in function type" { } test "anon name strategy used in sub expression" { - if (builtin.zig_backend == .stage1) { - // stage1 uses line/column for the names but we're moving away from that for - // incremental compilation purposes. - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO diff --git a/test/behavior/undefined.zig b/test/behavior/undefined.zig index 945d820a6b..4e331e6eff 100644 --- a/test/behavior/undefined.zig +++ b/test/behavior/undefined.zig @@ -76,10 +76,6 @@ test "assign undefined to struct with method" { } test "type name of undefined" { - if (builtin.zig_backend == .stage1) { - // stage1 gets the type name wrong - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; const x = undefined; diff --git a/test/behavior/union.zig b/test/behavior/union.zig index 6e91202776..bdea8db3c1 100644 --- a/test/behavior/union.zig +++ b/test/behavior/union.zig @@ -221,7 +221,6 @@ test "packed union generates correctly aligned type" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage1) return error.SkipZigTest; const U = packed union { f1: *const fn () error{TestUnexpectedResult}!void, @@ -1002,7 +1001,6 @@ test "cast from pointer to anonymous struct to pointer to union" { } test "switching on non exhaustive union" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1197,7 +1195,6 @@ test "union tag is set when initiated as a temporary value at runtime" { } test "extern union most-aligned field is smaller" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1246,7 +1243,6 @@ test "return an extern union from C calling convention" { } test "noreturn field in union" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -1298,7 +1294,6 @@ test "noreturn field in union" { } test "union and enum field order doesn't match" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index 2b83ad6e00..ca38cb7ebc 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -6,12 +6,6 @@ const expect = std.testing.expect; const expectEqual = std.testing.expectEqual; test "implicit cast vector to array - bool" { - if (builtin.zig_backend == .stage1) { - // Regressed in LLVM 14: - // https://github.com/llvm/llvm-project/issues/55522 - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -180,9 +174,7 @@ test "tuple to vector" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if ((builtin.zig_backend == .stage1 or builtin.zig_backend == .stage2_llvm) and - builtin.cpu.arch == .aarch64) - { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { // Regressed with LLVM 14: // https://github.com/ziglang/zig/issues/12012 return error.SkipZigTest; @@ -197,9 +189,7 @@ test "tuple to vector" { } try std.testing.expectEqual(v, Vec3{ 1, 1, 1 }); - if (builtin.zig_backend != .stage1) { - try std.testing.expectEqual(v, .{ 1, 1, 1 }); - } + try std.testing.expectEqual(v, .{ 1, 1, 1 }); } }; try S.doTheTest(); @@ -406,12 +396,6 @@ test "initialize vector which is a struct field" { } test "vector comparison operators" { - if (builtin.zig_backend == .stage1) { - // Regressed in LLVM 14: - // https://github.com/llvm/llvm-project/issues/55522 - return error.SkipZigTest; - } - if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO @@ -801,7 +785,6 @@ test "vector reduce operation" { } test "vector @reduce comptime" { - if (builtin.zig_backend == .stage1) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -937,10 +920,6 @@ test "saturating shift-left" { } test "multiplication-assignment operator with an array operand" { - if (builtin.zig_backend == .stage1) { - // stage1 emits a compile error - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -961,10 +940,6 @@ test "multiplication-assignment operator with an array operand" { } test "@addWithOverflow" { - if (builtin.zig_backend == .stage1) { - // stage1 doesn't support vector args - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1011,10 +986,6 @@ test "@addWithOverflow" { } test "@subWithOverflow" { - if (builtin.zig_backend == .stage1) { - // stage1 doesn't support vector args - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1045,10 +1016,6 @@ test "@subWithOverflow" { } test "@mulWithOverflow" { - if (builtin.zig_backend == .stage1) { - // stage1 doesn't support vector args - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -1069,10 +1036,6 @@ test "@mulWithOverflow" { } test "@shlWithOverflow" { - if (builtin.zig_backend == .stage1) { - // stage1 doesn't support vector args - return error.SkipZigTest; - } if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
