| author | |
| committer | |
| log | b0f031f5730be496872591dce3242004cf9a6f22 |
| tree | cc529312ee13c80a55f21d95ab051cd7f1cd2cea |
| parent | a126afa1c3fe7e39678c201f6470b7899aedd47e |
| parent | 78fe3feedbfa2f86bfbacd1b478a5104092dffeb |
| signature |
wasm codegen fixes 33 files changed, 91 insertions(+), 92 deletions(-)
src/arch/wasm/CodeGen.zig+43-22| ... | @@ -3602,11 +3602,6 @@ fn cmp(func: *CodeGen, lhs: WValue, rhs: WValue, ty: Type, op: std.math.CompareO | ... | @@ -3602,11 +3602,6 @@ fn cmp(func: *CodeGen, lhs: WValue, rhs: WValue, ty: Type, op: std.math.CompareO |
| 3602 | return func.cmpBigInt(lhs, rhs, ty, op); | 3602 | return func.cmpBigInt(lhs, rhs, ty, op); |
| 3603 | } | 3603 | } |
| 3604 | 3604 | ||
| 3605 | // ensure that when we compare pointers, we emit | ||
| 3606 | // the true pointer of a stack value, rather than the stack pointer. | ||
| 3607 | try func.lowerToStack(lhs); | ||
| 3608 | try func.lowerToStack(rhs); | ||
| 3609 | |||
| 3610 | const signedness: std.builtin.Signedness = blk: { | 3605 | const signedness: std.builtin.Signedness = blk: { |
| 3611 | // by default we tell the operand type is unsigned (i.e. bools and enum values) | 3606 | // by default we tell the operand type is unsigned (i.e. bools and enum values) |
| 3612 | if (ty.zigTypeTag(mod) != .Int) break :blk .unsigned; | 3607 | if (ty.zigTypeTag(mod) != .Int) break :blk .unsigned; |
| ... | @@ -3614,6 +3609,30 @@ fn cmp(func: *CodeGen, lhs: WValue, rhs: WValue, ty: Type, op: std.math.CompareO | ... | @@ -3614,6 +3609,30 @@ fn cmp(func: *CodeGen, lhs: WValue, rhs: WValue, ty: Type, op: std.math.CompareO |
| 3614 | // incase of an actual integer, we emit the correct signedness | 3609 | // incase of an actual integer, we emit the correct signedness |
| 3615 | break :blk ty.intInfo(mod).signedness; | 3610 | break :blk ty.intInfo(mod).signedness; |
| 3616 | }; | 3611 | }; |
| 3612 | const extend_sign = blk: { | ||
| 3613 | // do we need to extend the sign bit? | ||
| 3614 | if (signedness != .signed) break :blk false; | ||
| 3615 | if (op == .eq or op == .neq) break :blk false; | ||
| 3616 | const int_bits = ty.intInfo(mod).bits; | ||
| 3617 | const wasm_bits = toWasmBits(int_bits) orelse unreachable; | ||
| 3618 | break :blk (wasm_bits != int_bits); | ||
| 3619 | }; | ||
| 3620 | |||
| 3621 | const lhs_wasm = if (extend_sign) | ||
| 3622 | try func.signExtendInt(lhs, ty) | ||
| 3623 | else | ||
| 3624 | lhs; | ||
| 3625 | |||
| 3626 | const rhs_wasm = if (extend_sign) | ||
| 3627 | try func.signExtendInt(rhs, ty) | ||
| 3628 | else | ||
| 3629 | rhs; | ||
| 3630 | |||
| 3631 | // ensure that when we compare pointers, we emit | ||
| 3632 | // the true pointer of a stack value, rather than the stack pointer. | ||
| 3633 | try func.lowerToStack(lhs_wasm); | ||
| 3634 | try func.lowerToStack(rhs_wasm); | ||
| 3635 | |||
| 3617 | const opcode: wasm.Opcode = buildOpcode(.{ | 3636 | const opcode: wasm.Opcode = buildOpcode(.{ |
| 3618 | .valtype1 = typeToValtype(ty, mod), | 3637 | .valtype1 = typeToValtype(ty, mod), |
| 3619 | .op = switch (op) { | 3638 | .op = switch (op) { |
| ... | @@ -5331,17 +5350,17 @@ fn airAggregateInit(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { | ... | @@ -5331,17 +5350,17 @@ fn airAggregateInit(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { |
| 5331 | else => { | 5350 | else => { |
| 5332 | const result = try func.allocStack(result_ty); | 5351 | const result = try func.allocStack(result_ty); |
| 5333 | const offset = try func.buildPointerOffset(result, 0, .new); // pointer to offset | 5352 | const offset = try func.buildPointerOffset(result, 0, .new); // pointer to offset |
| 5353 | var prev_field_offset: u64 = 0; | ||
| 5334 | for (elements, 0..) |elem, elem_index| { | 5354 | for (elements, 0..) |elem, elem_index| { |
| 5335 | if ((try result_ty.structFieldValueComptime(mod, elem_index)) != null) continue; | 5355 | if ((try result_ty.structFieldValueComptime(mod, elem_index)) != null) continue; |
| 5336 | 5356 | ||
| 5337 | const elem_ty = result_ty.structFieldType(elem_index, mod); | 5357 | const elem_ty = result_ty.structFieldType(elem_index, mod); |
| 5338 | const elem_size: u32 = @intCast(elem_ty.abiSize(mod)); | 5358 | const field_offset = result_ty.structFieldOffset(elem_index, mod); |
| 5359 | _ = try func.buildPointerOffset(offset, @intCast(field_offset - prev_field_offset), .modify); | ||
| 5360 | prev_field_offset = field_offset; | ||
| 5361 | |||
| 5339 | const value = try func.resolveInst(elem); | 5362 | const value = try func.resolveInst(elem); |
| 5340 | try func.store(offset, value, elem_ty, 0); | 5363 | try func.store(offset, value, elem_ty, 0); |
| 5341 | |||
| 5342 | if (elem_index < elements.len - 1) { | ||
| 5343 | _ = try func.buildPointerOffset(offset, elem_size, .modify); | ||
| 5344 | } | ||
| 5345 | } | 5364 | } |
| 5346 | 5365 | ||
| 5347 | break :result_value result; | 5366 | break :result_value result; |
| ... | @@ -6920,12 +6939,13 @@ fn signedSat(func: *CodeGen, lhs_operand: WValue, rhs_operand: WValue, ty: Type, | ... | @@ -6920,12 +6939,13 @@ fn signedSat(func: *CodeGen, lhs_operand: WValue, rhs_operand: WValue, ty: Type, |
| 6920 | const int_info = ty.intInfo(mod); | 6939 | const int_info = ty.intInfo(mod); |
| 6921 | const wasm_bits = toWasmBits(int_info.bits).?; | 6940 | const wasm_bits = toWasmBits(int_info.bits).?; |
| 6922 | const is_wasm_bits = wasm_bits == int_info.bits; | 6941 | const is_wasm_bits = wasm_bits == int_info.bits; |
| 6942 | const ext_ty = if (!is_wasm_bits) try mod.intType(int_info.signedness, wasm_bits) else ty; | ||
| 6923 | 6943 | ||
| 6924 | var lhs = if (!is_wasm_bits) lhs: { | 6944 | var lhs = if (!is_wasm_bits) lhs: { |
| 6925 | break :lhs try (try func.signExtendInt(lhs_operand, ty)).toLocal(func, ty); | 6945 | break :lhs try (try func.signExtendInt(lhs_operand, ty)).toLocal(func, ext_ty); |
| 6926 | } else lhs_operand; | 6946 | } else lhs_operand; |
| 6927 | var rhs = if (!is_wasm_bits) rhs: { | 6947 | var rhs = if (!is_wasm_bits) rhs: { |
| 6928 | break :rhs try (try func.signExtendInt(rhs_operand, ty)).toLocal(func, ty); | 6948 | break :rhs try (try func.signExtendInt(rhs_operand, ty)).toLocal(func, ext_ty); |
| 6929 | } else rhs_operand; | 6949 | } else rhs_operand; |
| 6930 | 6950 | ||
| 6931 | const max_val: u64 = @as(u64, @intCast((@as(u65, 1) << @as(u7, @intCast(int_info.bits - 1))) - 1)); | 6951 | const max_val: u64 = @as(u64, @intCast((@as(u65, 1) << @as(u7, @intCast(int_info.bits - 1))) - 1)); |
| ... | @@ -6941,20 +6961,20 @@ fn signedSat(func: *CodeGen, lhs_operand: WValue, rhs_operand: WValue, ty: Type, | ... | @@ -6941,20 +6961,20 @@ fn signedSat(func: *CodeGen, lhs_operand: WValue, rhs_operand: WValue, ty: Type, |
| 6941 | else => unreachable, | 6961 | else => unreachable, |
| 6942 | }; | 6962 | }; |
| 6943 | 6963 | ||
| 6944 | var bin_result = try (try func.binOp(lhs, rhs, ty, op)).toLocal(func, ty); | 6964 | var bin_result = try (try func.binOp(lhs, rhs, ext_ty, op)).toLocal(func, ext_ty); |
| 6945 | if (!is_wasm_bits) { | 6965 | if (!is_wasm_bits) { |
| 6946 | defer bin_result.free(func); // not returned in this branch | 6966 | defer bin_result.free(func); // not returned in this branch |
| 6947 | defer lhs.free(func); // uses temporary local for absvalue | 6967 | defer lhs.free(func); // uses temporary local for absvalue |
| 6948 | defer rhs.free(func); // uses temporary local for absvalue | 6968 | defer rhs.free(func); // uses temporary local for absvalue |
| 6949 | try func.emitWValue(bin_result); | 6969 | try func.emitWValue(bin_result); |
| 6950 | try func.emitWValue(max_wvalue); | 6970 | try func.emitWValue(max_wvalue); |
| 6951 | _ = try func.cmp(bin_result, max_wvalue, ty, .lt); | 6971 | _ = try func.cmp(bin_result, max_wvalue, ext_ty, .lt); |
| 6952 | try func.addTag(.select); | 6972 | try func.addTag(.select); |
| 6953 | try func.addLabel(.local_set, bin_result.local.value); // re-use local | 6973 | try func.addLabel(.local_set, bin_result.local.value); // re-use local |
| 6954 | 6974 | ||
| 6955 | try func.emitWValue(bin_result); | 6975 | try func.emitWValue(bin_result); |
| 6956 | try func.emitWValue(min_wvalue); | 6976 | try func.emitWValue(min_wvalue); |
| 6957 | _ = try func.cmp(bin_result, min_wvalue, ty, .gt); | 6977 | _ = try func.cmp(bin_result, min_wvalue, ext_ty, .gt); |
| 6958 | try func.addTag(.select); | 6978 | try func.addTag(.select); |
| 6959 | try func.addLabel(.local_set, bin_result.local.value); // re-use local | 6979 | try func.addLabel(.local_set, bin_result.local.value); // re-use local |
| 6960 | return (try func.wrapOperand(bin_result, ty)).toLocal(func, ty); | 6980 | return (try func.wrapOperand(bin_result, ty)).toLocal(func, ty); |
| ... | @@ -7036,12 +7056,13 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { | ... | @@ -7036,12 +7056,13 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { |
| 7036 | 64 => WValue{ .imm64 = shift_size }, | 7056 | 64 => WValue{ .imm64 = shift_size }, |
| 7037 | else => unreachable, | 7057 | else => unreachable, |
| 7038 | }; | 7058 | }; |
| 7059 | const ext_ty = try mod.intType(int_info.signedness, wasm_bits); | ||
| 7039 | 7060 | ||
| 7040 | var shl_res = try (try func.binOp(lhs, shift_value, ty, .shl)).toLocal(func, ty); | 7061 | var shl_res = try (try func.binOp(lhs, shift_value, ext_ty, .shl)).toLocal(func, ext_ty); |
| 7041 | defer shl_res.free(func); | 7062 | defer shl_res.free(func); |
| 7042 | var shl = try (try func.binOp(shl_res, rhs, ty, .shl)).toLocal(func, ty); | 7063 | var shl = try (try func.binOp(shl_res, rhs, ext_ty, .shl)).toLocal(func, ext_ty); |
| 7043 | defer shl.free(func); | 7064 | defer shl.free(func); |
| 7044 | var shr = try (try func.binOp(shl, rhs, ty, .shr)).toLocal(func, ty); | 7065 | var shr = try (try func.binOp(shl, rhs, ext_ty, .shr)).toLocal(func, ext_ty); |
| 7045 | defer shr.free(func); | 7066 | defer shr.free(func); |
| 7046 | 7067 | ||
| 7047 | switch (wasm_bits) { | 7068 | switch (wasm_bits) { |
| ... | @@ -7053,7 +7074,7 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { | ... | @@ -7053,7 +7074,7 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { |
| 7053 | 7074 | ||
| 7054 | try func.addImm32(std.math.minInt(i32)); | 7075 | try func.addImm32(std.math.minInt(i32)); |
| 7055 | try func.addImm32(std.math.maxInt(i32)); | 7076 | try func.addImm32(std.math.maxInt(i32)); |
| 7056 | _ = try func.cmp(shl_res, .{ .imm32 = 0 }, ty, .lt); | 7077 | _ = try func.cmp(shl_res, .{ .imm32 = 0 }, ext_ty, .lt); |
| 7057 | try func.addTag(.select); | 7078 | try func.addTag(.select); |
| 7058 | }, | 7079 | }, |
| 7059 | 64 => blk: { | 7080 | 64 => blk: { |
| ... | @@ -7064,16 +7085,16 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { | ... | @@ -7064,16 +7085,16 @@ fn airShlSat(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { |
| 7064 | 7085 | ||
| 7065 | try func.addImm64(@as(u64, @bitCast(@as(i64, std.math.minInt(i64))))); | 7086 | try func.addImm64(@as(u64, @bitCast(@as(i64, std.math.minInt(i64))))); |
| 7066 | try func.addImm64(@as(u64, @bitCast(@as(i64, std.math.maxInt(i64))))); | 7087 | try func.addImm64(@as(u64, @bitCast(@as(i64, std.math.maxInt(i64))))); |
| 7067 | _ = try func.cmp(shl_res, .{ .imm64 = 0 }, ty, .lt); | 7088 | _ = try func.cmp(shl_res, .{ .imm64 = 0 }, ext_ty, .lt); |
| 7068 | try func.addTag(.select); | 7089 | try func.addTag(.select); |
| 7069 | }, | 7090 | }, |
| 7070 | else => unreachable, | 7091 | else => unreachable, |
| 7071 | } | 7092 | } |
| 7072 | try func.emitWValue(shl); | 7093 | try func.emitWValue(shl); |
| 7073 | _ = try func.cmp(shl_res, shr, ty, .neq); | 7094 | _ = try func.cmp(shl_res, shr, ext_ty, .neq); |
| 7074 | try func.addTag(.select); | 7095 | try func.addTag(.select); |
| 7075 | try func.addLabel(.local_set, result.local.value); | 7096 | try func.addLabel(.local_set, result.local.value); |
| 7076 | var shift_result = try func.binOp(result, shift_value, ty, .shr); | 7097 | var shift_result = try func.binOp(result, shift_value, ext_ty, .shr); |
| 7077 | if (is_signed) { | 7098 | if (is_signed) { |
| 7078 | shift_result = try func.wrapOperand(shift_result, ty); | 7099 | shift_result = try func.wrapOperand(shift_result, ty); |
| 7079 | } | 7100 | } |
test/behavior/align.zig-1| ... | @@ -571,7 +571,6 @@ fn overaligned_fn() align(0x1000) i32 { | ... | @@ -571,7 +571,6 @@ fn overaligned_fn() align(0x1000) i32 { |
| 571 | test "comptime alloc alignment" { | 571 | test "comptime alloc alignment" { |
| 572 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 572 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 573 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 573 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 574 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 575 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 574 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 576 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 575 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 577 | 576 |
test/behavior/basic.zig+48-2| ... | @@ -38,7 +38,6 @@ test "truncate to non-power-of-two integers" { | ... | @@ -38,7 +38,6 @@ test "truncate to non-power-of-two integers" { |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | test "truncate to non-power-of-two integers from 128-bit" { | 40 | test "truncate to non-power-of-two integers from 128-bit" { |
| 41 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 42 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 41 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 43 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 42 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 44 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 43 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -398,7 +397,6 @@ test "array 2D const double ptr" { | ... | @@ -398,7 +397,6 @@ test "array 2D const double ptr" { |
| 398 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 397 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 399 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 398 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 400 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 399 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 401 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 402 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 400 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 403 | 401 | ||
| 404 | const rect_2d_vertexes = [_][1]f32{ | 402 | const rect_2d_vertexes = [_][1]f32{ |
| ... | @@ -1172,3 +1170,51 @@ test "pointer to struct literal with runtime field is constant" { | ... | @@ -1172,3 +1170,51 @@ test "pointer to struct literal with runtime field is constant" { |
| 1172 | const ptr = &S{ .data = runtime_zero }; | 1170 | const ptr = &S{ .data = runtime_zero }; |
| 1173 | try expect(@typeInfo(@TypeOf(ptr)).Pointer.is_const); | 1171 | try expect(@typeInfo(@TypeOf(ptr)).Pointer.is_const); |
| 1174 | } | 1172 | } |
| 1173 | |||
| 1174 | test "integer compare" { | ||
| 1175 | const S = struct { | ||
| 1176 | fn doTheTestSigned(comptime T: type) !void { | ||
| 1177 | var z: T = 0; | ||
| 1178 | var p: T = 123; | ||
| 1179 | var n: T = -123; | ||
| 1180 | try expect(z == z and z != p and z != n); | ||
| 1181 | try expect(p == p and p != n and n == n); | ||
| 1182 | try expect(z > n and z < p and z >= n and z <= p); | ||
| 1183 | try expect(!(z < n or z > p or z <= n or z >= p or z > z or z < z)); | ||
| 1184 | try expect(p > n and n < p and p >= n and n <= p and p >= p and p <= p and n >= n and n <= n); | ||
| 1185 | try expect(!(p < n or n > p or p <= n or n >= p or p > p or p < p or n > n or n < n)); | ||
| 1186 | try expect(z == 0 and z != 123 and z != -123 and 0 == z and 0 != p and 0 != n); | ||
| 1187 | try expect(z > -123 and p > -123 and !(n > 123)); | ||
| 1188 | try expect(z < 123 and !(p < 123) and n < 123); | ||
| 1189 | try expect(-123 <= z and -123 <= p and -123 <= n); | ||
| 1190 | try expect(123 >= z and 123 >= p and 123 >= n); | ||
| 1191 | try expect(!(0 != z or 123 != p or -123 != n)); | ||
| 1192 | try expect(!(z > 0 or -123 > p or 123 < n)); | ||
| 1193 | } | ||
| 1194 | fn doTheTestUnsigned(comptime T: type) !void { | ||
| 1195 | var z: T = 0; | ||
| 1196 | var p: T = 123; | ||
| 1197 | try expect(z == z and z != p); | ||
| 1198 | try expect(p == p); | ||
| 1199 | try expect(z < p and z <= p); | ||
| 1200 | try expect(!(z > p or z >= p or z > z or z < z)); | ||
| 1201 | try expect(p >= p and p <= p); | ||
| 1202 | try expect(!(p > p or p < p)); | ||
| 1203 | try expect(z == 0 and z != 123 and z != -123 and 0 == z and 0 != p); | ||
| 1204 | try expect(z > -123 and p > -123); | ||
| 1205 | try expect(z < 123 and !(p < 123)); | ||
| 1206 | try expect(-123 <= z and -123 <= p); | ||
| 1207 | try expect(123 >= z and 123 >= p); | ||
| 1208 | try expect(!(0 != z or 123 != p)); | ||
| 1209 | try expect(!(z > 0 or -123 > p)); | ||
| 1210 | } | ||
| 1211 | }; | ||
| 1212 | inline for (.{ u8, u16, u32, u64, usize, u10, u20, u30, u60 }) |T| { | ||
| 1213 | try S.doTheTestUnsigned(T); | ||
| 1214 | try comptime S.doTheTestUnsigned(T); | ||
| 1215 | } | ||
| 1216 | inline for (.{ i8, i16, i32, i64, isize, i10, i20, i30, i60 }) |T| { | ||
| 1217 | try S.doTheTestSigned(T); | ||
| 1218 | try comptime S.doTheTestSigned(T); | ||
| 1219 | } | ||
| 1220 | } |
test/behavior/bugs/10684.zig-1| ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); | ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); |
| 3 | const expectEqualStrings = std.testing.expectEqualStrings; | 3 | const expectEqualStrings = std.testing.expectEqualStrings; |
| 4 | 4 | ||
| 5 | test "slicing slices" { | 5 | test "slicing slices" { |
| 6 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 7 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 9 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/11787.zig-1| ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); | ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); |
| 3 | const testing = std.testing; | 3 | const testing = std.testing; |
| 4 | 4 | ||
| 5 | test "slicing zero length array field of struct" { | 5 | test "slicing zero length array field of struct" { |
| 6 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 7 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 9 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/11995.zig-1| ... | @@ -17,7 +17,6 @@ const wuffs_base__slice_u8 = extern struct { | ... | @@ -17,7 +17,6 @@ const wuffs_base__slice_u8 = extern struct { |
| 17 | len: usize, | 17 | len: usize, |
| 18 | }; | 18 | }; |
| 19 | test { | 19 | test { |
| 20 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 21 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 20 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 22 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 21 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 23 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 22 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12000.zig-1| ... | @@ -6,7 +6,6 @@ const T = struct { | ... | @@ -6,7 +6,6 @@ const T = struct { |
| 6 | }; | 6 | }; |
| 7 | 7 | ||
| 8 | test { | 8 | test { |
| 9 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 10 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 9 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 12 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 11 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12051.zig-1| ... | @@ -2,7 +2,6 @@ const std = @import("std"); | ... | @@ -2,7 +2,6 @@ const std = @import("std"); |
| 2 | const builtin = @import("builtin"); | 2 | const builtin = @import("builtin"); |
| 3 | 3 | ||
| 4 | test { | 4 | test { |
| 5 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 6 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 5 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12092.zig-1| ... | @@ -14,7 +14,6 @@ fn takeFoo(foo: *const Foo) !void { | ... | @@ -14,7 +14,6 @@ fn takeFoo(foo: *const Foo) !void { |
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | test { | 16 | test { |
| 17 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 18 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 17 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 19 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 18 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 20 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 19 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12119.zig-1| ... | @@ -5,7 +5,6 @@ const u8x32 = @Vector(32, u8); | ... | @@ -5,7 +5,6 @@ const u8x32 = @Vector(32, u8); |
| 5 | const u32x8 = @Vector(8, u32); | 5 | const u32x8 = @Vector(8, u32); |
| 6 | 6 | ||
| 7 | test { | 7 | test { |
| 8 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 9 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 10 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12450.zig-1| ... | @@ -9,7 +9,6 @@ const Foo = packed struct { | ... | @@ -9,7 +9,6 @@ const Foo = packed struct { |
| 9 | var buffer: [256]u8 = undefined; | 9 | var buffer: [256]u8 = undefined; |
| 10 | 10 | ||
| 11 | test { | 11 | test { |
| 12 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 13 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 12 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 14 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 13 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 15 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 14 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/12680.zig-1| ... | @@ -8,7 +8,6 @@ extern fn test_func() callconv(.C) usize; | ... | @@ -8,7 +8,6 @@ extern fn test_func() callconv(.C) usize; |
| 8 | test "export a function twice" { | 8 | test "export a function twice" { |
| 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 11 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 12 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 11 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 13 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 12 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 14 | if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest; | 13 | if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest; |
test/behavior/bugs/13068.zig-1| ... | @@ -7,7 +7,6 @@ var list = std.ArrayList(u32).init(allocator); | ... | @@ -7,7 +7,6 @@ var list = std.ArrayList(u32).init(allocator); |
| 7 | test { | 7 | test { |
| 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 9 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 9 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 10 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 11 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 12 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 11 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 13 | 12 |
test/behavior/bugs/13366.zig-1| ... | @@ -13,7 +13,6 @@ const Block = struct { | ... | @@ -13,7 +13,6 @@ const Block = struct { |
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | test { | 15 | test { |
| 16 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 17 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 16 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 18 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 17 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 19 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 18 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/1741.zig-1| ... | @@ -2,7 +2,6 @@ const std = @import("std"); | ... | @@ -2,7 +2,6 @@ const std = @import("std"); |
| 2 | const builtin = @import("builtin"); | 2 | const builtin = @import("builtin"); |
| 3 | 3 | ||
| 4 | test "fixed" { | 4 | test "fixed" { |
| 5 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 5 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 7 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 7 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
test/behavior/bugs/1851.zig-1| ... | @@ -3,7 +3,6 @@ const std = @import("std"); | ... | @@ -3,7 +3,6 @@ const std = @import("std"); |
| 3 | const expect = std.testing.expect; | 3 | const expect = std.testing.expect; |
| 4 | 4 | ||
| 5 | test "allocation and looping over 3-byte integer" { | 5 | test "allocation and looping over 3-byte integer" { |
| 6 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 7 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 9 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
test/behavior/bugs/2622.zig-1| ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); | ... | @@ -3,7 +3,6 @@ const builtin = @import("builtin"); |
| 3 | var buf: []u8 = undefined; | 3 | var buf: []u8 = undefined; |
| 4 | 4 | ||
| 5 | test "reslice of undefined global var slice" { | 5 | test "reslice of undefined global var slice" { |
| 6 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 7 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 9 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/2727.zig-1| ... | @@ -5,7 +5,6 @@ fn t() bool { | ... | @@ -5,7 +5,6 @@ fn t() bool { |
| 5 | } | 5 | } |
| 6 | 6 | ||
| 7 | test { | 7 | test { |
| 8 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 9 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 10 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/6047.zig-1| ... | @@ -10,7 +10,6 @@ fn getError2() !void { | ... | @@ -10,7 +10,6 @@ fn getError2() !void { |
| 10 | } | 10 | } |
| 11 | 11 | ||
| 12 | test "`try`ing an if/else expression" { | 12 | test "`try`ing an if/else expression" { |
| 13 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 14 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 13 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 15 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 14 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 16 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 15 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/6905.zig-1| ... | @@ -2,7 +2,6 @@ const expect = @import("std").testing.expect; | ... | @@ -2,7 +2,6 @@ const expect = @import("std").testing.expect; |
| 2 | const builtin = @import("builtin"); | 2 | const builtin = @import("builtin"); |
| 3 | 3 | ||
| 4 | test "sentinel-terminated 0-length slices" { | 4 | test "sentinel-terminated 0-length slices" { |
| 5 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 6 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 5 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 7 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 7 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/6947.zig-1| ... | @@ -5,7 +5,6 @@ fn destroy(ptr: *void) void { | ... | @@ -5,7 +5,6 @@ fn destroy(ptr: *void) void { |
| 5 | } | 5 | } |
| 6 | 6 | ||
| 7 | test { | 7 | test { |
| 8 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 9 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 10 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 9 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 11 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/7325.zig-1| ... | @@ -78,7 +78,6 @@ fn genExpression(expr: Expression) !ExpressionResult { | ... | @@ -78,7 +78,6 @@ fn genExpression(expr: Expression) !ExpressionResult { |
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | test { | 80 | test { |
| 81 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 82 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 81 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 83 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 82 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 84 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 83 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/8646.zig-1| ... | @@ -7,7 +7,6 @@ const array = [_][]const []const u8{ | ... | @@ -7,7 +7,6 @@ const array = [_][]const []const u8{ |
| 7 | }; | 7 | }; |
| 8 | 8 | ||
| 9 | test { | 9 | test { |
| 10 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 11 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO | 10 | if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO |
| 12 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 11 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 13 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 12 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/bugs/920.zig-1| ... | @@ -57,7 +57,6 @@ const NormalDist = blk: { | ... | @@ -57,7 +57,6 @@ const NormalDist = blk: { |
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | test "bug 920 fixed" { | 59 | test "bug 920 fixed" { |
| 60 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 61 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | 60 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 62 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 61 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 63 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 62 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
test/behavior/cast.zig-25| ... | @@ -1544,7 +1544,6 @@ test "implicit cast from [:0]T to [*c]T" { | ... | @@ -1544,7 +1544,6 @@ test "implicit cast from [:0]T to [*c]T" { |
| 1544 | 1544 | ||
| 1545 | test "bitcast packed struct with u0" { | 1545 | test "bitcast packed struct with u0" { |
| 1546 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1546 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1547 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1548 | 1547 | ||
| 1549 | const S = packed struct(u2) { a: u0, b: u2 }; | 1548 | const S = packed struct(u2) { a: u0, b: u2 }; |
| 1550 | const s = @as(S, @bitCast(@as(u2, 2))); | 1549 | const s = @as(S, @bitCast(@as(u2, 2))); |
| ... | @@ -1572,7 +1571,6 @@ test "single item pointer to pointer to array to slice" { | ... | @@ -1572,7 +1571,6 @@ test "single item pointer to pointer to array to slice" { |
| 1572 | } | 1571 | } |
| 1573 | 1572 | ||
| 1574 | test "peer type resolution forms error union" { | 1573 | test "peer type resolution forms error union" { |
| 1575 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1576 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 1574 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 1577 | 1575 | ||
| 1578 | var foo: i32 = 123; | 1576 | var foo: i32 = 123; |
| ... | @@ -1611,7 +1609,6 @@ test "coercion from single-item pointer to @as to slice" { | ... | @@ -1611,7 +1609,6 @@ test "coercion from single-item pointer to @as to slice" { |
| 1611 | test "peer type resolution: const sentinel slice and mutable non-sentinel slice" { | 1609 | test "peer type resolution: const sentinel slice and mutable non-sentinel slice" { |
| 1612 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1610 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1613 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1611 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1614 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1615 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1612 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1616 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1613 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1617 | 1614 | ||
| ... | @@ -1641,7 +1638,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" { | ... | @@ -1641,7 +1638,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" { |
| 1641 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1638 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1642 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1639 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1643 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | 1640 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 1644 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1645 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1641 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1646 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1642 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1647 | 1643 | ||
| ... | @@ -1663,7 +1659,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" { | ... | @@ -1663,7 +1659,6 @@ test "peer type resolution: float and comptime-known fixed-width integer" { |
| 1663 | test "peer type resolution: same array type with sentinel" { | 1659 | test "peer type resolution: same array type with sentinel" { |
| 1664 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1660 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1665 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1661 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1666 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1667 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1662 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1668 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1663 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1669 | 1664 | ||
| ... | @@ -1685,7 +1680,6 @@ test "peer type resolution: same array type with sentinel" { | ... | @@ -1685,7 +1680,6 @@ test "peer type resolution: same array type with sentinel" { |
| 1685 | test "peer type resolution: array with sentinel and array without sentinel" { | 1680 | test "peer type resolution: array with sentinel and array without sentinel" { |
| 1686 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1681 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1687 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1682 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1688 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1689 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1683 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1690 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1684 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1691 | 1685 | ||
| ... | @@ -1707,7 +1701,6 @@ test "peer type resolution: array with sentinel and array without sentinel" { | ... | @@ -1707,7 +1701,6 @@ test "peer type resolution: array with sentinel and array without sentinel" { |
| 1707 | test "peer type resolution: array and vector with same child type" { | 1701 | test "peer type resolution: array and vector with same child type" { |
| 1708 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1702 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1709 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1703 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1710 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1711 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1704 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1712 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1705 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1713 | 1706 | ||
| ... | @@ -1752,7 +1745,6 @@ test "peer type resolution: array with smaller child type and vector with larger | ... | @@ -1752,7 +1745,6 @@ test "peer type resolution: array with smaller child type and vector with larger |
| 1752 | test "peer type resolution: error union and optional of same type" { | 1745 | test "peer type resolution: error union and optional of same type" { |
| 1753 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1746 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1754 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1747 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1755 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1756 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1748 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1757 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1749 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1758 | 1750 | ||
| ... | @@ -1775,7 +1767,6 @@ test "peer type resolution: error union and optional of same type" { | ... | @@ -1775,7 +1767,6 @@ test "peer type resolution: error union and optional of same type" { |
| 1775 | test "peer type resolution: C pointer and @TypeOf(null)" { | 1767 | test "peer type resolution: C pointer and @TypeOf(null)" { |
| 1776 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1768 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1777 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1769 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1778 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1779 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1770 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1780 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1771 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1781 | 1772 | ||
| ... | @@ -1797,7 +1788,6 @@ test "peer type resolution: C pointer and @TypeOf(null)" { | ... | @@ -1797,7 +1788,6 @@ test "peer type resolution: C pointer and @TypeOf(null)" { |
| 1797 | test "peer type resolution: three-way resolution combines error set and optional" { | 1788 | test "peer type resolution: three-way resolution combines error set and optional" { |
| 1798 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1789 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1799 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1790 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1800 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1801 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1791 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1802 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1792 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1803 | 1793 | ||
| ... | @@ -1861,7 +1851,6 @@ test "peer type resolution: vector and optional vector" { | ... | @@ -1861,7 +1851,6 @@ test "peer type resolution: vector and optional vector" { |
| 1861 | test "peer type resolution: optional fixed-width int and comptime_int" { | 1851 | test "peer type resolution: optional fixed-width int and comptime_int" { |
| 1862 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1852 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1863 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1853 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1864 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1865 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1854 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1866 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1855 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1867 | 1856 | ||
| ... | @@ -1883,7 +1872,6 @@ test "peer type resolution: optional fixed-width int and comptime_int" { | ... | @@ -1883,7 +1872,6 @@ test "peer type resolution: optional fixed-width int and comptime_int" { |
| 1883 | test "peer type resolution: array and tuple" { | 1872 | test "peer type resolution: array and tuple" { |
| 1884 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1873 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1885 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1874 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1886 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1887 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1875 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1888 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1876 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1889 | 1877 | ||
| ... | @@ -1971,7 +1959,6 @@ test "peer type resolution: vector and array and tuple" { | ... | @@ -1971,7 +1959,6 @@ test "peer type resolution: vector and array and tuple" { |
| 1971 | test "peer type resolution: empty tuple pointer and slice" { | 1959 | test "peer type resolution: empty tuple pointer and slice" { |
| 1972 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1960 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1973 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1961 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1974 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1975 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1962 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1976 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1963 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1977 | 1964 | ||
| ... | @@ -1992,7 +1979,6 @@ test "peer type resolution: empty tuple pointer and slice" { | ... | @@ -1992,7 +1979,6 @@ test "peer type resolution: empty tuple pointer and slice" { |
| 1992 | test "peer type resolution: tuple pointer and slice" { | 1979 | test "peer type resolution: tuple pointer and slice" { |
| 1993 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1980 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1994 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1981 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1995 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1996 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1982 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1997 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 1983 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 1998 | 1984 | ||
| ... | @@ -2013,7 +1999,6 @@ test "peer type resolution: tuple pointer and slice" { | ... | @@ -2013,7 +1999,6 @@ test "peer type resolution: tuple pointer and slice" { |
| 2013 | test "peer type resolution: tuple pointer and optional slice" { | 1999 | test "peer type resolution: tuple pointer and optional slice" { |
| 2014 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2000 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2015 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2001 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2016 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2017 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2002 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2018 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2003 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2019 | 2004 | ||
| ... | @@ -2034,7 +2019,6 @@ test "peer type resolution: tuple pointer and optional slice" { | ... | @@ -2034,7 +2019,6 @@ test "peer type resolution: tuple pointer and optional slice" { |
| 2034 | test "peer type resolution: many compatible pointers" { | 2019 | test "peer type resolution: many compatible pointers" { |
| 2035 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2020 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2036 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2021 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2037 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2038 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2022 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2039 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2023 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2040 | 2024 | ||
| ... | @@ -2100,7 +2084,6 @@ test "peer type resolution: many compatible pointers" { | ... | @@ -2100,7 +2084,6 @@ test "peer type resolution: many compatible pointers" { |
| 2100 | test "peer type resolution: tuples with comptime fields" { | 2084 | test "peer type resolution: tuples with comptime fields" { |
| 2101 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2085 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2102 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2086 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2103 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2104 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2087 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2105 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2088 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2106 | 2089 | ||
| ... | @@ -2132,7 +2115,6 @@ test "peer type resolution: tuples with comptime fields" { | ... | @@ -2132,7 +2115,6 @@ test "peer type resolution: tuples with comptime fields" { |
| 2132 | test "peer type resolution: C pointer and many pointer" { | 2115 | test "peer type resolution: C pointer and many pointer" { |
| 2133 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2116 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2134 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2117 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2135 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2136 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2118 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2137 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2119 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2138 | 2120 | ||
| ... | @@ -2155,7 +2137,6 @@ test "peer type resolution: C pointer and many pointer" { | ... | @@ -2155,7 +2137,6 @@ test "peer type resolution: C pointer and many pointer" { |
| 2155 | test "peer type resolution: pointer attributes are combined correctly" { | 2137 | test "peer type resolution: pointer attributes are combined correctly" { |
| 2156 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2138 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2157 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2139 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2158 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2159 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2140 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2160 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2141 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2161 | 2142 | ||
| ... | @@ -2199,7 +2180,6 @@ test "peer type resolution: pointer attributes are combined correctly" { | ... | @@ -2199,7 +2180,6 @@ test "peer type resolution: pointer attributes are combined correctly" { |
| 2199 | test "cast builtins can wrap result in optional" { | 2180 | test "cast builtins can wrap result in optional" { |
| 2200 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2181 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2201 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2182 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2202 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2203 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2183 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2204 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2184 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2205 | 2185 | ||
| ... | @@ -2238,7 +2218,6 @@ test "cast builtins can wrap result in optional" { | ... | @@ -2238,7 +2218,6 @@ test "cast builtins can wrap result in optional" { |
| 2238 | test "cast builtins can wrap result in error union" { | 2218 | test "cast builtins can wrap result in error union" { |
| 2239 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2219 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2240 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2220 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2241 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2242 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2221 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2243 | 2222 | ||
| 2244 | const S = struct { | 2223 | const S = struct { |
| ... | @@ -2277,7 +2256,6 @@ test "cast builtins can wrap result in error union" { | ... | @@ -2277,7 +2256,6 @@ test "cast builtins can wrap result in error union" { |
| 2277 | test "cast builtins can wrap result in error union and optional" { | 2256 | test "cast builtins can wrap result in error union and optional" { |
| 2278 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2257 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2279 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2258 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2280 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2281 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2259 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 2282 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 2260 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 2283 | 2261 | ||
| ... | @@ -2443,7 +2421,6 @@ test "@intFromBool on vector" { | ... | @@ -2443,7 +2421,6 @@ test "@intFromBool on vector" { |
| 2443 | } | 2421 | } |
| 2444 | 2422 | ||
| 2445 | test "numeric coercions with undefined" { | 2423 | test "numeric coercions with undefined" { |
| 2446 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 2447 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; | 2424 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 2448 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 2425 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 2449 | 2426 | ||
| ... | @@ -2465,7 +2442,6 @@ test "15-bit int to float" { | ... | @@ -2465,7 +2442,6 @@ test "15-bit int to float" { |
| 2465 | } | 2442 | } |
| 2466 | 2443 | ||
| 2467 | test "@as does not corrupt values with incompatible representations" { | 2444 | test "@as does not corrupt values with incompatible representations" { |
| 2468 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2469 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | 2445 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO |
| 2470 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2446 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2471 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2447 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| ... | @@ -2483,7 +2459,6 @@ test "@as does not corrupt values with incompatible representations" { | ... | @@ -2483,7 +2459,6 @@ test "@as does not corrupt values with incompatible representations" { |
| 2483 | } | 2459 | } |
| 2484 | 2460 | ||
| 2485 | test "result information is preserved through many nested structures" { | 2461 | test "result information is preserved through many nested structures" { |
| 2486 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 2487 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 2462 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 2488 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 2463 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 2489 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 2464 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
test/behavior/int_div.zig-1| ... | @@ -4,7 +4,6 @@ const expect = std.testing.expect; | ... | @@ -4,7 +4,6 @@ const expect = std.testing.expect; |
| 4 | 4 | ||
| 5 | test "integer division" { | 5 | test "integer division" { |
| 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 6 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 7 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 8 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 7 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 9 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 8 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 10 | 9 |
test/behavior/math.zig-1| ... | @@ -409,7 +409,6 @@ fn testBinaryNot128(comptime Type: type, x: Type) !void { | ... | @@ -409,7 +409,6 @@ fn testBinaryNot128(comptime Type: type, x: Type) !void { |
| 409 | } | 409 | } |
| 410 | 410 | ||
| 411 | test "division" { | 411 | test "division" { |
| 412 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 413 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 412 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 414 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 413 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 415 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 414 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
test/behavior/pointers.zig-2| ... | @@ -190,7 +190,6 @@ test "compare equality of optional and non-optional pointer" { | ... | @@ -190,7 +190,6 @@ test "compare equality of optional and non-optional pointer" { |
| 190 | 190 | ||
| 191 | test "allowzero pointer and slice" { | 191 | test "allowzero pointer and slice" { |
| 192 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 192 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 193 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 194 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 193 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 195 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 194 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 196 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 195 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| ... | @@ -347,7 +346,6 @@ test "pointer sentinel with optional element" { | ... | @@ -347,7 +346,6 @@ test "pointer sentinel with optional element" { |
| 347 | test "pointer sentinel with +inf" { | 346 | test "pointer sentinel with +inf" { |
| 348 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 347 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 349 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 348 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 350 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 351 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 349 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 352 | 350 | ||
| 353 | const S = struct { | 351 | const S = struct { |
test/behavior/struct.zig-3| ... | @@ -1091,7 +1091,6 @@ test "type coercion of pointer to anon struct literal to pointer to struct" { | ... | @@ -1091,7 +1091,6 @@ test "type coercion of pointer to anon struct literal to pointer to struct" { |
| 1091 | 1091 | ||
| 1092 | test "packed struct with undefined initializers" { | 1092 | test "packed struct with undefined initializers" { |
| 1093 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 1093 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1094 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1095 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1094 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1096 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1095 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1097 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 1096 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| ... | @@ -1650,7 +1649,6 @@ test "instantiate struct with comptime field" { | ... | @@ -1650,7 +1649,6 @@ test "instantiate struct with comptime field" { |
| 1650 | 1649 | ||
| 1651 | test "struct field pointer has correct alignment" { | 1650 | test "struct field pointer has correct alignment" { |
| 1652 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 1651 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1653 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1654 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1652 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1655 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1653 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1656 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1654 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -1682,7 +1680,6 @@ test "struct field pointer has correct alignment" { | ... | @@ -1682,7 +1680,6 @@ test "struct field pointer has correct alignment" { |
| 1682 | 1680 | ||
| 1683 | test "extern struct field pointer has correct alignment" { | 1681 | test "extern struct field pointer has correct alignment" { |
| 1684 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 1682 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1685 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1686 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1683 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1687 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1684 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1688 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1685 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
test/behavior/translate_c_macros.zig-7| ... | @@ -54,7 +54,6 @@ test "reference to a struct type" { | ... | @@ -54,7 +54,6 @@ test "reference to a struct type" { |
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | test "cast negative integer to pointer" { | 56 | test "cast negative integer to pointer" { |
| 57 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 58 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 57 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 59 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 58 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 60 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 59 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -64,7 +63,6 @@ test "cast negative integer to pointer" { | ... | @@ -64,7 +63,6 @@ test "cast negative integer to pointer" { |
| 64 | } | 63 | } |
| 65 | 64 | ||
| 66 | test "casting to union with a macro" { | 65 | test "casting to union with a macro" { |
| 67 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 68 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 66 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 69 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 67 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 70 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 68 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -81,7 +79,6 @@ test "casting to union with a macro" { | ... | @@ -81,7 +79,6 @@ test "casting to union with a macro" { |
| 81 | } | 79 | } |
| 82 | 80 | ||
| 83 | test "casting or calling a value with a paren-surrounded macro" { | 81 | test "casting or calling a value with a paren-surrounded macro" { |
| 84 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 85 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 82 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 86 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 83 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 87 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 84 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -101,7 +98,6 @@ test "casting or calling a value with a paren-surrounded macro" { | ... | @@ -101,7 +98,6 @@ test "casting or calling a value with a paren-surrounded macro" { |
| 101 | } | 98 | } |
| 102 | 99 | ||
| 103 | test "nested comma operator" { | 100 | test "nested comma operator" { |
| 104 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 105 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 101 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 106 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 102 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 107 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 103 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -112,7 +108,6 @@ test "nested comma operator" { | ... | @@ -112,7 +108,6 @@ test "nested comma operator" { |
| 112 | } | 108 | } |
| 113 | 109 | ||
| 114 | test "cast functions" { | 110 | test "cast functions" { |
| 115 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 116 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 111 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 117 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 112 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 118 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 113 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -136,7 +131,6 @@ test "large integer macro" { | ... | @@ -136,7 +131,6 @@ test "large integer macro" { |
| 136 | } | 131 | } |
| 137 | 132 | ||
| 138 | test "string literal macro with embedded tab character" { | 133 | test "string literal macro with embedded tab character" { |
| 139 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 140 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 134 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 141 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 135 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 142 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 136 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -146,7 +140,6 @@ test "string literal macro with embedded tab character" { | ... | @@ -146,7 +140,6 @@ test "string literal macro with embedded tab character" { |
| 146 | } | 140 | } |
| 147 | 141 | ||
| 148 | test "string and char literals that are not UTF-8 encoded. Issue #12784" { | 142 | test "string and char literals that are not UTF-8 encoded. Issue #12784" { |
| 149 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 150 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 143 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 151 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 144 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 152 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 145 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
test/behavior/tuple.zig-2| ... | @@ -379,7 +379,6 @@ test "tuple of struct concatenation and coercion to array" { | ... | @@ -379,7 +379,6 @@ test "tuple of struct concatenation and coercion to array" { |
| 379 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 379 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 380 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 380 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 381 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; | 381 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; |
| 382 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 383 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 382 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 384 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 383 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 385 | 384 | ||
| ... | @@ -456,7 +455,6 @@ test "coerce anon tuple to tuple" { | ... | @@ -456,7 +455,6 @@ test "coerce anon tuple to tuple" { |
| 456 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 455 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 457 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 456 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 458 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO | 457 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO |
| 459 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 460 | 458 | ||
| 461 | var x: u8 = 1; | 459 | var x: u8 = 1; |
| 462 | var y: u16 = 2; | 460 | var y: u16 = 2; |
test/behavior/type.zig-2| ... | @@ -199,7 +199,6 @@ test "Type.ErrorUnion" { | ... | @@ -199,7 +199,6 @@ test "Type.ErrorUnion" { |
| 199 | } | 199 | } |
| 200 | 200 | ||
| 201 | test "Type.Opaque" { | 201 | test "Type.Opaque" { |
| 202 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 203 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 202 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 204 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 203 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 205 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 204 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -383,7 +382,6 @@ test "Type.Enum" { | ... | @@ -383,7 +382,6 @@ test "Type.Enum" { |
| 383 | } | 382 | } |
| 384 | 383 | ||
| 385 | test "Type.Union" { | 384 | test "Type.Union" { |
| 386 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 387 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 385 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 388 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 386 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 389 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 387 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
test/behavior/union.zig-3| ... | @@ -1534,7 +1534,6 @@ test "coerce enum literal to union in result loc" { | ... | @@ -1534,7 +1534,6 @@ test "coerce enum literal to union in result loc" { |
| 1534 | 1534 | ||
| 1535 | test "defined-layout union field pointer has correct alignment" { | 1535 | test "defined-layout union field pointer has correct alignment" { |
| 1536 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 1536 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1537 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1538 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1537 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1539 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1538 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1540 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1539 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -1571,7 +1570,6 @@ test "defined-layout union field pointer has correct alignment" { | ... | @@ -1571,7 +1570,6 @@ test "defined-layout union field pointer has correct alignment" { |
| 1571 | 1570 | ||
| 1572 | test "undefined-layout union field pointer has correct alignment" { | 1571 | test "undefined-layout union field pointer has correct alignment" { |
| 1573 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 1572 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1574 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1575 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1573 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1576 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1574 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1577 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1575 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| ... | @@ -1608,7 +1606,6 @@ test "undefined-layout union field pointer has correct alignment" { | ... | @@ -1608,7 +1606,6 @@ test "undefined-layout union field pointer has correct alignment" { |
| 1608 | 1606 | ||
| 1609 | test "packed union field pointer has correct alignment" { | 1607 | test "packed union field pointer has correct alignment" { |
| 1610 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 1608 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 1611 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | ||
| 1612 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 1609 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 1613 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 1610 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 1614 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 1611 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |