authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-10-22 12:16:35-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-10-22 12:16:35-07:00
log6f0198cadbe29294f2bf3153a27beebd64377566
tree99e6a8657282d9ffe09944a52c78b7e5b6949071
parent9f0359d78f9facc38418e32b0e8c1bf6f99f0d26

Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"

This reverts commit 0c99ba1eab63865592bb084feb271cd4e4b0357e, reversing changes made to 5f92b070bf284f1493b1b5d433dd3adde2f46727. This caused a CI failure when it landed in master branch due to a 128-bit `@byteSwap` in std.mem.

150 files changed, 180 insertions(+), 1691 deletions(-)

lib/compiler_rt/addf3_test.zig-8
...@@ -4,7 +4,6 @@...@@ -4,7 +4,6 @@
4// https://github.com/llvm/llvm-project/blob/02d85149a05cb1f6dc49f0ba7a2ceca53718ae17/compiler-rt/test/builtins/Unit/subtf3_test.c4// https://github.com/llvm/llvm-project/blob/02d85149a05cb1f6dc49f0ba7a2ceca53718ae17/compiler-rt/test/builtins/Unit/subtf3_test.c
55
6const std = @import("std");6const std = @import("std");
7const builtin = @import("builtin");
8const math = std.math;7const math = std.math;
9const qnan128: f128 = @bitCast(@as(u128, 0x7fff800000000000) << 64);8const qnan128: f128 = @bitCast(@as(u128, 0x7fff800000000000) << 64);
109
...@@ -35,8 +34,6 @@ fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {...@@ -35,8 +34,6 @@ fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {
35}34}
3635
37test "addtf3" {36test "addtf3" {
38 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
39
40 try test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);37 try test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
4138
42 // NaN + any = NaN39 // NaN + any = NaN
...@@ -76,9 +73,6 @@ fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {...@@ -76,9 +73,6 @@ fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void {
76}73}
7774
78test "subtf3" {75test "subtf3" {
79 if (builtin.zig_backend == .stage2_x86_64 and
80 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
81
82 // qNaN - any = qNaN76 // qNaN - any = qNaN
83 try test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);77 try test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
8478
...@@ -109,8 +103,6 @@ fn test__addxf3(a: f80, b: f80, expected: u80) !void {...@@ -109,8 +103,6 @@ fn test__addxf3(a: f80, b: f80, expected: u80) !void {
109}103}
110104
111test "addxf3" {105test "addxf3" {
112 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
113
114 // NaN + any = NaN106 // NaN + any = NaN
115 try test__addxf3(qnan80, 0x1.23456789abcdefp+5, @as(u80, @bitCast(qnan80)));107 try test__addxf3(qnan80, 0x1.23456789abcdefp+5, @as(u80, @bitCast(qnan80)));
116 try test__addxf3(@as(f80, @bitCast(@as(u80, 0x7fff_8000_8000_3000_0000))), 0x1.23456789abcdefp+5, @as(u80, @bitCast(qnan80)));108 try test__addxf3(@as(f80, @bitCast(@as(u80, 0x7fff_8000_8000_3000_0000))), 0x1.23456789abcdefp+5, @as(u80, @bitCast(qnan80)));
lib/compiler_rt/addoti4_test.zig-2
...@@ -23,8 +23,6 @@ fn simple_addoti4(a: i128, b: i128, overflow: *c_int) i128 {...@@ -23,8 +23,6 @@ fn simple_addoti4(a: i128, b: i128, overflow: *c_int) i128 {
23}23}
2424
25test "addoti4" {25test "addoti4" {
26 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
27
28 const min: i128 = math.minInt(i128);26 const min: i128 = math.minInt(i128);
29 const max: i128 = math.maxInt(i128);27 const max: i128 = math.maxInt(i128);
30 var i: i128 = 1;28 var i: i128 = 1;
lib/compiler_rt/comparef.zig-2
...@@ -98,8 +98,6 @@ pub inline fn cmp_f80(comptime RT: type, a: f80, b: f80) RT {...@@ -98,8 +98,6 @@ pub inline fn cmp_f80(comptime RT: type, a: f80, b: f80) RT {
98}98}
9999
100test "cmp_f80" {100test "cmp_f80" {
101 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
102
103 inline for (.{ LE, GE }) |RT| {101 inline for (.{ LE, GE }) |RT| {
104 try std.testing.expect(cmp_f80(RT, 1.0, 1.0) == RT.Equal);102 try std.testing.expect(cmp_f80(RT, 1.0, 1.0) == RT.Equal);
105 try std.testing.expect(cmp_f80(RT, 0.0, -0.0) == RT.Equal);103 try std.testing.expect(cmp_f80(RT, 0.0, -0.0) == RT.Equal);
lib/compiler_rt/cos.zig+2-2
...@@ -1,4 +1,6 @@...@@ -1,4 +1,6 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const arch = builtin.cpu.arch;
2const math = std.math;4const math = std.math;
3const expect = std.testing.expect;5const expect = std.testing.expect;
4const common = @import("common.zig");6const common = @import("common.zig");
...@@ -134,8 +136,6 @@ pub fn cosl(x: c_longdouble) callconv(.C) c_longdouble {...@@ -134,8 +136,6 @@ pub fn cosl(x: c_longdouble) callconv(.C) c_longdouble {
134}136}
135137
136test "cos32" {138test "cos32" {
137 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
138
139 const epsilon = 0.00001;139 const epsilon = 0.00001;
140140
141 try expect(math.approxEqAbs(f32, cosf(0.0), 1.0, epsilon));141 try expect(math.approxEqAbs(f32, cosf(0.0), 1.0, epsilon));
lib/compiler_rt/divtf3_test.zig-4
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const math = std.math;2const math = std.math;
4const testing = std.testing;3const testing = std.testing;
54
...@@ -31,9 +30,6 @@ fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) !void {...@@ -31,9 +30,6 @@ fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) !void {
31}30}
3231
33test "divtf3" {32test "divtf3" {
34 if (builtin.zig_backend == .stage2_x86_64 and
35 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
36
37 // NaN / any = NaN33 // NaN / any = NaN
38 try test__divtf3(math.nan(f128), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);34 try test__divtf3(math.nan(f128), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0);
39 // inf / any(except inf and nan) = inf35 // inf / any(except inf and nan) = inf
lib/compiler_rt/divxf3_test.zig-2
...@@ -39,8 +39,6 @@ fn test__divxf3(a: f80, b: f80) !void {...@@ -39,8 +39,6 @@ fn test__divxf3(a: f80, b: f80) !void {
39}39}
4040
41test "divxf3" {41test "divxf3" {
42 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
43
44 // NaN / any = NaN42 // NaN / any = NaN
45 try expect__divxf3_result(math.nan(f80), 0x1.23456789abcdefp+5, 0x7fffC000000000000000);43 try expect__divxf3_result(math.nan(f80), 0x1.23456789abcdefp+5, 0x7fffC000000000000000);
46 // inf / any(except inf and nan) = inf44 // inf / any(except inf and nan) = inf
lib/compiler_rt/float_from_int_test.zig-22
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const testing = std.testing;2const testing = std.testing;
4const math = std.math;3const math = std.math;
54
...@@ -126,9 +125,6 @@ fn test__floatuntisf(a: u128, expected: f32) !void {...@@ -126,9 +125,6 @@ fn test__floatuntisf(a: u128, expected: f32) !void {
126}125}
127126
128test "floattisf" {127test "floattisf" {
129 if (builtin.zig_backend == .stage2_x86_64 and
130 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
131
132 try test__floattisf(0, 0.0);128 try test__floattisf(0, 0.0);
133129
134 try test__floattisf(1, 1.0);130 try test__floattisf(1, 1.0);
...@@ -175,9 +171,6 @@ test "floattisf" {...@@ -175,9 +171,6 @@ test "floattisf" {
175}171}
176172
177test "floatuntisf" {173test "floatuntisf" {
178 if (builtin.zig_backend == .stage2_x86_64 and
179 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
180
181 try test__floatuntisf(0, 0.0);174 try test__floatuntisf(0, 0.0);
182175
183 try test__floatuntisf(1, 1.0);176 try test__floatuntisf(1, 1.0);
...@@ -374,9 +367,6 @@ fn test__floatuntidf(a: u128, expected: f64) !void {...@@ -374,9 +367,6 @@ fn test__floatuntidf(a: u128, expected: f64) !void {
374}367}
375368
376test "floattidf" {369test "floattidf" {
377 if (builtin.zig_backend == .stage2_x86_64 and
378 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
379
380 try test__floattidf(0, 0.0);370 try test__floattidf(0, 0.0);
381371
382 try test__floattidf(1, 1.0);372 try test__floattidf(1, 1.0);
...@@ -447,9 +437,6 @@ test "floattidf" {...@@ -447,9 +437,6 @@ test "floattidf" {
447}437}
448438
449test "floatuntidf" {439test "floatuntidf" {
450 if (builtin.zig_backend == .stage2_x86_64 and
451 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
452
453 try test__floatuntidf(0, 0.0);440 try test__floatuntidf(0, 0.0);
454441
455 try test__floatuntidf(1, 1.0);442 try test__floatuntidf(1, 1.0);
...@@ -595,9 +582,6 @@ test "floatditf" {...@@ -595,9 +582,6 @@ test "floatditf" {
595}582}
596583
597test "floatunditf" {584test "floatunditf" {
598 if (builtin.zig_backend == .stage2_x86_64 and
599 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
600
601 try test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000);585 try test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000);
602 try test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000);586 try test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000);
603 try test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0);587 try test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0);
...@@ -619,9 +603,6 @@ fn test__floatuntitf(a: u128, expected: f128) !void {...@@ -619,9 +603,6 @@ fn test__floatuntitf(a: u128, expected: f128) !void {
619}603}
620604
621test "floattitf" {605test "floattitf" {
622 if (builtin.zig_backend == .stage2_x86_64 and
623 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
624
625 try test__floattitf(0, 0.0);606 try test__floattitf(0, 0.0);
626607
627 try test__floattitf(1, 1.0);608 try test__floattitf(1, 1.0);
...@@ -704,9 +685,6 @@ test "floattitf" {...@@ -704,9 +685,6 @@ test "floattitf" {
704}685}
705686
706test "floatuntitf" {687test "floatuntitf" {
707 if (builtin.zig_backend == .stage2_x86_64 and
708 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
709
710 try test__floatuntitf(0, 0.0);688 try test__floatuntitf(0, 0.0);
711689
712 try test__floatuntitf(1, 1.0);690 try test__floatuntitf(1, 1.0);
lib/compiler_rt/fma.zig-3
...@@ -343,9 +343,6 @@ test "64" {...@@ -343,9 +343,6 @@ test "64" {
343}343}
344344
345test "128" {345test "128" {
346 if (builtin.zig_backend == .stage2_x86_64 and
347 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
348
349 const epsilon = 0.000001;346 const epsilon = 0.000001;
350347
351 try expect(math.approxEqAbs(f128, fmaq(0.0, 5.0, 9.124), 9.124, epsilon));348 try expect(math.approxEqAbs(f128, fmaq(0.0, 5.0, 9.124), 9.124, epsilon));
lib/compiler_rt/fmodx_test.zig-4
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const fmod = @import("fmod.zig");2const fmod = @import("fmod.zig");
4const testing = std.testing;3const testing = std.testing;
54
...@@ -23,9 +22,6 @@ fn test_fmodx_infs() !void {...@@ -23,9 +22,6 @@ fn test_fmodx_infs() !void {
23}22}
2423
25test "fmodx" {24test "fmodx" {
26 if (builtin.zig_backend == .stage2_x86_64 and
27 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
28
29 try test_fmodx(6.4, 4.0, 2.4);25 try test_fmodx(6.4, 4.0, 2.4);
30 try test_fmodx(6.4, -4.0, 2.4);26 try test_fmodx(6.4, -4.0, 2.4);
31 try test_fmodx(-6.4, 4.0, -2.4);27 try test_fmodx(-6.4, 4.0, -2.4);
lib/compiler_rt/int.zig-2
...@@ -42,8 +42,6 @@ pub fn __divmodti4(a: i128, b: i128, rem: *i128) callconv(.C) i128 {...@@ -42,8 +42,6 @@ pub fn __divmodti4(a: i128, b: i128, rem: *i128) callconv(.C) i128 {
42}42}
4343
44test "test_divmodti4" {44test "test_divmodti4" {
45 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
46
47 const cases = [_][4]i128{45 const cases = [_][4]i128{
48 [_]i128{ 0, 1, 0, 0 },46 [_]i128{ 0, 1, 0, 0 },
49 [_]i128{ 0, -1, 0, 0 },47 [_]i128{ 0, -1, 0, 0 },
lib/compiler_rt/int_from_float_test.zig-37
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const testing = std.testing;2const testing = std.testing;
4const math = std.math;3const math = std.math;
54
...@@ -41,8 +40,6 @@ fn test__fixunssfsi(a: f32, expected: u32) !void {...@@ -41,8 +40,6 @@ fn test__fixunssfsi(a: f32, expected: u32) !void {
41}40}
4241
43test "fixsfsi" {42test "fixsfsi" {
44 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
45
46 try test__fixsfsi(-math.floatMax(f32), math.minInt(i32));43 try test__fixsfsi(-math.floatMax(f32), math.minInt(i32));
4744
48 try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));45 try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
...@@ -106,8 +103,6 @@ test "fixsfsi" {...@@ -106,8 +103,6 @@ test "fixsfsi" {
106}103}
107104
108test "fixunssfsi" {105test "fixunssfsi" {
109 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
110
111 try test__fixunssfsi(0.0, 0);106 try test__fixunssfsi(0.0, 0);
112107
113 try test__fixunssfsi(0.5, 0);108 try test__fixunssfsi(0.5, 0);
...@@ -147,8 +142,6 @@ fn test__fixunssfdi(a: f32, expected: u64) !void {...@@ -147,8 +142,6 @@ fn test__fixunssfdi(a: f32, expected: u64) !void {
147}142}
148143
149test "fixsfdi" {144test "fixsfdi" {
150 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
151
152 try test__fixsfdi(-math.floatMax(f32), math.minInt(i64));145 try test__fixsfdi(-math.floatMax(f32), math.minInt(i64));
153146
154 try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));147 try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
...@@ -204,8 +197,6 @@ test "fixsfdi" {...@@ -204,8 +197,6 @@ test "fixsfdi" {
204}197}
205198
206test "fixunssfdi" {199test "fixunssfdi" {
207 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
208
209 try test__fixunssfdi(0.0, 0);200 try test__fixunssfdi(0.0, 0);
210201
211 try test__fixunssfdi(0.5, 0);202 try test__fixunssfdi(0.5, 0);
...@@ -244,8 +235,6 @@ fn test__fixunssfti(a: f32, expected: u128) !void {...@@ -244,8 +235,6 @@ fn test__fixunssfti(a: f32, expected: u128) !void {
244}235}
245236
246test "fixsfti" {237test "fixsfti" {
247 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
248
249 try test__fixsfti(-math.floatMax(f32), math.minInt(i128));238 try test__fixsfti(-math.floatMax(f32), math.minInt(i128));
250239
251 try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));240 try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
...@@ -317,8 +306,6 @@ test "fixsfti" {...@@ -317,8 +306,6 @@ test "fixsfti" {
317}306}
318307
319test "fixunssfti" {308test "fixunssfti" {
320 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
321
322 try test__fixunssfti(0.0, 0);309 try test__fixunssfti(0.0, 0);
323310
324 try test__fixunssfti(0.5, 0);311 try test__fixunssfti(0.5, 0);
...@@ -365,8 +352,6 @@ fn test__fixunsdfsi(a: f64, expected: u32) !void {...@@ -365,8 +352,6 @@ fn test__fixunsdfsi(a: f64, expected: u32) !void {
365}352}
366353
367test "fixdfsi" {354test "fixdfsi" {
368 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
369
370 try test__fixdfsi(-math.floatMax(f64), math.minInt(i32));355 try test__fixdfsi(-math.floatMax(f64), math.minInt(i32));
371356
372 try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));357 try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
...@@ -428,8 +413,6 @@ test "fixdfsi" {...@@ -428,8 +413,6 @@ test "fixdfsi" {
428}413}
429414
430test "fixunsdfsi" {415test "fixunsdfsi" {
431 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
432
433 try test__fixunsdfsi(0.0, 0);416 try test__fixunsdfsi(0.0, 0);
434417
435 try test__fixunsdfsi(0.5, 0);418 try test__fixunsdfsi(0.5, 0);
...@@ -472,8 +455,6 @@ fn test__fixunsdfdi(a: f64, expected: u64) !void {...@@ -472,8 +455,6 @@ fn test__fixunsdfdi(a: f64, expected: u64) !void {
472}455}
473456
474test "fixdfdi" {457test "fixdfdi" {
475 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
476
477 try test__fixdfdi(-math.floatMax(f64), math.minInt(i64));458 try test__fixdfdi(-math.floatMax(f64), math.minInt(i64));
478459
479 try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));460 try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
...@@ -527,8 +508,6 @@ test "fixdfdi" {...@@ -527,8 +508,6 @@ test "fixdfdi" {
527}508}
528509
529test "fixunsdfdi" {510test "fixunsdfdi" {
530 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
531
532 try test__fixunsdfdi(0.0, 0);511 try test__fixunsdfdi(0.0, 0);
533 try test__fixunsdfdi(0.5, 0);512 try test__fixunsdfdi(0.5, 0);
534 try test__fixunsdfdi(0.99, 0);513 try test__fixunsdfdi(0.99, 0);
...@@ -571,8 +550,6 @@ fn test__fixunsdfti(a: f64, expected: u128) !void {...@@ -571,8 +550,6 @@ fn test__fixunsdfti(a: f64, expected: u128) !void {
571}550}
572551
573test "fixdfti" {552test "fixdfti" {
574 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
575
576 try test__fixdfti(-math.floatMax(f64), math.minInt(i128));553 try test__fixdfti(-math.floatMax(f64), math.minInt(i128));
577554
578 try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));555 try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
...@@ -626,8 +603,6 @@ test "fixdfti" {...@@ -626,8 +603,6 @@ test "fixdfti" {
626}603}
627604
628test "fixunsdfti" {605test "fixunsdfti" {
629 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
630
631 try test__fixunsdfti(0.0, 0);606 try test__fixunsdfti(0.0, 0);
632607
633 try test__fixunsdfti(0.5, 0);608 try test__fixunsdfti(0.5, 0);
...@@ -677,8 +652,6 @@ fn test__fixunstfsi(a: f128, expected: u32) !void {...@@ -677,8 +652,6 @@ fn test__fixunstfsi(a: f128, expected: u32) !void {
677}652}
678653
679test "fixtfsi" {654test "fixtfsi" {
680 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
681
682 try test__fixtfsi(-math.floatMax(f128), math.minInt(i32));655 try test__fixtfsi(-math.floatMax(f128), math.minInt(i32));
683656
684 try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));657 try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32));
...@@ -742,8 +715,6 @@ test "fixtfsi" {...@@ -742,8 +715,6 @@ test "fixtfsi" {
742}715}
743716
744test "fixunstfsi" {717test "fixunstfsi" {
745 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
746
747 try test__fixunstfsi(math.inf(f128), 0xffffffff);718 try test__fixunstfsi(math.inf(f128), 0xffffffff);
748 try test__fixunstfsi(0, 0x0);719 try test__fixunstfsi(0, 0x0);
749 try test__fixunstfsi(0x1.23456789abcdefp+5, 0x24);720 try test__fixunstfsi(0x1.23456789abcdefp+5, 0x24);
...@@ -767,8 +738,6 @@ fn test__fixunstfdi(a: f128, expected: u64) !void {...@@ -767,8 +738,6 @@ fn test__fixunstfdi(a: f128, expected: u64) !void {
767}738}
768739
769test "fixtfdi" {740test "fixtfdi" {
770 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
771
772 try test__fixtfdi(-math.floatMax(f128), math.minInt(i64));741 try test__fixtfdi(-math.floatMax(f128), math.minInt(i64));
773742
774 try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));743 try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64));
...@@ -832,8 +801,6 @@ test "fixtfdi" {...@@ -832,8 +801,6 @@ test "fixtfdi" {
832}801}
833802
834test "fixunstfdi" {803test "fixunstfdi" {
835 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
836
837 try test__fixunstfdi(0.0, 0);804 try test__fixunstfdi(0.0, 0);
838805
839 try test__fixunstfdi(0.5, 0);806 try test__fixunstfdi(0.5, 0);
...@@ -886,8 +853,6 @@ fn test__fixunstfti(a: f128, expected: u128) !void {...@@ -886,8 +853,6 @@ fn test__fixunstfti(a: f128, expected: u128) !void {
886}853}
887854
888test "fixtfti" {855test "fixtfti" {
889 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
890
891 try test__fixtfti(-math.floatMax(f128), math.minInt(i128));856 try test__fixtfti(-math.floatMax(f128), math.minInt(i128));
892857
893 try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));858 try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128));
...@@ -969,8 +934,6 @@ fn test__fixunshfti(a: f16, expected: u128) !void {...@@ -969,8 +934,6 @@ fn test__fixunshfti(a: f16, expected: u128) !void {
969}934}
970935
971test "fixunshfti for f16" {936test "fixunshfti for f16" {
972 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
973
974 try test__fixunshfti(math.inf(f16), math.maxInt(u128));937 try test__fixunshfti(math.inf(f16), math.maxInt(u128));
975 try test__fixunshfti(math.floatMax(f16), 65504);938 try test__fixunshfti(math.floatMax(f16), 65504);
976}939}
lib/compiler_rt/mulf3_test.zig-4
...@@ -3,7 +3,6 @@...@@ -3,7 +3,6 @@
3// https://github.com/llvm/llvm-project/blob/2ffb1b0413efa9a24eb3c49e710e36f92e2cb50b/compiler-rt/test/builtins/Unit/multf3_test.c3// https://github.com/llvm/llvm-project/blob/2ffb1b0413efa9a24eb3c49e710e36f92e2cb50b/compiler-rt/test/builtins/Unit/multf3_test.c
44
5const std = @import("std");5const std = @import("std");
6const builtin = @import("builtin");
7const math = std.math;6const math = std.math;
8const qnan128: f128 = @bitCast(@as(u128, 0x7fff800000000000) << 64);7const qnan128: f128 = @bitCast(@as(u128, 0x7fff800000000000) << 64);
9const inf128: f128 = @bitCast(@as(u128, 0x7fff000000000000) << 64);8const inf128: f128 = @bitCast(@as(u128, 0x7fff000000000000) << 64);
...@@ -49,9 +48,6 @@ fn makeNaN128(rand: u64) f128 {...@@ -49,9 +48,6 @@ fn makeNaN128(rand: u64) f128 {
49 return @bitCast(int_result);48 return @bitCast(int_result);
50}49}
51test "multf3" {50test "multf3" {
52 if (builtin.zig_backend == .stage2_x86_64 and
53 !comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .bmi, .lzcnt })) return error.SkipZigTest;
54
55 // qNaN * any = qNaN51 // qNaN * any = qNaN
56 try test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);52 try test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0);
5753
lib/compiler_rt/negti2_test.zig+1-3
...@@ -6,9 +6,7 @@ fn test__negti2(a: i128, expected: i128) !void {...@@ -6,9 +6,7 @@ fn test__negti2(a: i128, expected: i128) !void {
6 try testing.expectEqual(expected, result);6 try testing.expectEqual(expected, result);
7}7}
88
9test "negti2" {9test "negdi2" {
10 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
11
12 // TODO ensuring that math.minInt(i128); returns error10 // TODO ensuring that math.minInt(i128); returns error
1311
14 try test__negti2(-3, 3);12 try test__negti2(-3, 3);
lib/compiler_rt/powiXf2_test.zig+2-11
...@@ -3,10 +3,8 @@...@@ -3,10 +3,8 @@
3// powihf2 adapted from powisf2 tests3// powihf2 adapted from powisf2 tests
44
5const powiXf2 = @import("powiXf2.zig");5const powiXf2 = @import("powiXf2.zig");
6const std = @import("std");6const testing = @import("std").testing;
7const builtin = @import("builtin");7const math = @import("std").math;
8const testing = std.testing;
9const math = std.math;
108
11fn test__powihf2(a: f16, b: i32, expected: f16) !void {9fn test__powihf2(a: f16, b: i32, expected: f16) !void {
12 var result = powiXf2.__powihf2(a, b);10 var result = powiXf2.__powihf2(a, b);
...@@ -34,9 +32,6 @@ fn test__powixf2(a: f80, b: i32, expected: f80) !void {...@@ -34,9 +32,6 @@ fn test__powixf2(a: f80, b: i32, expected: f80) !void {
34}32}
3533
36test "powihf2" {34test "powihf2" {
37 if (builtin.zig_backend == .stage2_x86_64 and
38 !comptime std.Target.x86.featureSetHas(builtin.cpu.features, .f16c)) return error.SkipZigTest;
39
40 const inf_f16 = math.inf(f16);35 const inf_f16 = math.inf(f16);
41 try test__powisf2(0, 0, 1);36 try test__powisf2(0, 0, 1);
42 try test__powihf2(1, 0, 1);37 try test__powihf2(1, 0, 1);
...@@ -356,8 +351,6 @@ test "powidf2" {...@@ -356,8 +351,6 @@ test "powidf2" {
356}351}
357352
358test "powitf2" {353test "powitf2" {
359 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
360
361 const inf_f128 = math.inf(f128);354 const inf_f128 = math.inf(f128);
362 try test__powitf2(0, 0, 1);355 try test__powitf2(0, 0, 1);
363 try test__powitf2(1, 0, 1);356 try test__powitf2(1, 0, 1);
...@@ -463,8 +456,6 @@ test "powitf2" {...@@ -463,8 +456,6 @@ test "powitf2" {
463}456}
464457
465test "powixf2" {458test "powixf2" {
466 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
467
468 const inf_f80 = math.inf(f80);459 const inf_f80 = math.inf(f80);
469 try test__powixf2(0, 0, 1);460 try test__powixf2(0, 0, 1);
470 try test__powixf2(1, 0, 1);461 try test__powixf2(1, 0, 1);
lib/compiler_rt/sin.zig-2
...@@ -140,8 +140,6 @@ pub fn sinl(x: c_longdouble) callconv(.C) c_longdouble {...@@ -140,8 +140,6 @@ pub fn sinl(x: c_longdouble) callconv(.C) c_longdouble {
140}140}
141141
142test "sin32" {142test "sin32" {
143 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
144
145 const epsilon = 0.00001;143 const epsilon = 0.00001;
146144
147 try expect(math.approxEqAbs(f32, sinf(0.0), 0.0, epsilon));145 try expect(math.approxEqAbs(f32, sinf(0.0), 0.0, epsilon));
lib/compiler_rt/suboti4_test.zig-2
...@@ -27,8 +27,6 @@ pub fn simple_suboti4(a: i128, b: i128, overflow: *c_int) i128 {...@@ -27,8 +27,6 @@ pub fn simple_suboti4(a: i128, b: i128, overflow: *c_int) i128 {
27}27}
2828
29test "suboti3" {29test "suboti3" {
30 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
31
32 const min: i128 = math.minInt(i128);30 const min: i128 = math.minInt(i128);
33 const max: i128 = math.maxInt(i128);31 const max: i128 = math.maxInt(i128);
34 var i: i128 = 1;32 var i: i128 = 1;
lib/compiler_rt/tan.zig-4
...@@ -131,8 +131,6 @@ test "tan" {...@@ -131,8 +131,6 @@ test "tan" {
131}131}
132132
133test "tan32" {133test "tan32" {
134 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
135
136 const epsilon = 0.00001;134 const epsilon = 0.00001;
137135
138 try expect(math.approxEqAbs(f32, tanf(0.0), 0.0, epsilon));136 try expect(math.approxEqAbs(f32, tanf(0.0), 0.0, epsilon));
...@@ -144,8 +142,6 @@ test "tan32" {...@@ -144,8 +142,6 @@ test "tan32" {
144}142}
145143
146test "tan64" {144test "tan64" {
147 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
148
149 const epsilon = 0.000001;145 const epsilon = 0.000001;
150146
151 try expect(math.approxEqAbs(f64, tan(0.0), 0.0, epsilon));147 try expect(math.approxEqAbs(f64, tan(0.0), 0.0, epsilon));
lib/compiler_rt/udivmodei4.zig+1-4
...@@ -129,10 +129,7 @@ pub fn __umodei4(r_p: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize)...@@ -129,10 +129,7 @@ pub fn __umodei4(r_p: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize)
129}129}
130130
131test "__udivei4/__umodei4" {131test "__udivei4/__umodei4" {
132 switch (builtin.zig_backend) {132 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
133 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
134 else => {},
135 }
136133
137 const RndGen = std.rand.DefaultPrng;134 const RndGen = std.rand.DefaultPrng;
138 var rnd = RndGen.init(42);135 var rnd = RndGen.init(42);
lib/std/Build/Cache.zig-10
...@@ -1007,8 +1007,6 @@ test "cache file and then recall it" {...@@ -1007,8 +1007,6 @@ test "cache file and then recall it" {
1007 return error.SkipZigTest;1007 return error.SkipZigTest;
1008 }1008 }
10091009
1010 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1011
1012 var tmp = testing.tmpDir(.{});1010 var tmp = testing.tmpDir(.{});
1013 defer tmp.cleanup();1011 defer tmp.cleanup();
10141012
...@@ -1074,9 +1072,6 @@ test "check that changing a file makes cache fail" {...@@ -1074,9 +1072,6 @@ test "check that changing a file makes cache fail" {
1074 // https://github.com/ziglang/zig/issues/54371072 // https://github.com/ziglang/zig/issues/5437
1075 return error.SkipZigTest;1073 return error.SkipZigTest;
1076 }1074 }
1077
1078 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1079
1080 var tmp = testing.tmpDir(.{});1075 var tmp = testing.tmpDir(.{});
1081 defer tmp.cleanup();1076 defer tmp.cleanup();
10821077
...@@ -1151,8 +1146,6 @@ test "no file inputs" {...@@ -1151,8 +1146,6 @@ test "no file inputs" {
1151 return error.SkipZigTest;1146 return error.SkipZigTest;
1152 }1147 }
11531148
1154 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1155
1156 var tmp = testing.tmpDir(.{});1149 var tmp = testing.tmpDir(.{});
1157 defer tmp.cleanup();1150 defer tmp.cleanup();
11581151
...@@ -1200,9 +1193,6 @@ test "Manifest with files added after initial hash work" {...@@ -1200,9 +1193,6 @@ test "Manifest with files added after initial hash work" {
1200 // https://github.com/ziglang/zig/issues/54371193 // https://github.com/ziglang/zig/issues/5437
1201 return error.SkipZigTest;1194 return error.SkipZigTest;
1202 }1195 }
1203
1204 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1205
1206 var tmp = testing.tmpDir(.{});1196 var tmp = testing.tmpDir(.{});
1207 defer tmp.cleanup();1197 defer tmp.cleanup();
12081198
lib/std/Build/Step/Options.zig-2
...@@ -296,8 +296,6 @@ const Arg = struct {...@@ -296,8 +296,6 @@ const Arg = struct {
296test Options {296test Options {
297 if (builtin.os.tag == .wasi) return error.SkipZigTest;297 if (builtin.os.tag == .wasi) return error.SkipZigTest;
298298
299 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
300
301 var arena = std.heap.ArenaAllocator.init(std.testing.allocator);299 var arena = std.heap.ArenaAllocator.init(std.testing.allocator);
302 defer arena.deinit();300 defer arena.deinit();
303301
lib/std/Thread/Condition.zig-6
...@@ -369,8 +369,6 @@ test "Condition - signal" {...@@ -369,8 +369,6 @@ test "Condition - signal" {
369 return error.SkipZigTest;369 return error.SkipZigTest;
370 }370 }
371371
372 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
373
374 const num_threads = 4;372 const num_threads = 4;
375373
376 const SignalTest = struct {374 const SignalTest = struct {
...@@ -500,8 +498,6 @@ test "Condition - broadcasting" {...@@ -500,8 +498,6 @@ test "Condition - broadcasting" {
500 return error.SkipZigTest;498 return error.SkipZigTest;
501 }499 }
502500
503 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
504
505 const num_threads = 10;501 const num_threads = 10;
506502
507 const BroadcastTest = struct {503 const BroadcastTest = struct {
...@@ -569,8 +565,6 @@ test "Condition - broadcasting - wake all threads" {...@@ -569,8 +565,6 @@ test "Condition - broadcasting - wake all threads" {
569 return error.SkipZigTest;565 return error.SkipZigTest;
570 }566 }
571567
572 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
573
574 var num_runs: usize = 1;568 var num_runs: usize = 1;
575 const num_threads = 10;569 const num_threads = 10;
576570
lib/std/Thread/Mutex.zig-2
...@@ -289,8 +289,6 @@ test "Mutex - many contended" {...@@ -289,8 +289,6 @@ test "Mutex - many contended" {
289 return error.SkipZigTest;289 return error.SkipZigTest;
290 }290 }
291291
292 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
293
294 const num_threads = 4;292 const num_threads = 4;
295 const num_increments = 1000;293 const num_increments = 1000;
296294
lib/std/Thread/RwLock.zig-2
...@@ -297,8 +297,6 @@ test "RwLock - concurrent access" {...@@ -297,8 +297,6 @@ test "RwLock - concurrent access" {
297 if (builtin.single_threaded)297 if (builtin.single_threaded)
298 return;298 return;
299299
300 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
301
302 const num_writers: usize = 2;300 const num_writers: usize = 2;
303 const num_readers: usize = 4;301 const num_readers: usize = 4;
304 const num_writes: usize = 10000;302 const num_writes: usize = 10000;
lib/std/Uri.zig-2
...@@ -685,8 +685,6 @@ test "Special test" {...@@ -685,8 +685,6 @@ test "Special test" {
685}685}
686686
687test "URI escaping" {687test "URI escaping" {
688 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
689
690 const input = "\\ö/ äöß ~~.adas-https://canvas:123/#ads&&sad";688 const input = "\\ö/ äöß ~~.adas-https://canvas:123/#ads&&sad";
691 const expected = "%5C%C3%B6%2F%20%C3%A4%C3%B6%C3%9F%20~~.adas-https%3A%2F%2Fcanvas%3A123%2F%23ads%26%26sad";689 const expected = "%5C%C3%B6%2F%20%C3%A4%C3%B6%C3%9F%20~~.adas-https%3A%2F%2Fcanvas%3A123%2F%23ads%26%26sad";
692690
lib/std/array_hash_map.zig-15
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std.zig");1const std = @import("std.zig");
2const builtin = @import("builtin");
3const debug = std.debug;2const debug = std.debug;
4const assert = debug.assert;3const assert = debug.assert;
5const testing = std.testing;4const testing = std.testing;
...@@ -2138,8 +2137,6 @@ test "ensure capacity leak" {...@@ -2138,8 +2137,6 @@ test "ensure capacity leak" {
2138}2137}
21392138
2140test "big map" {2139test "big map" {
2141 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2142
2143 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2140 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2144 defer map.deinit();2141 defer map.deinit();
21452142
...@@ -2193,8 +2190,6 @@ test "big map" {...@@ -2193,8 +2190,6 @@ test "big map" {
2193}2190}
21942191
2195test "clone" {2192test "clone" {
2196 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2197
2198 var original = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2193 var original = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2199 defer original.deinit();2194 defer original.deinit();
22002195
...@@ -2221,8 +2216,6 @@ test "clone" {...@@ -2221,8 +2216,6 @@ test "clone" {
2221}2216}
22222217
2223test "shrink" {2218test "shrink" {
2224 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2225
2226 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2219 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2227 defer map.deinit();2220 defer map.deinit();
22282221
...@@ -2263,8 +2256,6 @@ test "shrink" {...@@ -2263,8 +2256,6 @@ test "shrink" {
2263}2256}
22642257
2265test "pop" {2258test "pop" {
2266 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2267
2268 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2259 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2269 defer map.deinit();2260 defer map.deinit();
22702261
...@@ -2283,8 +2274,6 @@ test "pop" {...@@ -2283,8 +2274,6 @@ test "pop" {
2283}2274}
22842275
2285test "popOrNull" {2276test "popOrNull" {
2286 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2287
2288 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2277 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2289 defer map.deinit();2278 defer map.deinit();
22902279
...@@ -2305,8 +2294,6 @@ test "popOrNull" {...@@ -2305,8 +2294,6 @@ test "popOrNull" {
2305}2294}
23062295
2307test "reIndex" {2296test "reIndex" {
2308 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2309
2310 var map = ArrayHashMap(i32, i32, AutoContext(i32), true).init(std.testing.allocator);2297 var map = ArrayHashMap(i32, i32, AutoContext(i32), true).init(std.testing.allocator);
2311 defer map.deinit();2298 defer map.deinit();
23122299
...@@ -2351,8 +2338,6 @@ test "auto store_hash" {...@@ -2351,8 +2338,6 @@ test "auto store_hash" {
2351}2338}
23522339
2353test "sort" {2340test "sort" {
2354 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2355
2356 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);2341 var map = AutoArrayHashMap(i32, i32).init(std.testing.allocator);
2357 defer map.deinit();2342 defer map.deinit();
23582343
lib/std/array_list.zig-11
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std.zig");1const std = @import("std.zig");
2const builtin = @import("builtin");
3const debug = std.debug;2const debug = std.debug;
4const assert = debug.assert;3const assert = debug.assert;
5const testing = std.testing;4const testing = std.testing;
...@@ -1184,8 +1183,6 @@ test "std.ArrayList/ArrayListUnmanaged.initCapacity" {...@@ -1184,8 +1183,6 @@ test "std.ArrayList/ArrayListUnmanaged.initCapacity" {
1184}1183}
11851184
1186test "std.ArrayList/ArrayListUnmanaged.clone" {1185test "std.ArrayList/ArrayListUnmanaged.clone" {
1187 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1188
1189 const a = testing.allocator;1186 const a = testing.allocator;
1190 {1187 {
1191 var array = ArrayList(i32).init(a);1188 var array = ArrayList(i32).init(a);
...@@ -1227,8 +1224,6 @@ test "std.ArrayList/ArrayListUnmanaged.clone" {...@@ -1227,8 +1224,6 @@ test "std.ArrayList/ArrayListUnmanaged.clone" {
1227}1224}
12281225
1229test "std.ArrayList/ArrayListUnmanaged.basic" {1226test "std.ArrayList/ArrayListUnmanaged.basic" {
1230 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1231
1232 const a = testing.allocator;1227 const a = testing.allocator;
1233 {1228 {
1234 var list = ArrayList(i32).init(a);1229 var list = ArrayList(i32).init(a);
...@@ -1513,8 +1508,6 @@ test "std.ArrayList/ArrayListUnmanaged.insert" {...@@ -1513,8 +1508,6 @@ test "std.ArrayList/ArrayListUnmanaged.insert" {
1513}1508}
15141509
1515test "std.ArrayList/ArrayListUnmanaged.insertSlice" {1510test "std.ArrayList/ArrayListUnmanaged.insertSlice" {
1516 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1517
1518 const a = testing.allocator;1511 const a = testing.allocator;
1519 {1512 {
1520 var list = ArrayList(i32).init(a);1513 var list = ArrayList(i32).init(a);
...@@ -1561,8 +1554,6 @@ test "std.ArrayList/ArrayListUnmanaged.insertSlice" {...@@ -1561,8 +1554,6 @@ test "std.ArrayList/ArrayListUnmanaged.insertSlice" {
1561}1554}
15621555
1563test "std.ArrayList/ArrayListUnmanaged.replaceRange" {1556test "std.ArrayList/ArrayListUnmanaged.replaceRange" {
1564 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1565
1566 var arena = std.heap.ArenaAllocator.init(testing.allocator);1557 var arena = std.heap.ArenaAllocator.init(testing.allocator);
1567 defer arena.deinit();1558 defer arena.deinit();
1568 const a = arena.allocator();1559 const a = arena.allocator();
...@@ -1734,8 +1725,6 @@ test "shrink still sets length when resizing is disabled" {...@@ -1734,8 +1725,6 @@ test "shrink still sets length when resizing is disabled" {
1734}1725}
17351726
1736test "shrinkAndFree with a copy" {1727test "shrinkAndFree with a copy" {
1737 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1738
1739 var failing_allocator = testing.FailingAllocator.init(testing.allocator, .{ .resize_fail_index = 0 });1728 var failing_allocator = testing.FailingAllocator.init(testing.allocator, .{ .resize_fail_index = 0 });
1740 const a = failing_allocator.allocator();1729 const a = failing_allocator.allocator();
17411730
lib/std/atomic/Atomic.zig-4
...@@ -374,8 +374,6 @@ const atomic_rmw_orderings = [_]Ordering{...@@ -374,8 +374,6 @@ const atomic_rmw_orderings = [_]Ordering{
374};374};
375375
376test "Atomic.swap" {376test "Atomic.swap" {
377 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
378
379 inline for (atomic_rmw_orderings) |ordering| {377 inline for (atomic_rmw_orderings) |ordering| {
380 var x = Atomic(usize).init(5);378 var x = Atomic(usize).init(5);
381 try testing.expectEqual(x.swap(10, ordering), 5);379 try testing.expectEqual(x.swap(10, ordering), 5);
...@@ -469,8 +467,6 @@ test "Atomic.fetchSub" {...@@ -469,8 +467,6 @@ test "Atomic.fetchSub" {
469}467}
470468
471test "Atomic.fetchMin" {469test "Atomic.fetchMin" {
472 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
473
474 inline for (atomicIntTypes()) |Int| {470 inline for (atomicIntTypes()) |Int| {
475 inline for (atomic_rmw_orderings) |ordering| {471 inline for (atomic_rmw_orderings) |ordering| {
476 var x = Atomic(Int).init(5);472 var x = Atomic(Int).init(5);
lib/std/atomic/queue.zig-2
...@@ -175,8 +175,6 @@ const puts_per_thread = 500;...@@ -175,8 +175,6 @@ const puts_per_thread = 500;
175const put_thread_count = 3;175const put_thread_count = 3;
176176
177test "std.atomic.Queue" {177test "std.atomic.Queue" {
178 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
179
180 var plenty_of_memory = try std.heap.page_allocator.alloc(u8, 300 * 1024);178 var plenty_of_memory = try std.heap.page_allocator.alloc(u8, 300 * 1024);
181 defer std.heap.page_allocator.free(plenty_of_memory);179 defer std.heap.page_allocator.free(plenty_of_memory);
182180
lib/std/base64.zig-7
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
1const std = @import("std.zig");1const std = @import("std.zig");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const builtin = @import("builtin");
4const testing = std.testing;3const testing = std.testing;
5const mem = std.mem;4const mem = std.mem;
65
...@@ -355,16 +354,12 @@ pub const Base64DecoderWithIgnore = struct {...@@ -355,16 +354,12 @@ pub const Base64DecoderWithIgnore = struct {
355};354};
356355
357test "base64" {356test "base64" {
358 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
359
360 @setEvalBranchQuota(8000);357 @setEvalBranchQuota(8000);
361 try testBase64();358 try testBase64();
362 try comptime testAllApis(standard, "comptime", "Y29tcHRpbWU=");359 try comptime testAllApis(standard, "comptime", "Y29tcHRpbWU=");
363}360}
364361
365test "base64 padding dest overflow" {362test "base64 padding dest overflow" {
366 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
367
368 const input = "foo";363 const input = "foo";
369364
370 var expect: [128]u8 = undefined;365 var expect: [128]u8 = undefined;
...@@ -379,8 +374,6 @@ test "base64 padding dest overflow" {...@@ -379,8 +374,6 @@ test "base64 padding dest overflow" {
379}374}
380375
381test "base64 url_safe_no_pad" {376test "base64 url_safe_no_pad" {
382 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
383
384 @setEvalBranchQuota(8000);377 @setEvalBranchQuota(8000);
385 try testBase64UrlSafeNoPad();378 try testBase64UrlSafeNoPad();
386 try comptime testAllApis(url_safe_no_pad, "comptime", "Y29tcHRpbWU");379 try comptime testAllApis(url_safe_no_pad, "comptime", "Y29tcHRpbWU");
lib/std/bit_set.zig+1-14
...@@ -33,7 +33,6 @@...@@ -33,7 +33,6 @@
33const std = @import("std.zig");33const std = @import("std.zig");
34const assert = std.debug.assert;34const assert = std.debug.assert;
35const Allocator = std.mem.Allocator;35const Allocator = std.mem.Allocator;
36const builtin = @import("builtin");
3736
38/// Returns the optimal static bit set type for the specified number37/// Returns the optimal static bit set type for the specified number
39/// of elements: either `IntegerBitSet` or `ArrayBitSet`,38/// of elements: either `IntegerBitSet` or `ArrayBitSet`,
...@@ -1637,10 +1636,7 @@ fn testStaticBitSet(comptime Set: type) !void {...@@ -1637,10 +1636,7 @@ fn testStaticBitSet(comptime Set: type) !void {
1637}1636}
16381637
1639test "IntegerBitSet" {1638test "IntegerBitSet" {
1640 switch (builtin.zig_backend) {1639 if (@import("builtin").zig_backend == .stage2_c) return error.SkipZigTest;
1641 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1642 else => {},
1643 }
16441640
1645 try testStaticBitSet(IntegerBitSet(0));1641 try testStaticBitSet(IntegerBitSet(0));
1646 try testStaticBitSet(IntegerBitSet(1));1642 try testStaticBitSet(IntegerBitSet(1));
...@@ -1653,11 +1649,6 @@ test "IntegerBitSet" {...@@ -1653,11 +1649,6 @@ test "IntegerBitSet" {
1653}1649}
16541650
1655test "ArrayBitSet" {1651test "ArrayBitSet" {
1656 switch (builtin.zig_backend) {
1657 .stage2_x86_64 => return error.SkipZigTest,
1658 else => {},
1659 }
1660
1661 inline for (.{ 0, 1, 2, 31, 32, 33, 63, 64, 65, 254, 500, 3000 }) |size| {1652 inline for (.{ 0, 1, 2, 31, 32, 33, 63, 64, 65, 254, 500, 3000 }) |size| {
1662 try testStaticBitSet(ArrayBitSet(u8, size));1653 try testStaticBitSet(ArrayBitSet(u8, size));
1663 try testStaticBitSet(ArrayBitSet(u16, size));1654 try testStaticBitSet(ArrayBitSet(u16, size));
...@@ -1668,8 +1659,6 @@ test "ArrayBitSet" {...@@ -1668,8 +1659,6 @@ test "ArrayBitSet" {
1668}1659}
16691660
1670test "DynamicBitSetUnmanaged" {1661test "DynamicBitSetUnmanaged" {
1671 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1672
1673 const allocator = std.testing.allocator;1662 const allocator = std.testing.allocator;
1674 var a = try DynamicBitSetUnmanaged.initEmpty(allocator, 300);1663 var a = try DynamicBitSetUnmanaged.initEmpty(allocator, 300);
1675 try testing.expectEqual(@as(usize, 0), a.count());1664 try testing.expectEqual(@as(usize, 0), a.count());
...@@ -1723,8 +1712,6 @@ test "DynamicBitSetUnmanaged" {...@@ -1723,8 +1712,6 @@ test "DynamicBitSetUnmanaged" {
1723}1712}
17241713
1725test "DynamicBitSet" {1714test "DynamicBitSet" {
1726 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1727
1728 const allocator = std.testing.allocator;1715 const allocator = std.testing.allocator;
1729 var a = try DynamicBitSet.initEmpty(allocator, 300);1716 var a = try DynamicBitSet.initEmpty(allocator, 300);
1730 try testing.expectEqual(@as(usize, 0), a.count());1717 try testing.expectEqual(@as(usize, 0), a.count());
lib/std/compress/deflate/compressor.zig-2
...@@ -1069,8 +1069,6 @@ var deflate_tests = [_]DeflateTest{...@@ -1069,8 +1069,6 @@ var deflate_tests = [_]DeflateTest{
1069};1069};
10701070
1071test "deflate" {1071test "deflate" {
1072 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
1073
1074 for (deflate_tests) |dt| {1072 for (deflate_tests) |dt| {
1075 var output = ArrayList(u8).init(testing.allocator);1073 var output = ArrayList(u8).init(testing.allocator);
1076 defer output.deinit();1074 defer output.deinit();
lib/std/compress/deflate/compressor_test.zig-18
...@@ -154,8 +154,6 @@ fn testToFromWithLimit(input: []const u8, limit: [11]u32) !void {...@@ -154,8 +154,6 @@ fn testToFromWithLimit(input: []const u8, limit: [11]u32) !void {
154}154}
155155
156test "deflate/inflate" {156test "deflate/inflate" {
157 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
158
159 var limits = [_]u32{0} ** 11;157 var limits = [_]u32{0} ** 11;
160158
161 var test0 = [_]u8{};159 var test0 = [_]u8{};
...@@ -180,8 +178,6 @@ test "deflate/inflate" {...@@ -180,8 +178,6 @@ test "deflate/inflate" {
180}178}
181179
182test "very long sparse chunk" {180test "very long sparse chunk" {
183 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
184
185 // A SparseReader returns a stream consisting of 0s ending with 65,536 (1<<16) 1s.181 // A SparseReader returns a stream consisting of 0s ending with 65,536 (1<<16) 1s.
186 // This tests missing hash references in a very large input.182 // This tests missing hash references in a very large input.
187 const SparseReader = struct {183 const SparseReader = struct {
...@@ -243,8 +239,6 @@ test "very long sparse chunk" {...@@ -243,8 +239,6 @@ test "very long sparse chunk" {
243}239}
244240
245test "compressor reset" {241test "compressor reset" {
246 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
247
248 for (std.enums.values(deflate.Compression)) |c| {242 for (std.enums.values(deflate.Compression)) |c| {
249 try testWriterReset(c, null);243 try testWriterReset(c, null);
250 try testWriterReset(c, "dict");244 try testWriterReset(c, "dict");
...@@ -295,8 +289,6 @@ fn testWriterReset(level: deflate.Compression, dict: ?[]const u8) !void {...@@ -295,8 +289,6 @@ fn testWriterReset(level: deflate.Compression, dict: ?[]const u8) !void {
295}289}
296290
297test "decompressor dictionary" {291test "decompressor dictionary" {
298 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
299
300 const dict = "hello world"; // dictionary292 const dict = "hello world"; // dictionary
301 const text = "hello again world";293 const text = "hello again world";
302294
...@@ -337,8 +329,6 @@ test "decompressor dictionary" {...@@ -337,8 +329,6 @@ test "decompressor dictionary" {
337}329}
338330
339test "compressor dictionary" {331test "compressor dictionary" {
340 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
341
342 const dict = "hello world";332 const dict = "hello world";
343 const text = "hello again world";333 const text = "hello again world";
344334
...@@ -385,8 +375,6 @@ test "compressor dictionary" {...@@ -385,8 +375,6 @@ test "compressor dictionary" {
385// Update the hash for best_speed only if d.index < d.maxInsertIndex375// Update the hash for best_speed only if d.index < d.maxInsertIndex
386// See https://golang.org/issue/2508376// See https://golang.org/issue/2508
387test "Go non-regression test for 2508" {377test "Go non-regression test for 2508" {
388 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
389
390 var comp = try compressor(378 var comp = try compressor(
391 testing.allocator,379 testing.allocator,
392 io.null_writer,380 io.null_writer,
...@@ -404,8 +392,6 @@ test "Go non-regression test for 2508" {...@@ -404,8 +392,6 @@ test "Go non-regression test for 2508" {
404}392}
405393
406test "deflate/inflate string" {394test "deflate/inflate string" {
407 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
408
409 const StringTest = struct {395 const StringTest = struct {
410 filename: []const u8,396 filename: []const u8,
411 limit: [11]u32,397 limit: [11]u32,
...@@ -453,8 +439,6 @@ test "deflate/inflate string" {...@@ -453,8 +439,6 @@ test "deflate/inflate string" {
453}439}
454440
455test "inflate reset" {441test "inflate reset" {
456 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
457
458 const strings = [_][]const u8{442 const strings = [_][]const u8{
459 "lorem ipsum izzle fo rizzle",443 "lorem ipsum izzle fo rizzle",
460 "the quick brown fox jumped over",444 "the quick brown fox jumped over",
...@@ -501,8 +485,6 @@ test "inflate reset" {...@@ -501,8 +485,6 @@ test "inflate reset" {
501}485}
502486
503test "inflate reset dictionary" {487test "inflate reset dictionary" {
504 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
505
506 const dict = "the lorem fox";488 const dict = "the lorem fox";
507 const strings = [_][]const u8{489 const strings = [_][]const u8{
508 "lorem ipsum izzle fo rizzle",490 "lorem ipsum izzle fo rizzle",
lib/std/compress/deflate/deflate_fast.zig-2
...@@ -649,8 +649,6 @@ test "best speed shift offsets" {...@@ -649,8 +649,6 @@ test "best speed shift offsets" {
649}649}
650650
651test "best speed reset" {651test "best speed reset" {
652 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
653
654 // test that encoding is consistent across a warparound of the table offset.652 // test that encoding is consistent across a warparound of the table offset.
655 // See https://github.com/golang/go/issues/34121653 // See https://github.com/golang/go/issues/34121
656 const fmt = std.fmt;654 const fmt = std.fmt;
lib/std/compress/deflate/deflate_fast_test.zig-5
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const expect = std.testing.expect;2const expect = std.testing.expect;
4const io = std.io;3const io = std.io;
5const mem = std.mem;4const mem = std.mem;
...@@ -12,8 +11,6 @@ const inflate = @import("decompressor.zig");...@@ -12,8 +11,6 @@ const inflate = @import("decompressor.zig");
12const deflate_const = @import("deflate_const.zig");11const deflate_const = @import("deflate_const.zig");
1312
14test "best speed" {13test "best speed" {
15 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
16
17 // Tests that round-tripping through deflate and then inflate recovers the original input.14 // Tests that round-tripping through deflate and then inflate recovers the original input.
18 // The Write sizes are near the thresholds in the compressor.encSpeed method (0, 16, 128), as well15 // The Write sizes are near the thresholds in the compressor.encSpeed method (0, 16, 128), as well
19 // as near `deflate_const.max_store_block_size` (65535).16 // as near `deflate_const.max_store_block_size` (65535).
...@@ -96,8 +93,6 @@ test "best speed" {...@@ -96,8 +93,6 @@ test "best speed" {
96}93}
9794
98test "best speed max match offset" {95test "best speed max match offset" {
99 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
100
101 const abc = "abcdefgh";96 const abc = "abcdefgh";
102 const xyz = "stuvwxyz";97 const xyz = "stuvwxyz";
103 const input_margin = 16 - 1;98 const input_margin = 16 - 1;
lib/std/compress/deflate/huffman_bit_writer.zig-6
...@@ -845,8 +845,6 @@ const testing = std.testing;...@@ -845,8 +845,6 @@ const testing = std.testing;
845const ArrayList = std.ArrayList;845const ArrayList = std.ArrayList;
846846
847test "writeBlockHuff" {847test "writeBlockHuff" {
848 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
849
850 // Tests huffman encoding against reference files to detect possible regressions.848 // Tests huffman encoding against reference files to detect possible regressions.
851 // If encoding/bit allocation changes you can regenerate these files849 // If encoding/bit allocation changes you can regenerate these files
852850
...@@ -1571,8 +1569,6 @@ const TestType = enum {...@@ -1571,8 +1569,6 @@ const TestType = enum {
1571};1569};
15721570
1573test "writeBlock" {1571test "writeBlock" {
1574 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1575
1576 // tests if the writeBlock encoding has changed.1572 // tests if the writeBlock encoding has changed.
15771573
1578 const ttype: TestType = .write_block;1574 const ttype: TestType = .write_block;
...@@ -1588,8 +1584,6 @@ test "writeBlock" {...@@ -1588,8 +1584,6 @@ test "writeBlock" {
1588}1584}
15891585
1590test "writeBlockDynamic" {1586test "writeBlockDynamic" {
1591 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1592
1593 // tests if the writeBlockDynamic encoding has changed.1587 // tests if the writeBlockDynamic encoding has changed.
15941588
1595 const ttype: TestType = .write_dyn_block;1589 const ttype: TestType = .write_dyn_block;
lib/std/compress/deflate/huffman_code.zig-2
...@@ -360,8 +360,6 @@ fn byFreq(context: void, a: LiteralNode, b: LiteralNode) bool {...@@ -360,8 +360,6 @@ fn byFreq(context: void, a: LiteralNode, b: LiteralNode) bool {
360}360}
361361
362test "generate a Huffman code from an array of frequencies" {362test "generate a Huffman code from an array of frequencies" {
363 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
364
365 var freqs: [19]u16 = [_]u16{363 var freqs: [19]u16 = [_]u16{
366 8, // 0364 8, // 0
367 1, // 1365 1, // 1
lib/std/compress/gzip.zig-2
...@@ -174,8 +174,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {...@@ -174,8 +174,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {
174// https://tools.ietf.org/rfc/rfc1952.txt length=25037 bytes174// https://tools.ietf.org/rfc/rfc1952.txt length=25037 bytes
175// SHA256=164ef0897b4cbec63abf1b57f069f3599bd0fb7c72c2a4dee21bd7e03ec9af67175// SHA256=164ef0897b4cbec63abf1b57f069f3599bd0fb7c72c2a4dee21bd7e03ec9af67
176test "compressed data" {176test "compressed data" {
177 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
178
179 try testReader(177 try testReader(
180 @embedFile("testdata/rfc1952.txt.gz"),178 @embedFile("testdata/rfc1952.txt.gz"),
181 @embedFile("testdata/rfc1952.txt"),179 @embedFile("testdata/rfc1952.txt"),
lib/std/compress/lzma/test.zig-17
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("../../std.zig");1const std = @import("../../std.zig");
2const builtin = @import("builtin");
3const lzma = @import("../lzma.zig");2const lzma = @import("../lzma.zig");
43
5fn testDecompress(compressed: []const u8) ![]u8 {4fn testDecompress(compressed: []const u8) ![]u8 {
...@@ -23,8 +22,6 @@ fn testDecompressError(expected: anyerror, compressed: []const u8) !void {...@@ -23,8 +22,6 @@ fn testDecompressError(expected: anyerror, compressed: []const u8) !void {
23}22}
2423
25test "LZMA: decompress empty world" {24test "LZMA: decompress empty world" {
26 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
27
28 try testDecompressEqual(25 try testDecompressEqual(
29 "",26 "",
30 &[_]u8{27 &[_]u8{
...@@ -35,8 +32,6 @@ test "LZMA: decompress empty world" {...@@ -35,8 +32,6 @@ test "LZMA: decompress empty world" {
35}32}
3633
37test "LZMA: decompress hello world" {34test "LZMA: decompress hello world" {
38 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
39
40 try testDecompressEqual(35 try testDecompressEqual(
41 "Hello world\n",36 "Hello world\n",
42 &[_]u8{37 &[_]u8{
...@@ -48,8 +43,6 @@ test "LZMA: decompress hello world" {...@@ -48,8 +43,6 @@ test "LZMA: decompress hello world" {
48}43}
4944
50test "LZMA: decompress huge dict" {45test "LZMA: decompress huge dict" {
51 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
52
53 try testDecompressEqual(46 try testDecompressEqual(
54 "Hello world\n",47 "Hello world\n",
55 &[_]u8{48 &[_]u8{
...@@ -61,8 +54,6 @@ test "LZMA: decompress huge dict" {...@@ -61,8 +54,6 @@ test "LZMA: decompress huge dict" {
61}54}
6255
63test "LZMA: unknown size with end of payload marker" {56test "LZMA: unknown size with end of payload marker" {
64 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
65
66 try testDecompressEqual(57 try testDecompressEqual(
67 "Hello\nWorld!\n",58 "Hello\nWorld!\n",
68 @embedFile("testdata/good-unknown_size-with_eopm.lzma"),59 @embedFile("testdata/good-unknown_size-with_eopm.lzma"),
...@@ -70,8 +61,6 @@ test "LZMA: unknown size with end of payload marker" {...@@ -70,8 +61,6 @@ test "LZMA: unknown size with end of payload marker" {
70}61}
7162
72test "LZMA: known size without end of payload marker" {63test "LZMA: known size without end of payload marker" {
73 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
74
75 try testDecompressEqual(64 try testDecompressEqual(
76 "Hello\nWorld!\n",65 "Hello\nWorld!\n",
77 @embedFile("testdata/good-known_size-without_eopm.lzma"),66 @embedFile("testdata/good-known_size-without_eopm.lzma"),
...@@ -79,8 +68,6 @@ test "LZMA: known size without end of payload marker" {...@@ -79,8 +68,6 @@ test "LZMA: known size without end of payload marker" {
79}68}
8069
81test "LZMA: known size with end of payload marker" {70test "LZMA: known size with end of payload marker" {
82 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
83
84 try testDecompressEqual(71 try testDecompressEqual(
85 "Hello\nWorld!\n",72 "Hello\nWorld!\n",
86 @embedFile("testdata/good-known_size-with_eopm.lzma"),73 @embedFile("testdata/good-known_size-with_eopm.lzma"),
...@@ -88,8 +75,6 @@ test "LZMA: known size with end of payload marker" {...@@ -88,8 +75,6 @@ test "LZMA: known size with end of payload marker" {
88}75}
8976
90test "LZMA: too big uncompressed size in header" {77test "LZMA: too big uncompressed size in header" {
91 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
92
93 try testDecompressError(78 try testDecompressError(
94 error.CorruptInput,79 error.CorruptInput,
95 @embedFile("testdata/bad-too_big_size-with_eopm.lzma"),80 @embedFile("testdata/bad-too_big_size-with_eopm.lzma"),
...@@ -97,8 +82,6 @@ test "LZMA: too big uncompressed size in header" {...@@ -97,8 +82,6 @@ test "LZMA: too big uncompressed size in header" {
97}82}
9883
99test "LZMA: too small uncompressed size in header" {84test "LZMA: too small uncompressed size in header" {
100 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
101
102 try testDecompressError(85 try testDecompressError(
103 error.CorruptInput,86 error.CorruptInput,
104 @embedFile("testdata/bad-too_small_size-without_eopm-3.lzma"),87 @embedFile("testdata/bad-too_small_size-without_eopm-3.lzma"),
lib/std/compress/lzma/vec2d.zig-2
...@@ -50,8 +50,6 @@ const expectEqualSlices = std.testing.expectEqualSlices;...@@ -50,8 +50,6 @@ const expectEqualSlices = std.testing.expectEqualSlices;
50const expectError = std.testing.expectError;50const expectError = std.testing.expectError;
5151
52test "Vec2D.init" {52test "Vec2D.init" {
53 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
54
55 const allocator = testing.allocator;53 const allocator = testing.allocator;
56 var vec2d = try Vec2D(i32).init(allocator, 1, .{ 2, 3 });54 var vec2d = try Vec2D(i32).init(allocator, 1, .{ 2, 3 });
57 defer vec2d.deinit(allocator);55 defer vec2d.deinit(allocator);
lib/std/compress/xz/test.zig-2
...@@ -19,8 +19,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {...@@ -19,8 +19,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {
19}19}
2020
21test "compressed data" {21test "compressed data" {
22 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
23
24 try testReader(@embedFile("testdata/good-0-empty.xz"), "");22 try testReader(@embedFile("testdata/good-0-empty.xz"), "");
2523
26 inline for ([_][]const u8{24 inline for ([_][]const u8{
lib/std/compress/zlib.zig-4
...@@ -199,8 +199,6 @@ fn testDecompress(data: []const u8, expected: []const u8) !void {...@@ -199,8 +199,6 @@ fn testDecompress(data: []const u8, expected: []const u8) !void {
199// https://tools.ietf.org/rfc/rfc1951.txt length=36944 bytes199// https://tools.ietf.org/rfc/rfc1951.txt length=36944 bytes
200// SHA256=5ebf4b5b7fe1c3a0c0ab9aa3ac8c0f3853a7dc484905e76e03b0b0f301350009200// SHA256=5ebf4b5b7fe1c3a0c0ab9aa3ac8c0f3853a7dc484905e76e03b0b0f301350009
201test "compressed data" {201test "compressed data" {
202 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
203
204 const rfc1951_txt = @embedFile("testdata/rfc1951.txt");202 const rfc1951_txt = @embedFile("testdata/rfc1951.txt");
205203
206 // Compressed with compression level = 0204 // Compressed with compression level = 0
...@@ -266,8 +264,6 @@ test "sanity checks" {...@@ -266,8 +264,6 @@ test "sanity checks" {
266}264}
267265
268test "compress data" {266test "compress data" {
269 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
270
271 const allocator = testing.allocator;267 const allocator = testing.allocator;
272 const rfc1951_txt = @embedFile("testdata/rfc1951.txt");268 const rfc1951_txt = @embedFile("testdata/rfc1951.txt");
273269
lib/std/compress/zstandard.zig-2
...@@ -264,8 +264,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {...@@ -264,8 +264,6 @@ fn testReader(data: []const u8, comptime expected: []const u8) !void {
264}264}
265265
266test "zstandard decompression" {266test "zstandard decompression" {
267 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
268
269 const uncompressed = @embedFile("testdata/rfc8478.txt");267 const uncompressed = @embedFile("testdata/rfc8478.txt");
270 const compressed3 = @embedFile("testdata/rfc8478.txt.zst.3");268 const compressed3 = @embedFile("testdata/rfc8478.txt.zst.3");
271 const compressed19 = @embedFile("testdata/rfc8478.txt.zst.19");269 const compressed19 = @embedFile("testdata/rfc8478.txt.zst.19");
lib/std/crypto.zig-2
...@@ -314,8 +314,6 @@ test "CSPRNG" {...@@ -314,8 +314,6 @@ test "CSPRNG" {
314}314}
315315
316test "issue #4532: no index out of bounds" {316test "issue #4532: no index out of bounds" {
317 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
318
319 const types = [_]type{317 const types = [_]type{
320 hash.Md5,318 hash.Md5,
321 hash.Sha1,319 hash.Sha1,
lib/std/crypto/25519/curve25519.zig-5
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const crypto = std.crypto;2const crypto = std.crypto;
43
5const IdentityElementError = crypto.errors.IdentityElementError;4const IdentityElementError = crypto.errors.IdentityElementError;
...@@ -112,8 +111,6 @@ pub const Curve25519 = struct {...@@ -112,8 +111,6 @@ pub const Curve25519 = struct {
112};111};
113112
114test "curve25519" {113test "curve25519" {
115 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
116
117 var s = [32]u8{ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 };114 var s = [32]u8{ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 };
118 const p = try Curve25519.basePoint.clampedMul(s);115 const p = try Curve25519.basePoint.clampedMul(s);
119 try p.rejectIdentity();116 try p.rejectIdentity();
...@@ -128,8 +125,6 @@ test "curve25519" {...@@ -128,8 +125,6 @@ test "curve25519" {
128}125}
129126
130test "curve25519 small order check" {127test "curve25519 small order check" {
131 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
132
133 var s: [32]u8 = [_]u8{1} ++ [_]u8{0} ** 31;128 var s: [32]u8 = [_]u8{1} ++ [_]u8{0} ** 31;
134 const small_order_ss: [7][32]u8 = .{129 const small_order_ss: [7][32]u8 = .{
135 .{130 .{
lib/std/crypto/25519/ed25519.zig+1-15
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1const std = @import("std");
2const builtin = @import("builtin");1const builtin = @import("builtin");
2const std = @import("std");
3const crypto = std.crypto;3const crypto = std.crypto;
4const debug = std.debug;4const debug = std.debug;
5const fmt = std.fmt;5const fmt = std.fmt;
...@@ -484,8 +484,6 @@ pub const Ed25519 = struct {...@@ -484,8 +484,6 @@ pub const Ed25519 = struct {
484};484};
485485
486test "ed25519 key pair creation" {486test "ed25519 key pair creation" {
487 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
488
489 var seed: [32]u8 = undefined;487 var seed: [32]u8 = undefined;
490 _ = try fmt.hexToBytes(seed[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");488 _ = try fmt.hexToBytes(seed[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");
491 const key_pair = try Ed25519.KeyPair.create(seed);489 const key_pair = try Ed25519.KeyPair.create(seed);
...@@ -495,8 +493,6 @@ test "ed25519 key pair creation" {...@@ -495,8 +493,6 @@ test "ed25519 key pair creation" {
495}493}
496494
497test "ed25519 signature" {495test "ed25519 signature" {
498 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
499
500 var seed: [32]u8 = undefined;496 var seed: [32]u8 = undefined;
501 _ = try fmt.hexToBytes(seed[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");497 _ = try fmt.hexToBytes(seed[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");
502 const key_pair = try Ed25519.KeyPair.create(seed);498 const key_pair = try Ed25519.KeyPair.create(seed);
...@@ -509,8 +505,6 @@ test "ed25519 signature" {...@@ -509,8 +505,6 @@ test "ed25519 signature" {
509}505}
510506
511test "ed25519 batch verification" {507test "ed25519 batch verification" {
512 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
513
514 var i: usize = 0;508 var i: usize = 0;
515 while (i < 100) : (i += 1) {509 while (i < 100) : (i += 1) {
516 const key_pair = try Ed25519.KeyPair.create(null);510 const key_pair = try Ed25519.KeyPair.create(null);
...@@ -540,8 +534,6 @@ test "ed25519 batch verification" {...@@ -540,8 +534,6 @@ test "ed25519 batch verification" {
540}534}
541535
542test "ed25519 test vectors" {536test "ed25519 test vectors" {
543 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
544
545 const Vec = struct {537 const Vec = struct {
546 msg_hex: *const [64:0]u8,538 msg_hex: *const [64:0]u8,
547 public_key_hex: *const [64:0]u8,539 public_key_hex: *const [64:0]u8,
...@@ -644,8 +636,6 @@ test "ed25519 test vectors" {...@@ -644,8 +636,6 @@ test "ed25519 test vectors" {
644}636}
645637
646test "ed25519 with blind keys" {638test "ed25519 with blind keys" {
647 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
648
649 const BlindKeyPair = Ed25519.key_blinding.BlindKeyPair;639 const BlindKeyPair = Ed25519.key_blinding.BlindKeyPair;
650640
651 // Create a standard Ed25519 key pair641 // Create a standard Ed25519 key pair
...@@ -669,8 +659,6 @@ test "ed25519 with blind keys" {...@@ -669,8 +659,6 @@ test "ed25519 with blind keys" {
669}659}
670660
671test "ed25519 signatures with streaming" {661test "ed25519 signatures with streaming" {
672 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
673
674 const kp = try Ed25519.KeyPair.create(null);662 const kp = try Ed25519.KeyPair.create(null);
675663
676 var signer = try kp.signer(null);664 var signer = try kp.signer(null);
...@@ -687,8 +675,6 @@ test "ed25519 signatures with streaming" {...@@ -687,8 +675,6 @@ test "ed25519 signatures with streaming" {
687}675}
688676
689test "ed25519 key pair from secret key" {677test "ed25519 key pair from secret key" {
690 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
691
692 const kp = try Ed25519.KeyPair.create(null);678 const kp = try Ed25519.KeyPair.create(null);
693 const kp2 = try Ed25519.KeyPair.fromSecretKey(kp.secret_key);679 const kp2 = try Ed25519.KeyPair.fromSecretKey(kp.secret_key);
694 try std.testing.expectEqualSlices(u8, &kp.secret_key.toBytes(), &kp2.secret_key.toBytes());680 try std.testing.expectEqualSlices(u8, &kp.secret_key.toBytes(), &kp2.secret_key.toBytes());
lib/std/crypto/25519/edwards25519.zig-11
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const crypto = std.crypto;2const crypto = std.crypto;
4const debug = std.debug;3const debug = std.debug;
5const fmt = std.fmt;4const fmt = std.fmt;
...@@ -495,8 +494,6 @@ pub const Edwards25519 = struct {...@@ -495,8 +494,6 @@ pub const Edwards25519 = struct {
495const htest = @import("../test.zig");494const htest = @import("../test.zig");
496495
497test "edwards25519 packing/unpacking" {496test "edwards25519 packing/unpacking" {
498 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
499
500 const s = [_]u8{170} ++ [_]u8{0} ** 31;497 const s = [_]u8{170} ++ [_]u8{0} ** 31;
501 var b = Edwards25519.basePoint;498 var b = Edwards25519.basePoint;
502 const pk = try b.mul(s);499 const pk = try b.mul(s);
...@@ -533,8 +530,6 @@ test "edwards25519 packing/unpacking" {...@@ -533,8 +530,6 @@ test "edwards25519 packing/unpacking" {
533}530}
534531
535test "edwards25519 point addition/subtraction" {532test "edwards25519 point addition/subtraction" {
536 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
537
538 var s1: [32]u8 = undefined;533 var s1: [32]u8 = undefined;
539 var s2: [32]u8 = undefined;534 var s2: [32]u8 = undefined;
540 crypto.random.bytes(&s1);535 crypto.random.bytes(&s1);
...@@ -549,8 +544,6 @@ test "edwards25519 point addition/subtraction" {...@@ -549,8 +544,6 @@ test "edwards25519 point addition/subtraction" {
549}544}
550545
551test "edwards25519 uniform-to-point" {546test "edwards25519 uniform-to-point" {
552 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
553
554 var r = [32]u8{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 };547 var r = [32]u8{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 };
555 var p = Edwards25519.fromUniform(r);548 var p = Edwards25519.fromUniform(r);
556 try htest.assertEqual("0691eee3cf70a0056df6bfa03120635636581b5c4ea571dfc680f78c7e0b4137", p.toBytes()[0..]);549 try htest.assertEqual("0691eee3cf70a0056df6bfa03120635636581b5c4ea571dfc680f78c7e0b4137", p.toBytes()[0..]);
...@@ -562,8 +555,6 @@ test "edwards25519 uniform-to-point" {...@@ -562,8 +555,6 @@ test "edwards25519 uniform-to-point" {
562555
563// Test vectors from draft-irtf-cfrg-hash-to-curve-12556// Test vectors from draft-irtf-cfrg-hash-to-curve-12
564test "edwards25519 hash-to-curve operation" {557test "edwards25519 hash-to-curve operation" {
565 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
566
567 var p = Edwards25519.fromString(true, "QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_", "abc");558 var p = Edwards25519.fromString(true, "QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_", "abc");
568 try htest.assertEqual("31558a26887f23fb8218f143e69d5f0af2e7831130bd5b432ef23883b895839a", p.toBytes()[0..]);559 try htest.assertEqual("31558a26887f23fb8218f143e69d5f0af2e7831130bd5b432ef23883b895839a", p.toBytes()[0..]);
569560
...@@ -572,8 +563,6 @@ test "edwards25519 hash-to-curve operation" {...@@ -572,8 +563,6 @@ test "edwards25519 hash-to-curve operation" {
572}563}
573564
574test "edwards25519 implicit reduction of invalid scalars" {565test "edwards25519 implicit reduction of invalid scalars" {
575 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
576
577 const s = [_]u8{0} ** 31 ++ [_]u8{255};566 const s = [_]u8{0} ** 31 ++ [_]u8{255};
578 const p1 = try Edwards25519.basePoint.mulPublic(s);567 const p1 = try Edwards25519.basePoint.mulPublic(s);
579 const p2 = try Edwards25519.basePoint.mul(s);568 const p2 = try Edwards25519.basePoint.mul(s);
lib/std/crypto/25519/ristretto255.zig-2
...@@ -168,8 +168,6 @@ pub const Ristretto255 = struct {...@@ -168,8 +168,6 @@ pub const Ristretto255 = struct {
168};168};
169169
170test "ristretto255" {170test "ristretto255" {
171 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
172
173 const p = Ristretto255.basePoint;171 const p = Ristretto255.basePoint;
174 var buf: [256]u8 = undefined;172 var buf: [256]u8 = undefined;
175 try std.testing.expectEqualStrings(try std.fmt.bufPrint(&buf, "{s}", .{std.fmt.fmtSliceHexUpper(&p.toBytes())}), "E2F2AE0A6ABC4E71A884A961C500515F58E30B6AA582DD8DB6A65945E08D2D76");173 try std.testing.expectEqualStrings(try std.fmt.bufPrint(&buf, "{s}", .{std.fmt.fmtSliceHexUpper(&p.toBytes())}), "E2F2AE0A6ABC4E71A884A961C500515F58E30B6AA582DD8DB6A65945E08D2D76");
lib/std/crypto/25519/x25519.zig-15
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const crypto = std.crypto;2const crypto = std.crypto;
4const mem = std.mem;3const mem = std.mem;
5const fmt = std.fmt;4const fmt = std.fmt;
...@@ -83,8 +82,6 @@ pub const X25519 = struct {...@@ -83,8 +82,6 @@ pub const X25519 = struct {
83const htest = @import("../test.zig");82const htest = @import("../test.zig");
8483
85test "x25519 public key calculation from secret key" {84test "x25519 public key calculation from secret key" {
86 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
87
88 var sk: [32]u8 = undefined;85 var sk: [32]u8 = undefined;
89 var pk_expected: [32]u8 = undefined;86 var pk_expected: [32]u8 = undefined;
90 _ = try fmt.hexToBytes(sk[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");87 _ = try fmt.hexToBytes(sk[0..], "8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166");
...@@ -94,8 +91,6 @@ test "x25519 public key calculation from secret key" {...@@ -94,8 +91,6 @@ test "x25519 public key calculation from secret key" {
94}91}
9592
96test "x25519 rfc7748 vector1" {93test "x25519 rfc7748 vector1" {
97 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
98
99 const secret_key = [32]u8{ 0xa5, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d, 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd, 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18, 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0xc4 };94 const secret_key = [32]u8{ 0xa5, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d, 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd, 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18, 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0xc4 };
100 const public_key = [32]u8{ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb, 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c, 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b, 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c };95 const public_key = [32]u8{ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb, 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c, 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b, 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c };
10196
...@@ -106,8 +101,6 @@ test "x25519 rfc7748 vector1" {...@@ -106,8 +101,6 @@ test "x25519 rfc7748 vector1" {
106}101}
107102
108test "x25519 rfc7748 vector2" {103test "x25519 rfc7748 vector2" {
109 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
110
111 const secret_key = [32]u8{ 0x4b, 0x66, 0xe9, 0xd4, 0xd1, 0xb4, 0x67, 0x3c, 0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5, 0xc1, 0x1b, 0x64, 0x21, 0xe0, 0xea, 0x01, 0xd4, 0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x0d };104 const secret_key = [32]u8{ 0x4b, 0x66, 0xe9, 0xd4, 0xd1, 0xb4, 0x67, 0x3c, 0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5, 0xc1, 0x1b, 0x64, 0x21, 0xe0, 0xea, 0x01, 0xd4, 0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x0d };
112 const public_key = [32]u8{ 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3, 0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c, 0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e, 0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x93 };105 const public_key = [32]u8{ 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3, 0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c, 0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e, 0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x93 };
113106
...@@ -118,8 +111,6 @@ test "x25519 rfc7748 vector2" {...@@ -118,8 +111,6 @@ test "x25519 rfc7748 vector2" {
118}111}
119112
120test "x25519 rfc7748 one iteration" {113test "x25519 rfc7748 one iteration" {
121 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
122
123 const initial_value = [32]u8{ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };114 const initial_value = [32]u8{ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
124 const expected_output = [32]u8{ 0x42, 0x2c, 0x8e, 0x7a, 0x62, 0x27, 0xd7, 0xbc, 0xa1, 0x35, 0x0b, 0x3e, 0x2b, 0xb7, 0x27, 0x9f, 0x78, 0x97, 0xb8, 0x7b, 0xb6, 0x85, 0x4b, 0x78, 0x3c, 0x60, 0xe8, 0x03, 0x11, 0xae, 0x30, 0x79 };115 const expected_output = [32]u8{ 0x42, 0x2c, 0x8e, 0x7a, 0x62, 0x27, 0xd7, 0xbc, 0xa1, 0x35, 0x0b, 0x3e, 0x2b, 0xb7, 0x27, 0x9f, 0x78, 0x97, 0xb8, 0x7b, 0xb6, 0x85, 0x4b, 0x78, 0x3c, 0x60, 0xe8, 0x03, 0x11, 0xae, 0x30, 0x79 };
125116
...@@ -137,8 +128,6 @@ test "x25519 rfc7748 one iteration" {...@@ -137,8 +128,6 @@ test "x25519 rfc7748 one iteration" {
137}128}
138129
139test "x25519 rfc7748 1,000 iterations" {130test "x25519 rfc7748 1,000 iterations" {
140 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
141
142 // These iteration tests are slow so we always skip them. Results have been verified.131 // These iteration tests are slow so we always skip them. Results have been verified.
143 if (true) {132 if (true) {
144 return error.SkipZigTest;133 return error.SkipZigTest;
...@@ -161,8 +150,6 @@ test "x25519 rfc7748 1,000 iterations" {...@@ -161,8 +150,6 @@ test "x25519 rfc7748 1,000 iterations" {
161}150}
162151
163test "x25519 rfc7748 1,000,000 iterations" {152test "x25519 rfc7748 1,000,000 iterations" {
164 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
165
166 if (true) {153 if (true) {
167 return error.SkipZigTest;154 return error.SkipZigTest;
168 }155 }
...@@ -184,8 +171,6 @@ test "x25519 rfc7748 1,000,000 iterations" {...@@ -184,8 +171,6 @@ test "x25519 rfc7748 1,000,000 iterations" {
184}171}
185172
186test "edwards25519 -> curve25519 map" {173test "edwards25519 -> curve25519 map" {
187 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
188
189 const ed_kp = try crypto.sign.Ed25519.KeyPair.create([_]u8{0x42} ** 32);174 const ed_kp = try crypto.sign.Ed25519.KeyPair.create([_]u8{0x42} ** 32);
190 const mont_kp = try X25519.KeyPair.fromEd25519(ed_kp);175 const mont_kp = try X25519.KeyPair.fromEd25519(ed_kp);
191 try htest.assertEqual("90e7595fc89e52fdfddce9c6a43d74dbf6047025ee0462d2d172e8b6a2841d6e", &mont_kp.secret_key);176 try htest.assertEqual("90e7595fc89e52fdfddce9c6a43d74dbf6047025ee0462d2d172e8b6a2841d6e", &mont_kp.secret_key);
lib/std/crypto/Certificate.zig-6
...@@ -624,8 +624,6 @@ pub fn parseTimeDigits(text: *const [2]u8, min: u8, max: u8) !u8 {...@@ -624,8 +624,6 @@ pub fn parseTimeDigits(text: *const [2]u8, min: u8, max: u8) !u8 {
624}624}
625625
626test parseTimeDigits {626test parseTimeDigits {
627 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
628
629 const expectEqual = std.testing.expectEqual;627 const expectEqual = std.testing.expectEqual;
630 try expectEqual(@as(u8, 0), try parseTimeDigits("00", 0, 99));628 try expectEqual(@as(u8, 0), try parseTimeDigits("00", 0, 99));
631 try expectEqual(@as(u8, 99), try parseTimeDigits("99", 0, 99));629 try expectEqual(@as(u8, 99), try parseTimeDigits("99", 0, 99));
...@@ -647,8 +645,6 @@ pub fn parseYear4(text: *const [4]u8) !u16 {...@@ -647,8 +645,6 @@ pub fn parseYear4(text: *const [4]u8) !u16 {
647}645}
648646
649test parseYear4 {647test parseYear4 {
650 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
651
652 const expectEqual = std.testing.expectEqual;648 const expectEqual = std.testing.expectEqual;
653 try expectEqual(@as(u16, 0), try parseYear4("0000"));649 try expectEqual(@as(u16, 0), try parseYear4("0000"));
654 try expectEqual(@as(u16, 9999), try parseYear4("9999"));650 try expectEqual(@as(u16, 9999), try parseYear4("9999"));
...@@ -1123,5 +1119,3 @@ pub const rsa = struct {...@@ -1123,5 +1119,3 @@ pub const rsa = struct {
1123 return res;1119 return res;
1124 }1120 }
1125};1121};
1126
1127const builtin = @import("builtin");
lib/std/crypto/Certificate/Bundle.zig-2
...@@ -318,8 +318,6 @@ const MapContext = struct {...@@ -318,8 +318,6 @@ const MapContext = struct {
318test "scan for OS-provided certificates" {318test "scan for OS-provided certificates" {
319 if (builtin.os.tag == .wasi) return error.SkipZigTest;319 if (builtin.os.tag == .wasi) return error.SkipZigTest;
320320
321 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
322
323 var bundle: Bundle = .{};321 var bundle: Bundle = .{};
324 defer bundle.deinit(std.testing.allocator);322 defer bundle.deinit(std.testing.allocator);
325323
lib/std/crypto/aegis.zig-15
...@@ -17,7 +17,6 @@...@@ -17,7 +17,6 @@
17//! https://datatracker.ietf.org/doc/draft-irtf-cfrg-aegis-aead/17//! https://datatracker.ietf.org/doc/draft-irtf-cfrg-aegis-aead/
1818
19const std = @import("std");19const std = @import("std");
20const builtin = @import("builtin");
21const crypto = std.crypto;20const crypto = std.crypto;
22const mem = std.mem;21const mem = std.mem;
23const assert = std.debug.assert;22const assert = std.debug.assert;
...@@ -514,8 +513,6 @@ const htest = @import("test.zig");...@@ -514,8 +513,6 @@ const htest = @import("test.zig");
514const testing = std.testing;513const testing = std.testing;
515514
516test "Aegis128L test vector 1" {515test "Aegis128L test vector 1" {
517 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
518
519 const key: [Aegis128L.key_length]u8 = [_]u8{ 0x10, 0x01 } ++ [_]u8{0x00} ** 14;516 const key: [Aegis128L.key_length]u8 = [_]u8{ 0x10, 0x01 } ++ [_]u8{0x00} ** 14;
520 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{ 0x10, 0x00, 0x02 } ++ [_]u8{0x00} ** 13;517 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{ 0x10, 0x00, 0x02 } ++ [_]u8{0x00} ** 13;
521 const ad = [8]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };518 const ad = [8]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
...@@ -539,8 +536,6 @@ test "Aegis128L test vector 1" {...@@ -539,8 +536,6 @@ test "Aegis128L test vector 1" {
539}536}
540537
541test "Aegis128L test vector 2" {538test "Aegis128L test vector 2" {
542 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
543
544 const key: [Aegis128L.key_length]u8 = [_]u8{0x00} ** 16;539 const key: [Aegis128L.key_length]u8 = [_]u8{0x00} ** 16;
545 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{0x00} ** 16;540 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{0x00} ** 16;
546 const ad = [_]u8{};541 const ad = [_]u8{};
...@@ -558,8 +553,6 @@ test "Aegis128L test vector 2" {...@@ -558,8 +553,6 @@ test "Aegis128L test vector 2" {
558}553}
559554
560test "Aegis128L test vector 3" {555test "Aegis128L test vector 3" {
561 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
562
563 const key: [Aegis128L.key_length]u8 = [_]u8{0x00} ** 16;556 const key: [Aegis128L.key_length]u8 = [_]u8{0x00} ** 16;
564 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{0x00} ** 16;557 const nonce: [Aegis128L.nonce_length]u8 = [_]u8{0x00} ** 16;
565 const ad = [_]u8{};558 const ad = [_]u8{};
...@@ -576,8 +569,6 @@ test "Aegis128L test vector 3" {...@@ -576,8 +569,6 @@ test "Aegis128L test vector 3" {
576}569}
577570
578test "Aegis256 test vector 1" {571test "Aegis256 test vector 1" {
579 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
580
581 const key: [Aegis256.key_length]u8 = [_]u8{ 0x10, 0x01 } ++ [_]u8{0x00} ** 30;572 const key: [Aegis256.key_length]u8 = [_]u8{ 0x10, 0x01 } ++ [_]u8{0x00} ** 30;
582 const nonce: [Aegis256.nonce_length]u8 = [_]u8{ 0x10, 0x00, 0x02 } ++ [_]u8{0x00} ** 29;573 const nonce: [Aegis256.nonce_length]u8 = [_]u8{ 0x10, 0x00, 0x02 } ++ [_]u8{0x00} ** 29;
583 const ad = [8]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };574 const ad = [8]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
...@@ -601,8 +592,6 @@ test "Aegis256 test vector 1" {...@@ -601,8 +592,6 @@ test "Aegis256 test vector 1" {
601}592}
602593
603test "Aegis256 test vector 2" {594test "Aegis256 test vector 2" {
604 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
605
606 const key: [Aegis256.key_length]u8 = [_]u8{0x00} ** 32;595 const key: [Aegis256.key_length]u8 = [_]u8{0x00} ** 32;
607 const nonce: [Aegis256.nonce_length]u8 = [_]u8{0x00} ** 32;596 const nonce: [Aegis256.nonce_length]u8 = [_]u8{0x00} ** 32;
608 const ad = [_]u8{};597 const ad = [_]u8{};
...@@ -620,8 +609,6 @@ test "Aegis256 test vector 2" {...@@ -620,8 +609,6 @@ test "Aegis256 test vector 2" {
620}609}
621610
622test "Aegis256 test vector 3" {611test "Aegis256 test vector 3" {
623 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
624
625 const key: [Aegis256.key_length]u8 = [_]u8{0x00} ** 32;612 const key: [Aegis256.key_length]u8 = [_]u8{0x00} ** 32;
626 const nonce: [Aegis256.nonce_length]u8 = [_]u8{0x00} ** 32;613 const nonce: [Aegis256.nonce_length]u8 = [_]u8{0x00} ** 32;
627 const ad = [_]u8{};614 const ad = [_]u8{};
...@@ -638,8 +625,6 @@ test "Aegis256 test vector 3" {...@@ -638,8 +625,6 @@ test "Aegis256 test vector 3" {
638}625}
639626
640test "Aegis MAC" {627test "Aegis MAC" {
641 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
642
643 const key = [_]u8{0x00} ** Aegis128LMac.key_length;628 const key = [_]u8{0x00} ** Aegis128LMac.key_length;
644 var msg: [64]u8 = undefined;629 var msg: [64]u8 = undefined;
645 for (&msg, 0..) |*m, i| {630 for (&msg, 0..) |*m, i| {
lib/std/crypto/aes.zig-10
...@@ -28,8 +28,6 @@ pub const Aes128 = impl.Aes128;...@@ -28,8 +28,6 @@ pub const Aes128 = impl.Aes128;
28pub const Aes256 = impl.Aes256;28pub const Aes256 = impl.Aes256;
2929
30test "ctr" {30test "ctr" {
31 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
32
33 // NIST SP 800-38A pp 55-5831 // NIST SP 800-38A pp 55-58
34 const ctr = @import("modes.zig").ctr;32 const ctr = @import("modes.zig").ctr;
3533
...@@ -55,8 +53,6 @@ test "ctr" {...@@ -55,8 +53,6 @@ test "ctr" {
55}53}
5654
57test "encrypt" {55test "encrypt" {
58 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
59
60 // Appendix B56 // Appendix B
61 {57 {
62 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };58 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };
...@@ -86,8 +82,6 @@ test "encrypt" {...@@ -86,8 +82,6 @@ test "encrypt" {
86}82}
8783
88test "decrypt" {84test "decrypt" {
89 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
90
91 // Appendix B85 // Appendix B
92 {86 {
93 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };87 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };
...@@ -117,8 +111,6 @@ test "decrypt" {...@@ -117,8 +111,6 @@ test "decrypt" {
117}111}
118112
119test "expand 128-bit key" {113test "expand 128-bit key" {
120 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
121
122 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };114 const key = [_]u8{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };
123 const exp_enc = [_]*const [32:0]u8{115 const exp_enc = [_]*const [32:0]u8{
124 "2b7e151628aed2a6abf7158809cf4f3c", "a0fafe1788542cb123a339392a6c7605", "f2c295f27a96b9435935807a7359f67f", "3d80477d4716fe3e1e237e446d7a883b", "ef44a541a8525b7fb671253bdb0bad00", "d4d1c6f87c839d87caf2b8bc11f915bc", "6d88a37a110b3efddbf98641ca0093fd", "4e54f70e5f5fc9f384a64fb24ea6dc4f", "ead27321b58dbad2312bf5607f8d292f", "ac7766f319fadc2128d12941575c006e", "d014f9a8c9ee2589e13f0cc8b6630ca6",116 "2b7e151628aed2a6abf7158809cf4f3c", "a0fafe1788542cb123a339392a6c7605", "f2c295f27a96b9435935807a7359f67f", "3d80477d4716fe3e1e237e446d7a883b", "ef44a541a8525b7fb671253bdb0bad00", "d4d1c6f87c839d87caf2b8bc11f915bc", "6d88a37a110b3efddbf98641ca0093fd", "4e54f70e5f5fc9f384a64fb24ea6dc4f", "ead27321b58dbad2312bf5607f8d292f", "ac7766f319fadc2128d12941575c006e", "d014f9a8c9ee2589e13f0cc8b6630ca6",
...@@ -141,8 +133,6 @@ test "expand 128-bit key" {...@@ -141,8 +133,6 @@ test "expand 128-bit key" {
141}133}
142134
143test "expand 256-bit key" {135test "expand 256-bit key" {
144 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
145
146 const key = [_]u8{136 const key = [_]u8{
147 0x60, 0x3d, 0xeb, 0x10,137 0x60, 0x3d, 0xeb, 0x10,
148 0x15, 0xca, 0x71, 0xbe,138 0x15, 0xca, 0x71, 0xbe,
lib/std/crypto/aes_gcm.zig-9
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const assert = std.debug.assert;2const assert = std.debug.assert;
4const crypto = std.crypto;3const crypto = std.crypto;
5const debug = std.debug;4const debug = std.debug;
...@@ -113,8 +112,6 @@ const htest = @import("test.zig");...@@ -113,8 +112,6 @@ const htest = @import("test.zig");
113const testing = std.testing;112const testing = std.testing;
114113
115test "Aes256Gcm - Empty message and no associated data" {114test "Aes256Gcm - Empty message and no associated data" {
116 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
117
118 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;115 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;
119 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;116 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;
120 const ad = "";117 const ad = "";
...@@ -127,8 +124,6 @@ test "Aes256Gcm - Empty message and no associated data" {...@@ -127,8 +124,6 @@ test "Aes256Gcm - Empty message and no associated data" {
127}124}
128125
129test "Aes256Gcm - Associated data only" {126test "Aes256Gcm - Associated data only" {
130 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
131
132 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;127 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;
133 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;128 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;
134 const m = "";129 const m = "";
...@@ -141,8 +136,6 @@ test "Aes256Gcm - Associated data only" {...@@ -141,8 +136,6 @@ test "Aes256Gcm - Associated data only" {
141}136}
142137
143test "Aes256Gcm - Message only" {138test "Aes256Gcm - Message only" {
144 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
145
146 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;139 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;
147 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;140 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;
148 const m = "Test with message only";141 const m = "Test with message only";
...@@ -160,8 +153,6 @@ test "Aes256Gcm - Message only" {...@@ -160,8 +153,6 @@ test "Aes256Gcm - Message only" {
160}153}
161154
162test "Aes256Gcm - Message and associated data" {155test "Aes256Gcm - Message and associated data" {
163 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
164
165 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;156 const key: [Aes256Gcm.key_length]u8 = [_]u8{0x69} ** Aes256Gcm.key_length;
166 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;157 const nonce: [Aes256Gcm.nonce_length]u8 = [_]u8{0x42} ** Aes256Gcm.nonce_length;
167 const m = "Test with message";158 const m = "Test with message";
lib/std/crypto/aes_ocb.zig+4-16
...@@ -261,10 +261,7 @@ inline fn xorWith(x: *Block, y: Block) void {...@@ -261,10 +261,7 @@ inline fn xorWith(x: *Block, y: Block) void {
261const hexToBytes = std.fmt.hexToBytes;261const hexToBytes = std.fmt.hexToBytes;
262262
263test "AesOcb test vector 1" {263test "AesOcb test vector 1" {
264 switch (builtin.zig_backend) {264 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
265 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
266 else => {},
267 }
268265
269 var k: [Aes128Ocb.key_length]u8 = undefined;266 var k: [Aes128Ocb.key_length]u8 = undefined;
270 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;267 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;
...@@ -283,10 +280,7 @@ test "AesOcb test vector 1" {...@@ -283,10 +280,7 @@ test "AesOcb test vector 1" {
283}280}
284281
285test "AesOcb test vector 2" {282test "AesOcb test vector 2" {
286 switch (builtin.zig_backend) {283 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
287 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
288 else => {},
289 }
290284
291 var k: [Aes128Ocb.key_length]u8 = undefined;285 var k: [Aes128Ocb.key_length]u8 = undefined;
292 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;286 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;
...@@ -307,10 +301,7 @@ test "AesOcb test vector 2" {...@@ -307,10 +301,7 @@ test "AesOcb test vector 2" {
307}301}
308302
309test "AesOcb test vector 3" {303test "AesOcb test vector 3" {
310 switch (builtin.zig_backend) {304 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
311 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
312 else => {},
313 }
314305
315 var k: [Aes128Ocb.key_length]u8 = undefined;306 var k: [Aes128Ocb.key_length]u8 = undefined;
316 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;307 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;
...@@ -334,10 +325,7 @@ test "AesOcb test vector 3" {...@@ -334,10 +325,7 @@ test "AesOcb test vector 3" {
334}325}
335326
336test "AesOcb test vector 4" {327test "AesOcb test vector 4" {
337 switch (builtin.zig_backend) {328 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
338 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
339 else => {},
340 }
341329
342 var k: [Aes128Ocb.key_length]u8 = undefined;330 var k: [Aes128Ocb.key_length]u8 = undefined;
343 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;331 var nonce: [Aes128Ocb.nonce_length]u8 = undefined;
lib/std/crypto/argon2.zig-14
...@@ -622,8 +622,6 @@ pub fn strVerify(...@@ -622,8 +622,6 @@ pub fn strVerify(
622}622}
623623
624test "argon2d" {624test "argon2d" {
625 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
626
627 const password = [_]u8{0x01} ** 32;625 const password = [_]u8{0x01} ** 32;
628 const salt = [_]u8{0x02} ** 16;626 const salt = [_]u8{0x02} ** 16;
629 const secret = [_]u8{0x03} ** 8;627 const secret = [_]u8{0x03} ** 8;
...@@ -649,8 +647,6 @@ test "argon2d" {...@@ -649,8 +647,6 @@ test "argon2d" {
649}647}
650648
651test "argon2i" {649test "argon2i" {
652 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
653
654 const password = [_]u8{0x01} ** 32;650 const password = [_]u8{0x01} ** 32;
655 const salt = [_]u8{0x02} ** 16;651 const salt = [_]u8{0x02} ** 16;
656 const secret = [_]u8{0x03} ** 8;652 const secret = [_]u8{0x03} ** 8;
...@@ -676,8 +672,6 @@ test "argon2i" {...@@ -676,8 +672,6 @@ test "argon2i" {
676}672}
677673
678test "argon2id" {674test "argon2id" {
679 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
680
681 const password = [_]u8{0x01} ** 32;675 const password = [_]u8{0x01} ** 32;
682 const salt = [_]u8{0x02} ** 16;676 const salt = [_]u8{0x02} ** 16;
683 const secret = [_]u8{0x03} ** 8;677 const secret = [_]u8{0x03} ** 8;
...@@ -703,8 +697,6 @@ test "argon2id" {...@@ -703,8 +697,6 @@ test "argon2id" {
703}697}
704698
705test "kdf" {699test "kdf" {
706 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
707
708 const password = "password";700 const password = "password";
709 const salt = "somesalt";701 const salt = "somesalt";
710702
...@@ -904,8 +896,6 @@ test "kdf" {...@@ -904,8 +896,6 @@ test "kdf" {
904}896}
905897
906test "phc format hasher" {898test "phc format hasher" {
907 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
908
909 const allocator = std.testing.allocator;899 const allocator = std.testing.allocator;
910 const password = "testpass";900 const password = "testpass";
911901
...@@ -921,8 +911,6 @@ test "phc format hasher" {...@@ -921,8 +911,6 @@ test "phc format hasher" {
921}911}
922912
923test "password hash and password verify" {913test "password hash and password verify" {
924 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
925
926 const allocator = std.testing.allocator;914 const allocator = std.testing.allocator;
927 const password = "testpass";915 const password = "testpass";
928916
...@@ -936,8 +924,6 @@ test "password hash and password verify" {...@@ -936,8 +924,6 @@ test "password hash and password verify" {
936}924}
937925
938test "kdf derived key length" {926test "kdf derived key length" {
939 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
940
941 const allocator = std.testing.allocator;927 const allocator = std.testing.allocator;
942928
943 const password = "testpass";929 const password = "testpass";
lib/std/crypto/bcrypt.zig-7
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const base64 = std.base64;2const base64 = std.base64;
4const crypto = std.crypto;3const crypto = std.crypto;
5const debug = std.debug;4const debug = std.debug;
...@@ -754,8 +753,6 @@ pub fn strVerify(...@@ -754,8 +753,6 @@ pub fn strVerify(
754}753}
755754
756test "bcrypt codec" {755test "bcrypt codec" {
757 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
758
759 var salt: [salt_length]u8 = undefined;756 var salt: [salt_length]u8 = undefined;
760 crypto.random.bytes(&salt);757 crypto.random.bytes(&salt);
761 var salt_str: [salt_str_length]u8 = undefined;758 var salt_str: [salt_str_length]u8 = undefined;
...@@ -766,8 +763,6 @@ test "bcrypt codec" {...@@ -766,8 +763,6 @@ test "bcrypt codec" {
766}763}
767764
768test "bcrypt crypt format" {765test "bcrypt crypt format" {
769 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
770
771 var hash_options = HashOptions{766 var hash_options = HashOptions{
772 .params = .{ .rounds_log = 5 },767 .params = .{ .rounds_log = 5 },
773 .encoding = .crypt,768 .encoding = .crypt,
...@@ -808,8 +803,6 @@ test "bcrypt crypt format" {...@@ -808,8 +803,6 @@ test "bcrypt crypt format" {
808}803}
809804
810test "bcrypt phc format" {805test "bcrypt phc format" {
811 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
812
813 var hash_options = HashOptions{806 var hash_options = HashOptions{
814 .params = .{ .rounds_log = 5 },807 .params = .{ .rounds_log = 5 },
815 .encoding = .phc,808 .encoding = .phc,
lib/std/crypto/blake3.zig+1-3
...@@ -200,7 +200,7 @@ const CompressGeneric = struct {...@@ -200,7 +200,7 @@ const CompressGeneric = struct {
200 }200 }
201};201};
202202
203const compress = if (builtin.cpu.arch == .x86_64 and builtin.zig_backend != .stage2_x86_64)203const compress = if (builtin.cpu.arch == .x86_64)
204 CompressVectorized.compress204 CompressVectorized.compress
205else205else
206 CompressGeneric.compress;206 CompressGeneric.compress;
...@@ -682,8 +682,6 @@ fn testBlake3(hasher: *Blake3, input_len: usize, expected_hex: [262]u8) !void {...@@ -682,8 +682,6 @@ fn testBlake3(hasher: *Blake3, input_len: usize, expected_hex: [262]u8) !void {
682}682}
683683
684test "BLAKE3 reference test cases" {684test "BLAKE3 reference test cases" {
685 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
686
687 var hash_state = Blake3.init(.{});685 var hash_state = Blake3.init(.{});
688 const hash = &hash_state;686 const hash = &hash_state;
689 var keyed_hash_state = Blake3.init(.{ .key = reference_test.key.* });687 var keyed_hash_state = Blake3.init(.{ .key = reference_test.key.* });
lib/std/crypto/chacha20.zig-22
...@@ -499,8 +499,6 @@ fn ChaChaNonVecImpl(comptime rounds_nb: usize) type {...@@ -499,8 +499,6 @@ fn ChaChaNonVecImpl(comptime rounds_nb: usize) type {
499fn ChaChaImpl(comptime rounds_nb: usize) type {499fn ChaChaImpl(comptime rounds_nb: usize) type {
500 switch (builtin.cpu.arch) {500 switch (builtin.cpu.arch) {
501 .x86_64 => {501 .x86_64 => {
502 if (builtin.zig_backend == .stage2_x86_64) return ChaChaNonVecImpl(rounds_nb);
503
504 const has_avx2 = std.Target.x86.featureSetHas(builtin.cpu.features, .avx2);502 const has_avx2 = std.Target.x86.featureSetHas(builtin.cpu.features, .avx2);
505 const has_avx512f = std.Target.x86.featureSetHas(builtin.cpu.features, .avx512f);503 const has_avx512f = std.Target.x86.featureSetHas(builtin.cpu.features, .avx512f);
506 if (has_avx512f) return ChaChaVecImpl(rounds_nb, 4);504 if (has_avx512f) return ChaChaVecImpl(rounds_nb, 4);
...@@ -759,8 +757,6 @@ fn XChaChaPoly1305(comptime rounds_nb: usize) type {...@@ -759,8 +757,6 @@ fn XChaChaPoly1305(comptime rounds_nb: usize) type {
759}757}
760758
761test "chacha20 AEAD API" {759test "chacha20 AEAD API" {
762 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
763
764 const aeads = [_]type{ ChaCha20Poly1305, XChaCha20Poly1305 };760 const aeads = [_]type{ ChaCha20Poly1305, XChaCha20Poly1305 };
765 const m = "Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.";761 const m = "Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.";
766 const ad = "Additional data";762 const ad = "Additional data";
...@@ -782,8 +778,6 @@ test "chacha20 AEAD API" {...@@ -782,8 +778,6 @@ test "chacha20 AEAD API" {
782778
783// https://tools.ietf.org/html/rfc7539#section-2.4.2779// https://tools.ietf.org/html/rfc7539#section-2.4.2
784test "crypto.chacha20 test vector sunscreen" {780test "crypto.chacha20 test vector sunscreen" {
785 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
786
787 const expected_result = [_]u8{781 const expected_result = [_]u8{
788 0x6e, 0x2e, 0x35, 0x9a, 0x25, 0x68, 0xf9, 0x80,782 0x6e, 0x2e, 0x35, 0x9a, 0x25, 0x68, 0xf9, 0x80,
789 0x41, 0xba, 0x07, 0x28, 0xdd, 0x0d, 0x69, 0x81,783 0x41, 0xba, 0x07, 0x28, 0xdd, 0x0d, 0x69, 0x81,
...@@ -825,8 +819,6 @@ test "crypto.chacha20 test vector sunscreen" {...@@ -825,8 +819,6 @@ test "crypto.chacha20 test vector sunscreen" {
825819
826// https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-04#section-7820// https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-04#section-7
827test "crypto.chacha20 test vector 1" {821test "crypto.chacha20 test vector 1" {
828 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
829
830 const expected_result = [_]u8{822 const expected_result = [_]u8{
831 0x76, 0xb8, 0xe0, 0xad, 0xa0, 0xf1, 0x3d, 0x90,823 0x76, 0xb8, 0xe0, 0xad, 0xa0, 0xf1, 0x3d, 0x90,
832 0x40, 0x5d, 0x6a, 0xe5, 0x53, 0x86, 0xbd, 0x28,824 0x40, 0x5d, 0x6a, 0xe5, 0x53, 0x86, 0xbd, 0x28,
...@@ -861,8 +853,6 @@ test "crypto.chacha20 test vector 1" {...@@ -861,8 +853,6 @@ test "crypto.chacha20 test vector 1" {
861}853}
862854
863test "crypto.chacha20 test vector 2" {855test "crypto.chacha20 test vector 2" {
864 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
865
866 const expected_result = [_]u8{856 const expected_result = [_]u8{
867 0x45, 0x40, 0xf0, 0x5a, 0x9f, 0x1f, 0xb2, 0x96,857 0x45, 0x40, 0xf0, 0x5a, 0x9f, 0x1f, 0xb2, 0x96,
868 0xd7, 0x73, 0x6e, 0x7b, 0x20, 0x8e, 0x3c, 0x96,858 0xd7, 0x73, 0x6e, 0x7b, 0x20, 0x8e, 0x3c, 0x96,
...@@ -897,8 +887,6 @@ test "crypto.chacha20 test vector 2" {...@@ -897,8 +887,6 @@ test "crypto.chacha20 test vector 2" {
897}887}
898888
899test "crypto.chacha20 test vector 3" {889test "crypto.chacha20 test vector 3" {
900 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
901
902 const expected_result = [_]u8{890 const expected_result = [_]u8{
903 0xde, 0x9c, 0xba, 0x7b, 0xf3, 0xd6, 0x9e, 0xf5,891 0xde, 0x9c, 0xba, 0x7b, 0xf3, 0xd6, 0x9e, 0xf5,
904 0xe7, 0x86, 0xdc, 0x63, 0x97, 0x3f, 0x65, 0x3a,892 0xe7, 0x86, 0xdc, 0x63, 0x97, 0x3f, 0x65, 0x3a,
...@@ -933,8 +921,6 @@ test "crypto.chacha20 test vector 3" {...@@ -933,8 +921,6 @@ test "crypto.chacha20 test vector 3" {
933}921}
934922
935test "crypto.chacha20 test vector 4" {923test "crypto.chacha20 test vector 4" {
936 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
937
938 const expected_result = [_]u8{924 const expected_result = [_]u8{
939 0xef, 0x3f, 0xdf, 0xd6, 0xc6, 0x15, 0x78, 0xfb,925 0xef, 0x3f, 0xdf, 0xd6, 0xc6, 0x15, 0x78, 0xfb,
940 0xf5, 0xcf, 0x35, 0xbd, 0x3d, 0xd3, 0x3b, 0x80,926 0xf5, 0xcf, 0x35, 0xbd, 0x3d, 0xd3, 0x3b, 0x80,
...@@ -969,8 +955,6 @@ test "crypto.chacha20 test vector 4" {...@@ -969,8 +955,6 @@ test "crypto.chacha20 test vector 4" {
969}955}
970956
971test "crypto.chacha20 test vector 5" {957test "crypto.chacha20 test vector 5" {
972 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
973
974 const expected_result = [_]u8{958 const expected_result = [_]u8{
975 0xf7, 0x98, 0xa1, 0x89, 0xf1, 0x95, 0xe6, 0x69,959 0xf7, 0x98, 0xa1, 0x89, 0xf1, 0x95, 0xe6, 0x69,
976 0x82, 0x10, 0x5f, 0xfb, 0x64, 0x0b, 0xb7, 0x75,960 0x82, 0x10, 0x5f, 0xfb, 0x64, 0x0b, 0xb7, 0x75,
...@@ -1043,8 +1027,6 @@ test "crypto.chacha20 test vector 5" {...@@ -1043,8 +1027,6 @@ test "crypto.chacha20 test vector 5" {
1043}1027}
10441028
1045test "seal" {1029test "seal" {
1046 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1047
1048 {1030 {
1049 const m = "";1031 const m = "";
1050 const ad = "";1032 const ad = "";
...@@ -1095,8 +1077,6 @@ test "seal" {...@@ -1095,8 +1077,6 @@ test "seal" {
1095}1077}
10961078
1097test "open" {1079test "open" {
1098 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1099
1100 {1080 {
1101 const c = [_]u8{ 0xa0, 0x78, 0x4d, 0x7a, 0x47, 0x16, 0xf3, 0xfe, 0xb4, 0xf6, 0x4e, 0x7f, 0x4b, 0x39, 0xbf, 0x4 };1081 const c = [_]u8{ 0xa0, 0x78, 0x4d, 0x7a, 0x47, 0x16, 0xf3, 0xfe, 0xb4, 0xf6, 0x4e, 0x7f, 0x4b, 0x39, 0xbf, 0x4 };
1102 const ad = "";1082 const ad = "";
...@@ -1161,8 +1141,6 @@ test "open" {...@@ -1161,8 +1141,6 @@ test "open" {
1161}1141}
11621142
1163test "crypto.xchacha20" {1143test "crypto.xchacha20" {
1164 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1165
1166 const key = [_]u8{69} ** 32;1144 const key = [_]u8{69} ** 32;
1167 const nonce = [_]u8{42} ** 24;1145 const nonce = [_]u8{42} ** 24;
1168 const m = "Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.";1146 const m = "Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.";
lib/std/crypto/cmac.zig-9
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const crypto = std.crypto;2const crypto = std.crypto;
4const mem = std.mem;3const mem = std.mem;
54
...@@ -94,8 +93,6 @@ pub fn Cmac(comptime BlockCipher: type) type {...@@ -94,8 +93,6 @@ pub fn Cmac(comptime BlockCipher: type) type {
94const testing = std.testing;93const testing = std.testing;
9594
96test "CmacAes128 - Example 1: len = 0" {95test "CmacAes128 - Example 1: len = 0" {
97 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
98
99 const key = [_]u8{96 const key = [_]u8{
100 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,97 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
101 };98 };
...@@ -109,8 +106,6 @@ test "CmacAes128 - Example 1: len = 0" {...@@ -109,8 +106,6 @@ test "CmacAes128 - Example 1: len = 0" {
109}106}
110107
111test "CmacAes128 - Example 2: len = 16" {108test "CmacAes128 - Example 2: len = 16" {
112 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
113
114 const key = [_]u8{109 const key = [_]u8{
115 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,110 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
116 };111 };
...@@ -126,8 +121,6 @@ test "CmacAes128 - Example 2: len = 16" {...@@ -126,8 +121,6 @@ test "CmacAes128 - Example 2: len = 16" {
126}121}
127122
128test "CmacAes128 - Example 3: len = 40" {123test "CmacAes128 - Example 3: len = 40" {
129 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
130
131 const key = [_]u8{124 const key = [_]u8{
132 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,125 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
133 };126 };
...@@ -145,8 +138,6 @@ test "CmacAes128 - Example 3: len = 40" {...@@ -145,8 +138,6 @@ test "CmacAes128 - Example 3: len = 40" {
145}138}
146139
147test "CmacAes128 - Example 4: len = 64" {140test "CmacAes128 - Example 4: len = 64" {
148 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
149
150 const key = [_]u8{141 const key = [_]u8{
151 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,142 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
152 };143 };
lib/std/crypto/ecdsa.zig+6-24
...@@ -372,10 +372,7 @@ pub fn Ecdsa(comptime Curve: type, comptime Hash: type) type {...@@ -372,10 +372,7 @@ pub fn Ecdsa(comptime Curve: type, comptime Hash: type) type {
372}372}
373373
374test "ECDSA - Basic operations over EcdsaP384Sha384" {374test "ECDSA - Basic operations over EcdsaP384Sha384" {
375 switch (builtin.zig_backend) {375 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
376 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
377 else => {},
378 }
379376
380 const Scheme = EcdsaP384Sha384;377 const Scheme = EcdsaP384Sha384;
381 const kp = try Scheme.KeyPair.create(null);378 const kp = try Scheme.KeyPair.create(null);
...@@ -391,10 +388,7 @@ test "ECDSA - Basic operations over EcdsaP384Sha384" {...@@ -391,10 +388,7 @@ test "ECDSA - Basic operations over EcdsaP384Sha384" {
391}388}
392389
393test "ECDSA - Basic operations over Secp256k1" {390test "ECDSA - Basic operations over Secp256k1" {
394 switch (builtin.zig_backend) {391 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
395 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
396 else => {},
397 }
398392
399 const Scheme = EcdsaSecp256k1Sha256oSha256;393 const Scheme = EcdsaSecp256k1Sha256oSha256;
400 const kp = try Scheme.KeyPair.create(null);394 const kp = try Scheme.KeyPair.create(null);
...@@ -410,10 +404,7 @@ test "ECDSA - Basic operations over Secp256k1" {...@@ -410,10 +404,7 @@ test "ECDSA - Basic operations over Secp256k1" {
410}404}
411405
412test "ECDSA - Basic operations over EcdsaP384Sha256" {406test "ECDSA - Basic operations over EcdsaP384Sha256" {
413 switch (builtin.zig_backend) {407 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
414 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
415 else => {},
416 }
417408
418 const Scheme = Ecdsa(crypto.ecc.P384, crypto.hash.sha2.Sha256);409 const Scheme = Ecdsa(crypto.ecc.P384, crypto.hash.sha2.Sha256);
419 const kp = try Scheme.KeyPair.create(null);410 const kp = try Scheme.KeyPair.create(null);
...@@ -429,10 +420,7 @@ test "ECDSA - Basic operations over EcdsaP384Sha256" {...@@ -429,10 +420,7 @@ test "ECDSA - Basic operations over EcdsaP384Sha256" {
429}420}
430421
431test "ECDSA - Verifying a existing signature with EcdsaP384Sha256" {422test "ECDSA - Verifying a existing signature with EcdsaP384Sha256" {
432 switch (builtin.zig_backend) {423 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
433 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
434 else => {},
435 }
436424
437 const Scheme = Ecdsa(crypto.ecc.P384, crypto.hash.sha2.Sha256);425 const Scheme = Ecdsa(crypto.ecc.P384, crypto.hash.sha2.Sha256);
438 // zig fmt: off426 // zig fmt: off
...@@ -476,10 +464,7 @@ const TestVector = struct {...@@ -476,10 +464,7 @@ const TestVector = struct {
476};464};
477465
478test "ECDSA - Test vectors from Project Wycheproof" {466test "ECDSA - Test vectors from Project Wycheproof" {
479 switch (builtin.zig_backend) {467 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
480 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
481 else => {},
482 }
483468
484 const vectors = [_]TestVector{469 const vectors = [_]TestVector{
485 .{ .key = "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e", .msg = "313233343030", .sig = "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76", .result = .valid },470 .{ .key = "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e", .msg = "313233343030", .sig = "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76", .result = .valid },
...@@ -893,10 +878,7 @@ fn tvTry(vector: TestVector) !void {...@@ -893,10 +878,7 @@ fn tvTry(vector: TestVector) !void {
893}878}
894879
895test "ECDSA - Sec1 encoding/decoding" {880test "ECDSA - Sec1 encoding/decoding" {
896 switch (builtin.zig_backend) {881 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
897 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
898 else => {},
899 }
900882
901 const Scheme = EcdsaP384Sha384;883 const Scheme = EcdsaP384Sha384;
902 const kp = try Scheme.KeyPair.create(null);884 const kp = try Scheme.KeyPair.create(null);
lib/std/crypto/ff.zig+1-4
...@@ -912,10 +912,7 @@ const ct_unprotected = struct {...@@ -912,10 +912,7 @@ const ct_unprotected = struct {
912};912};
913913
914test {914test {
915 switch (@import("builtin").zig_backend) {915 if (@import("builtin").zig_backend == .stage2_c) return error.SkipZigTest;
916 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
917 else => {},
918 }
919916
920 const M = Modulus(256);917 const M = Modulus(256);
921 const m = try M.fromPrimitive(u256, 3429938563481314093726330772853735541133072814650493833233);918 const m = try M.fromPrimitive(u256, 3429938563481314093726330772853735541133072814650493833233);
lib/std/crypto/ghash_polyval.zig-6
...@@ -422,8 +422,6 @@ fn Hash(comptime endian: std.builtin.Endian, comptime shift_key: bool) type {...@@ -422,8 +422,6 @@ fn Hash(comptime endian: std.builtin.Endian, comptime shift_key: bool) type {
422const htest = @import("test.zig");422const htest = @import("test.zig");
423423
424test "ghash" {424test "ghash" {
425 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
426
427 const key = [_]u8{0x42} ** 16;425 const key = [_]u8{0x42} ** 16;
428 const m = [_]u8{0x69} ** 256;426 const m = [_]u8{0x69} ** 256;
429427
...@@ -441,8 +439,6 @@ test "ghash" {...@@ -441,8 +439,6 @@ test "ghash" {
441}439}
442440
443test "ghash2" {441test "ghash2" {
444 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
445
446 var key: [16]u8 = undefined;442 var key: [16]u8 = undefined;
447 var i: usize = 0;443 var i: usize = 0;
448 while (i < key.len) : (i += 1) {444 while (i < key.len) : (i += 1) {
...@@ -476,8 +472,6 @@ test "ghash2" {...@@ -476,8 +472,6 @@ test "ghash2" {
476}472}
477473
478test "polyval" {474test "polyval" {
479 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
480
481 const key = [_]u8{0x42} ** 16;475 const key = [_]u8{0x42} ** 16;
482 const m = [_]u8{0x69} ** 256;476 const m = [_]u8{0x69} ** 256;
483477
lib/std/crypto/hash_composition.zig-2
...@@ -65,8 +65,6 @@ pub const Sha384oSha384 = Composition(sha2.Sha384, sha2.Sha384);...@@ -65,8 +65,6 @@ pub const Sha384oSha384 = Composition(sha2.Sha384, sha2.Sha384);
65pub const Sha512oSha512 = Composition(sha2.Sha512, sha2.Sha512);65pub const Sha512oSha512 = Composition(sha2.Sha512, sha2.Sha512);
6666
67test "Hash composition" {67test "Hash composition" {
68 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
69
70 const Sha256 = sha2.Sha256;68 const Sha256 = sha2.Sha256;
71 const msg = "test";69 const msg = "test";
7270
lib/std/crypto/hkdf.zig-2
...@@ -72,8 +72,6 @@ pub fn Hkdf(comptime Hmac: type) type {...@@ -72,8 +72,6 @@ pub fn Hkdf(comptime Hmac: type) type {
72const htest = @import("test.zig");72const htest = @import("test.zig");
7373
74test "Hkdf" {74test "Hkdf" {
75 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
76
77 const ikm = [_]u8{0x0b} ** 22;75 const ikm = [_]u8{0x0b} ** 22;
78 const salt = [_]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c };76 const salt = [_]u8{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c };
79 const context = [_]u8{ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9 };77 const context = [_]u8{ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9 };
lib/std/crypto/kyber_d00.zig-28
...@@ -553,8 +553,6 @@ const inv_ntt_reductions = [_]i16{...@@ -553,8 +553,6 @@ const inv_ntt_reductions = [_]i16{
553};553};
554554
555test "invNTTReductions bounds" {555test "invNTTReductions bounds" {
556 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
557
558 // Checks whether the reductions proposed by invNTTReductions556 // Checks whether the reductions proposed by invNTTReductions
559 // don't overflow during invNTT().557 // don't overflow during invNTT().
560 var xs = [_]i32{1} ** 256; // start at |x| ≤ q558 var xs = [_]i32{1} ** 256; // start at |x| ≤ q
...@@ -658,8 +656,6 @@ fn montReduce(x: i32) i16 {...@@ -658,8 +656,6 @@ fn montReduce(x: i32) i16 {
658}656}
659657
660test "Test montReduce" {658test "Test montReduce" {
661 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
662
663 var rnd = RndGen.init(0);659 var rnd = RndGen.init(0);
664 for (0..1000) |_| {660 for (0..1000) |_| {
665 const bound = comptime @as(i32, Q) * (1 << 15);661 const bound = comptime @as(i32, Q) * (1 << 15);
...@@ -678,8 +674,6 @@ fn feToMont(x: i16) i16 {...@@ -678,8 +674,6 @@ fn feToMont(x: i16) i16 {
678}674}
679675
680test "Test feToMont" {676test "Test feToMont" {
681 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
682
683 var x: i32 = -(1 << 15);677 var x: i32 = -(1 << 15);
684 while (x < 1 << 15) : (x += 1) {678 while (x < 1 << 15) : (x += 1) {
685 const y = feToMont(@as(i16, @intCast(x)));679 const y = feToMont(@as(i16, @intCast(x)));
...@@ -713,8 +707,6 @@ fn feBarrettReduce(x: i16) i16 {...@@ -713,8 +707,6 @@ fn feBarrettReduce(x: i16) i16 {
713}707}
714708
715test "Test Barrett reduction" {709test "Test Barrett reduction" {
716 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
717
718 var x: i32 = -(1 << 15);710 var x: i32 = -(1 << 15);
719 while (x < 1 << 15) : (x += 1) {711 while (x < 1 << 15) : (x += 1) {
720 var y1 = feBarrettReduce(@as(i16, @intCast(x)));712 var y1 = feBarrettReduce(@as(i16, @intCast(x)));
...@@ -735,8 +727,6 @@ fn csubq(x: i16) i16 {...@@ -735,8 +727,6 @@ fn csubq(x: i16) i16 {
735}727}
736728
737test "Test csubq" {729test "Test csubq" {
738 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
739
740 var x: i32 = -29439;730 var x: i32 = -29439;
741 while (x < 1 << 15) : (x += 1) {731 while (x < 1 << 15) : (x += 1) {
742 const y1 = csubq(@as(i16, @intCast(x)));732 const y1 = csubq(@as(i16, @intCast(x)));
...@@ -1476,8 +1466,6 @@ fn cmov(comptime len: usize, dst: *[len]u8, src: [len]u8, b: u1) void {...@@ -1476,8 +1466,6 @@ fn cmov(comptime len: usize, dst: *[len]u8, src: [len]u8, b: u1) void {
1476}1466}
14771467
1478test "MulHat" {1468test "MulHat" {
1479 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1480
1481 var rnd = RndGen.init(0);1469 var rnd = RndGen.init(0);
14821470
1483 for (0..100) |_| {1471 for (0..100) |_| {
...@@ -1509,8 +1497,6 @@ test "MulHat" {...@@ -1509,8 +1497,6 @@ test "MulHat" {
1509}1497}
15101498
1511test "NTT" {1499test "NTT" {
1512 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1513
1514 var rnd = RndGen.init(0);1500 var rnd = RndGen.init(0);
15151501
1516 for (0..1000) |_| {1502 for (0..1000) |_| {
...@@ -1534,8 +1520,6 @@ test "NTT" {...@@ -1534,8 +1520,6 @@ test "NTT" {
1534}1520}
15351521
1536test "Compression" {1522test "Compression" {
1537 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1538
1539 var rnd = RndGen.init(0);1523 var rnd = RndGen.init(0);
1540 inline for (.{ 1, 4, 5, 10, 11 }) |d| {1524 inline for (.{ 1, 4, 5, 10, 11 }) |d| {
1541 for (0..1000) |_| {1525 for (0..1000) |_| {
...@@ -1548,8 +1532,6 @@ test "Compression" {...@@ -1548,8 +1532,6 @@ test "Compression" {
1548}1532}
15491533
1550test "noise" {1534test "noise" {
1551 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1552
1553 var seed: [32]u8 = undefined;1535 var seed: [32]u8 = undefined;
1554 for (&seed, 0..) |*s, i| {1536 for (&seed, 0..) |*s, i| {
1555 s.* = @as(u8, @intCast(i));1537 s.* = @as(u8, @intCast(i));
...@@ -1596,8 +1578,6 @@ test "noise" {...@@ -1596,8 +1578,6 @@ test "noise" {
1596}1578}
15971579
1598test "uniform sampling" {1580test "uniform sampling" {
1599 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1600
1601 var seed: [32]u8 = undefined;1581 var seed: [32]u8 = undefined;
1602 for (&seed, 0..) |*s, i| {1582 for (&seed, 0..) |*s, i| {
1603 s.* = @as(u8, @intCast(i));1583 s.* = @as(u8, @intCast(i));
...@@ -1631,8 +1611,6 @@ test "uniform sampling" {...@@ -1631,8 +1611,6 @@ test "uniform sampling" {
1631}1611}
16321612
1633test "Polynomial packing" {1613test "Polynomial packing" {
1634 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1635
1636 var rnd = RndGen.init(0);1614 var rnd = RndGen.init(0);
16371615
1638 for (0..1000) |_| {1616 for (0..1000) |_| {
...@@ -1642,8 +1620,6 @@ test "Polynomial packing" {...@@ -1642,8 +1620,6 @@ test "Polynomial packing" {
1642}1620}
16431621
1644test "Test inner PKE" {1622test "Test inner PKE" {
1645 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1646
1647 var seed: [32]u8 = undefined;1623 var seed: [32]u8 = undefined;
1648 var pt: [32]u8 = undefined;1624 var pt: [32]u8 = undefined;
1649 for (&seed, &pt, 0..) |*s, *p, i| {1625 for (&seed, &pt, 0..) |*s, *p, i| {
...@@ -1665,8 +1641,6 @@ test "Test inner PKE" {...@@ -1665,8 +1641,6 @@ test "Test inner PKE" {
1665}1641}
16661642
1667test "Test happy flow" {1643test "Test happy flow" {
1668 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1669
1670 var seed: [64]u8 = undefined;1644 var seed: [64]u8 = undefined;
1671 for (&seed, 0..) |*s, i| {1645 for (&seed, 0..) |*s, i| {
1672 s.* = @as(u8, @intCast(i));1646 s.* = @as(u8, @intCast(i));
...@@ -1693,8 +1667,6 @@ test "Test happy flow" {...@@ -1693,8 +1667,6 @@ test "Test happy flow" {
1693const sha2 = crypto.hash.sha2;1667const sha2 = crypto.hash.sha2;
16941668
1695test "NIST KAT test" {1669test "NIST KAT test" {
1696 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1697
1698 inline for (.{1670 inline for (.{
1699 .{ Kyber512, "e9c2bd37133fcb40772f81559f14b1f58dccd1c816701be9ba6214d43baf4547" },1671 .{ Kyber512, "e9c2bd37133fcb40772f81559f14b1f58dccd1c816701be9ba6214d43baf4547" },
1700 .{ Kyber1024, "89248f2f33f7f4f7051729111f3049c409a933ec904aedadf035f30fa5646cd5" },1672 .{ Kyber1024, "89248f2f33f7f4f7051729111f3049c409a933ec904aedadf035f30fa5646cd5" },
lib/std/crypto/pbkdf2.zig-15
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const mem = std.mem;2const mem = std.mem;
4const maxInt = std.math.maxInt;3const maxInt = std.math.maxInt;
5const OutputTooLongError = std.crypto.errors.OutputTooLongError;4const OutputTooLongError = std.crypto.errors.OutputTooLongError;
...@@ -152,8 +151,6 @@ const HmacSha1 = std.crypto.auth.hmac.HmacSha1;...@@ -152,8 +151,6 @@ const HmacSha1 = std.crypto.auth.hmac.HmacSha1;
152// RFC 6070 PBKDF2 HMAC-SHA1 Test Vectors151// RFC 6070 PBKDF2 HMAC-SHA1 Test Vectors
153152
154test "RFC 6070 one iteration" {153test "RFC 6070 one iteration" {
155 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
156
157 const p = "password";154 const p = "password";
158 const s = "salt";155 const s = "salt";
159 const c = 1;156 const c = 1;
...@@ -169,8 +166,6 @@ test "RFC 6070 one iteration" {...@@ -169,8 +166,6 @@ test "RFC 6070 one iteration" {
169}166}
170167
171test "RFC 6070 two iterations" {168test "RFC 6070 two iterations" {
172 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
173
174 const p = "password";169 const p = "password";
175 const s = "salt";170 const s = "salt";
176 const c = 2;171 const c = 2;
...@@ -186,8 +181,6 @@ test "RFC 6070 two iterations" {...@@ -186,8 +181,6 @@ test "RFC 6070 two iterations" {
186}181}
187182
188test "RFC 6070 4096 iterations" {183test "RFC 6070 4096 iterations" {
189 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
190
191 const p = "password";184 const p = "password";
192 const s = "salt";185 const s = "salt";
193 const c = 4096;186 const c = 4096;
...@@ -203,8 +196,6 @@ test "RFC 6070 4096 iterations" {...@@ -203,8 +196,6 @@ test "RFC 6070 4096 iterations" {
203}196}
204197
205test "RFC 6070 16,777,216 iterations" {198test "RFC 6070 16,777,216 iterations" {
206 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
207
208 // These iteration tests are slow so we always skip them. Results have been verified.199 // These iteration tests are slow so we always skip them. Results have been verified.
209 if (true) {200 if (true) {
210 return error.SkipZigTest;201 return error.SkipZigTest;
...@@ -225,8 +216,6 @@ test "RFC 6070 16,777,216 iterations" {...@@ -225,8 +216,6 @@ test "RFC 6070 16,777,216 iterations" {
225}216}
226217
227test "RFC 6070 multi-block salt and password" {218test "RFC 6070 multi-block salt and password" {
228 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
229
230 const p = "passwordPASSWORDpassword";219 const p = "passwordPASSWORDpassword";
231 const s = "saltSALTsaltSALTsaltSALTsaltSALTsalt";220 const s = "saltSALTsaltSALTsaltSALTsaltSALTsalt";
232 const c = 4096;221 const c = 4096;
...@@ -242,8 +231,6 @@ test "RFC 6070 multi-block salt and password" {...@@ -242,8 +231,6 @@ test "RFC 6070 multi-block salt and password" {
242}231}
243232
244test "RFC 6070 embedded NUL" {233test "RFC 6070 embedded NUL" {
245 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
246
247 const p = "pass\x00word";234 const p = "pass\x00word";
248 const s = "sa\x00lt";235 const s = "sa\x00lt";
249 const c = 4096;236 const c = 4096;
...@@ -259,8 +246,6 @@ test "RFC 6070 embedded NUL" {...@@ -259,8 +246,6 @@ test "RFC 6070 embedded NUL" {
259}246}
260247
261test "Very large dk_len" {248test "Very large dk_len" {
262 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
263
264 // This test allocates 8GB of memory and is expected to take several hours to run.249 // This test allocates 8GB of memory and is expected to take several hours to run.
265 if (true) {250 if (true) {
266 return error.SkipZigTest;251 return error.SkipZigTest;
lib/std/crypto/pcurves/p256.zig-2
...@@ -478,7 +478,5 @@ pub const AffineCoordinates = struct {...@@ -478,7 +478,5 @@ pub const AffineCoordinates = struct {
478};478};
479479
480test {480test {
481 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
482
483 _ = @import("tests/p256.zig");481 _ = @import("tests/p256.zig");
484}482}
lib/std/crypto/pcurves/p384.zig+1-4
...@@ -478,10 +478,7 @@ pub const AffineCoordinates = struct {...@@ -478,10 +478,7 @@ pub const AffineCoordinates = struct {
478};478};
479479
480test {480test {
481 switch (@import("builtin").zig_backend) {481 if (@import("builtin").zig_backend == .stage2_c) return error.SkipZigTest;
482 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
483 else => {},
484 }
485482
486 _ = @import("tests/p384.zig");483 _ = @import("tests/p384.zig");
487}484}
lib/std/crypto/pcurves/secp256k1.zig+1-4
...@@ -556,10 +556,7 @@ pub const AffineCoordinates = struct {...@@ -556,10 +556,7 @@ pub const AffineCoordinates = struct {
556};556};
557557
558test {558test {
559 switch (@import("builtin").zig_backend) {559 if (@import("builtin").zig_backend == .stage2_c) return error.SkipZigTest;
560 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
561 else => {},
562 }
563560
564 _ = @import("tests/secp256k1.zig");561 _ = @import("tests/secp256k1.zig");
565}562}
lib/std/crypto/phc_encoding.zig-9
...@@ -1,7 +1,6 @@...@@ -1,7 +1,6 @@
1// https://github.com/P-H-C/phc-string-format1// https://github.com/P-H-C/phc-string-format
22
3const std = @import("std");3const std = @import("std");
4const builtin = @import("builtin");
5const fmt = std.fmt;4const fmt = std.fmt;
6const io = std.io;5const io = std.io;
7const mem = std.mem;6const mem = std.mem;
...@@ -264,8 +263,6 @@ fn kvSplit(str: []const u8) !struct { key: []const u8, value: []const u8 } {...@@ -264,8 +263,6 @@ fn kvSplit(str: []const u8) !struct { key: []const u8, value: []const u8 } {
264}263}
265264
266test "phc format - encoding/decoding" {265test "phc format - encoding/decoding" {
267 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
268
269 const Input = struct {266 const Input = struct {
270 str: []const u8,267 str: []const u8,
271 HashResult: type,268 HashResult: type,
...@@ -351,24 +348,18 @@ test "phc format - encoding/decoding" {...@@ -351,24 +348,18 @@ test "phc format - encoding/decoding" {
351}348}
352349
353test "phc format - empty input string" {350test "phc format - empty input string" {
354 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
355
356 const s = "";351 const s = "";
357 const v = deserialize(struct { alg_id: []const u8 }, s);352 const v = deserialize(struct { alg_id: []const u8 }, s);
358 try std.testing.expectError(Error.InvalidEncoding, v);353 try std.testing.expectError(Error.InvalidEncoding, v);
359}354}
360355
361test "phc format - hash without salt" {356test "phc format - hash without salt" {
362 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
363
364 const s = "$scrypt";357 const s = "$scrypt";
365 const v = deserialize(struct { alg_id: []const u8, hash: BinValue(16) }, s);358 const v = deserialize(struct { alg_id: []const u8, hash: BinValue(16) }, s);
366 try std.testing.expectError(Error.InvalidEncoding, v);359 try std.testing.expectError(Error.InvalidEncoding, v);
367}360}
368361
369test "phc format - calcSize" {362test "phc format - calcSize" {
370 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
371
372 const s = "$scrypt$v=1$ln=15,r=8,p=1$c2FsdHNhbHQ$dGVzdHBhc3M";363 const s = "$scrypt$v=1$ln=15,r=8,p=1$c2FsdHNhbHQ$dGVzdHBhc3M";
373 const v = try deserialize(struct {364 const v = try deserialize(struct {
374 alg_id: []const u8,365 alg_id: []const u8,
lib/std/crypto/poly1305.zig-2
...@@ -196,8 +196,6 @@ pub const Poly1305 = struct {...@@ -196,8 +196,6 @@ pub const Poly1305 = struct {
196};196};
197197
198test "poly1305 rfc7439 vector1" {198test "poly1305 rfc7439 vector1" {
199 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
200
201 const expected_mac = "\xa8\x06\x1d\xc1\x30\x51\x36\xc6\xc2\x2b\x8b\xaf\x0c\x01\x27\xa9";199 const expected_mac = "\xa8\x06\x1d\xc1\x30\x51\x36\xc6\xc2\x2b\x8b\xaf\x0c\x01\x27\xa9";
202200
203 const msg = "Cryptographic Forum Research Group";201 const msg = "Cryptographic Forum Research Group";
lib/std/crypto/salsa20.zig-12
...@@ -555,8 +555,6 @@ pub const SealedBox = struct {...@@ -555,8 +555,6 @@ pub const SealedBox = struct {
555const htest = @import("test.zig");555const htest = @import("test.zig");
556556
557test "(x)salsa20" {557test "(x)salsa20" {
558 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
559
560 const key = [_]u8{0x69} ** 32;558 const key = [_]u8{0x69} ** 32;
561 const nonce = [_]u8{0x42} ** 8;559 const nonce = [_]u8{0x42} ** 8;
562 const msg = [_]u8{0} ** 20;560 const msg = [_]u8{0} ** 20;
...@@ -571,8 +569,6 @@ test "(x)salsa20" {...@@ -571,8 +569,6 @@ test "(x)salsa20" {
571}569}
572570
573test "xsalsa20poly1305" {571test "xsalsa20poly1305" {
574 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
575
576 var msg: [100]u8 = undefined;572 var msg: [100]u8 = undefined;
577 var msg2: [msg.len]u8 = undefined;573 var msg2: [msg.len]u8 = undefined;
578 var c: [msg.len]u8 = undefined;574 var c: [msg.len]u8 = undefined;
...@@ -588,8 +584,6 @@ test "xsalsa20poly1305" {...@@ -588,8 +584,6 @@ test "xsalsa20poly1305" {
588}584}
589585
590test "xsalsa20poly1305 secretbox" {586test "xsalsa20poly1305 secretbox" {
591 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
592
593 var msg: [100]u8 = undefined;587 var msg: [100]u8 = undefined;
594 var msg2: [msg.len]u8 = undefined;588 var msg2: [msg.len]u8 = undefined;
595 var key: [XSalsa20Poly1305.key_length]u8 = undefined;589 var key: [XSalsa20Poly1305.key_length]u8 = undefined;
...@@ -604,8 +598,6 @@ test "xsalsa20poly1305 secretbox" {...@@ -604,8 +598,6 @@ test "xsalsa20poly1305 secretbox" {
604}598}
605599
606test "xsalsa20poly1305 box" {600test "xsalsa20poly1305 box" {
607 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
608
609 var msg: [100]u8 = undefined;601 var msg: [100]u8 = undefined;
610 var msg2: [msg.len]u8 = undefined;602 var msg2: [msg.len]u8 = undefined;
611 var nonce: [Box.nonce_length]u8 = undefined;603 var nonce: [Box.nonce_length]u8 = undefined;
...@@ -620,8 +612,6 @@ test "xsalsa20poly1305 box" {...@@ -620,8 +612,6 @@ test "xsalsa20poly1305 box" {
620}612}
621613
622test "xsalsa20poly1305 sealedbox" {614test "xsalsa20poly1305 sealedbox" {
623 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
624
625 var msg: [100]u8 = undefined;615 var msg: [100]u8 = undefined;
626 var msg2: [msg.len]u8 = undefined;616 var msg2: [msg.len]u8 = undefined;
627 var boxed: [msg.len + SealedBox.seal_length]u8 = undefined;617 var boxed: [msg.len + SealedBox.seal_length]u8 = undefined;
...@@ -633,8 +623,6 @@ test "xsalsa20poly1305 sealedbox" {...@@ -633,8 +623,6 @@ test "xsalsa20poly1305 sealedbox" {
633}623}
634624
635test "secretbox twoblocks" {625test "secretbox twoblocks" {
636 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
637
638 const key = [_]u8{ 0xc9, 0xc9, 0x4d, 0xcf, 0x68, 0xbe, 0x00, 0xe4, 0x7f, 0xe6, 0x13, 0x26, 0xfc, 0xc4, 0x2f, 0xd0, 0xdb, 0x93, 0x91, 0x1c, 0x09, 0x94, 0x89, 0xe1, 0x1b, 0x88, 0x63, 0x18, 0x86, 0x64, 0x8b, 0x7b };626 const key = [_]u8{ 0xc9, 0xc9, 0x4d, 0xcf, 0x68, 0xbe, 0x00, 0xe4, 0x7f, 0xe6, 0x13, 0x26, 0xfc, 0xc4, 0x2f, 0xd0, 0xdb, 0x93, 0x91, 0x1c, 0x09, 0x94, 0x89, 0xe1, 0x1b, 0x88, 0x63, 0x18, 0x86, 0x64, 0x8b, 0x7b };
639 const nonce = [_]u8{ 0xa4, 0x33, 0xe9, 0x0a, 0x07, 0x68, 0x6e, 0x9a, 0x2b, 0x6d, 0xd4, 0x59, 0x04, 0x72, 0x3e, 0xd3, 0x8a, 0x67, 0x55, 0xc7, 0x9e, 0x3e, 0x77, 0xdc };627 const nonce = [_]u8{ 0xa4, 0x33, 0xe9, 0x0a, 0x07, 0x68, 0x6e, 0x9a, 0x2b, 0x6d, 0xd4, 0x59, 0x04, 0x72, 0x3e, 0xd3, 0x8a, 0x67, 0x55, 0xc7, 0x9e, 0x3e, 0x77, 0xdc };
640 const msg = [_]u8{'a'} ** 97;628 const msg = [_]u8{'a'} ** 97;
lib/std/crypto/scrypt.zig-5
...@@ -3,7 +3,6 @@...@@ -3,7 +3,6 @@
3// https://github.com/Tarsnap/scrypt3// https://github.com/Tarsnap/scrypt
44
5const std = @import("std");5const std = @import("std");
6const builtin = @import("builtin");
7const crypto = std.crypto;6const crypto = std.crypto;
8const fmt = std.fmt;7const fmt = std.fmt;
9const io = std.io;8const io = std.io;
...@@ -684,8 +683,6 @@ test "unix-scrypt" {...@@ -684,8 +683,6 @@ test "unix-scrypt" {
684}683}
685684
686test "crypt format" {685test "crypt format" {
687 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
688
689 const str = "$7$C6..../....SodiumChloride$kBGj9fHznVYFQMEn/qDCfrDevf9YDtcDdKvEqHJLV8D";686 const str = "$7$C6..../....SodiumChloride$kBGj9fHznVYFQMEn/qDCfrDevf9YDtcDdKvEqHJLV8D";
690 const params = try crypt_format.deserialize(crypt_format.HashResult(32), str);687 const params = try crypt_format.deserialize(crypt_format.HashResult(32), str);
691 var buf: [str.len]u8 = undefined;688 var buf: [str.len]u8 = undefined;
...@@ -694,8 +691,6 @@ test "crypt format" {...@@ -694,8 +691,6 @@ test "crypt format" {
694}691}
695692
696test "kdf fast" {693test "kdf fast" {
697 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
698
699 const TestVector = struct {694 const TestVector = struct {
700 password: []const u8,695 password: []const u8,
701 salt: []const u8,696 salt: []const u8,
lib/std/crypto/sha2.zig+1-11
...@@ -238,7 +238,7 @@ fn Sha2x32(comptime params: Sha2Params32) type {...@@ -238,7 +238,7 @@ fn Sha2x32(comptime params: Sha2Params32) type {
238 return;238 return;
239 },239 },
240 // C backend doesn't currently support passing vectors to inline asm.240 // C backend doesn't currently support passing vectors to inline asm.
241 .x86_64 => if (builtin.zig_backend != .stage2_c and builtin.zig_backend != .stage2_x86_64 and comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sha, .avx2 })) {241 .x86_64 => if (builtin.zig_backend != .stage2_c and comptime std.Target.x86.featureSetHasAll(builtin.cpu.features, .{ .sha, .avx2 })) {
242 var x: v4u32 = [_]u32{ d.s[5], d.s[4], d.s[1], d.s[0] };242 var x: v4u32 = [_]u32{ d.s[5], d.s[4], d.s[1], d.s[0] };
243 var y: v4u32 = [_]u32{ d.s[7], d.s[6], d.s[3], d.s[2] };243 var y: v4u32 = [_]u32{ d.s[7], d.s[6], d.s[3], d.s[2] };
244 const s_v = @as(*[16]v4u32, @ptrCast(&s));244 const s_v = @as(*[16]v4u32, @ptrCast(&s));
...@@ -406,16 +406,12 @@ fn Sha2x32(comptime params: Sha2Params32) type {...@@ -406,16 +406,12 @@ fn Sha2x32(comptime params: Sha2Params32) type {
406}406}
407407
408test "sha224 single" {408test "sha224 single" {
409 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
410
411 try htest.assertEqualHash(Sha224, "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f", "");409 try htest.assertEqualHash(Sha224, "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f", "");
412 try htest.assertEqualHash(Sha224, "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7", "abc");410 try htest.assertEqualHash(Sha224, "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7", "abc");
413 try htest.assertEqualHash(Sha224, "c97ca9a559850ce97a04a96def6d99a9e0e0e2ab14e6b8df265fc0b3", "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu");411 try htest.assertEqualHash(Sha224, "c97ca9a559850ce97a04a96def6d99a9e0e0e2ab14e6b8df265fc0b3", "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu");
414}412}
415413
416test "sha224 streaming" {414test "sha224 streaming" {
417 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
418
419 var h = Sha224.init(.{});415 var h = Sha224.init(.{});
420 var out: [28]u8 = undefined;416 var out: [28]u8 = undefined;
421417
...@@ -436,16 +432,12 @@ test "sha224 streaming" {...@@ -436,16 +432,12 @@ test "sha224 streaming" {
436}432}
437433
438test "sha256 single" {434test "sha256 single" {
439 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
440
441 try htest.assertEqualHash(Sha256, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "");435 try htest.assertEqualHash(Sha256, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "");
442 try htest.assertEqualHash(Sha256, "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", "abc");436 try htest.assertEqualHash(Sha256, "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", "abc");
443 try htest.assertEqualHash(Sha256, "cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1", "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu");437 try htest.assertEqualHash(Sha256, "cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1", "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu");
444}438}
445439
446test "sha256 streaming" {440test "sha256 streaming" {
447 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
448
449 var h = Sha256.init(.{});441 var h = Sha256.init(.{});
450 var out: [32]u8 = undefined;442 var out: [32]u8 = undefined;
451443
...@@ -466,8 +458,6 @@ test "sha256 streaming" {...@@ -466,8 +458,6 @@ test "sha256 streaming" {
466}458}
467459
468test "sha256 aligned final" {460test "sha256 aligned final" {
469 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
470
471 var block = [_]u8{0} ** Sha256.block_length;461 var block = [_]u8{0} ** Sha256.block_length;
472 var out: [Sha256.digest_length]u8 = undefined;462 var out: [Sha256.digest_length]u8 = undefined;
473463
lib/std/crypto/utils.zig-2
...@@ -149,8 +149,6 @@ test "crypto.utils.timingSafeEql" {...@@ -149,8 +149,6 @@ test "crypto.utils.timingSafeEql" {
149}149}
150150
151test "crypto.utils.timingSafeEql (vectors)" {151test "crypto.utils.timingSafeEql (vectors)" {
152 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
153
154 var a: [100]u8 = undefined;152 var a: [100]u8 = undefined;
155 var b: [100]u8 = undefined;153 var b: [100]u8 = undefined;
156 random.bytes(a[0..]);154 random.bytes(a[0..]);
lib/std/debug.zig-2
...@@ -2513,8 +2513,6 @@ pub fn dumpStackPointerAddr(prefix: []const u8) void {...@@ -2513,8 +2513,6 @@ pub fn dumpStackPointerAddr(prefix: []const u8) void {
2513}2513}
25142514
2515test "manage resources correctly" {2515test "manage resources correctly" {
2516 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2517
2518 if (builtin.os.tag == .wasi) return error.SkipZigTest;2516 if (builtin.os.tag == .wasi) return error.SkipZigTest;
25192517
2520 if (builtin.os.tag == .windows) {2518 if (builtin.os.tag == .windows) {
lib/std/dwarf/expressions.zig-2
...@@ -1054,8 +1054,6 @@ fn isOpcodeRegisterLocation(opcode: u8) bool {...@@ -1054,8 +1054,6 @@ fn isOpcodeRegisterLocation(opcode: u8) bool {
10541054
1055const testing = std.testing;1055const testing = std.testing;
1056test "DWARF expressions" {1056test "DWARF expressions" {
1057 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1058
1059 const allocator = std.testing.allocator;1057 const allocator = std.testing.allocator;
10601058
1061 const options = ExpressionOptions{};1059 const options = ExpressionOptions{};
lib/std/fifo.zig-2
...@@ -505,8 +505,6 @@ test "LinearFifo(u8, .Dynamic)" {...@@ -505,8 +505,6 @@ test "LinearFifo(u8, .Dynamic)" {
505}505}
506506
507test "LinearFifo" {507test "LinearFifo" {
508 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
509
510 inline for ([_]type{ u1, u8, u16, u64 }) |T| {508 inline for ([_]type{ u1, u8, u16, u64 }) |T| {
511 inline for ([_]LinearFifoBufferType{ LinearFifoBufferType{ .Static = 32 }, .Slice, .Dynamic }) |bt| {509 inline for ([_]LinearFifoBufferType{ LinearFifoBufferType{ .Static = 32 }, .Slice, .Dynamic }) |bt| {
512 const FifoType = LinearFifo(T, bt);510 const FifoType = LinearFifo(T, bt);
lib/std/fmt.zig-24
...@@ -2129,8 +2129,6 @@ test "int.small" {...@@ -2129,8 +2129,6 @@ test "int.small" {
2129}2129}
21302130
2131test "int.specifier" {2131test "int.specifier" {
2132 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2133
2134 {2132 {
2135 const value: u8 = 'a';2133 const value: u8 = 'a';
2136 try expectFmt("u8: a\n", "u8: {c}\n", .{value});2134 try expectFmt("u8: a\n", "u8: {c}\n", .{value});
...@@ -2181,8 +2179,6 @@ test "int.padded" {...@@ -2181,8 +2179,6 @@ test "int.padded" {
2181}2179}
21822180
2183test "buffer" {2181test "buffer" {
2184 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2185
2186 {2182 {
2187 var buf1: [32]u8 = undefined;2183 var buf1: [32]u8 = undefined;
2188 var fbs = std.io.fixedBufferStream(&buf1);2184 var fbs = std.io.fixedBufferStream(&buf1);
...@@ -2379,8 +2375,6 @@ test "float.scientific" {...@@ -2379,8 +2375,6 @@ test "float.scientific" {
2379}2375}
23802376
2381test "float.scientific.precision" {2377test "float.scientific.precision" {
2382 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2383
2384 try expectFmt("f64: 1.40971e-42", "f64: {e:.5}", .{@as(f64, 1.409706e-42)});2378 try expectFmt("f64: 1.40971e-42", "f64: {e:.5}", .{@as(f64, 1.409706e-42)});
2385 try expectFmt("f64: 1.00000e-09", "f64: {e:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 814313563))))});2379 try expectFmt("f64: 1.00000e-09", "f64: {e:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 814313563))))});
2386 try expectFmt("f64: 7.81250e-03", "f64: {e:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 1006632960))))});2380 try expectFmt("f64: 7.81250e-03", "f64: {e:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 1006632960))))});
...@@ -2441,8 +2435,6 @@ test "float.hexadecimal" {...@@ -2441,8 +2435,6 @@ test "float.hexadecimal" {
2441}2435}
24422436
2443test "float.hexadecimal.precision" {2437test "float.hexadecimal.precision" {
2444 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2445
2446 try expectFmt("f16: 0x1.5p-2", "f16: {x:.1}", .{@as(f16, 1.0 / 3.0)});2438 try expectFmt("f16: 0x1.5p-2", "f16: {x:.1}", .{@as(f16, 1.0 / 3.0)});
2447 try expectFmt("f32: 0x1.555p-2", "f32: {x:.3}", .{@as(f32, 1.0 / 3.0)});2439 try expectFmt("f32: 0x1.555p-2", "f32: {x:.3}", .{@as(f32, 1.0 / 3.0)});
2448 try expectFmt("f64: 0x1.55555p-2", "f64: {x:.5}", .{@as(f64, 1.0 / 3.0)});2440 try expectFmt("f64: 0x1.55555p-2", "f64: {x:.5}", .{@as(f64, 1.0 / 3.0)});
...@@ -2457,8 +2449,6 @@ test "float.hexadecimal.precision" {...@@ -2457,8 +2449,6 @@ test "float.hexadecimal.precision" {
2457}2449}
24582450
2459test "float.decimal" {2451test "float.decimal" {
2460 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2461
2462 try expectFmt("f64: 152314000000000000000000000000", "f64: {d}", .{@as(f64, 1.52314e+29)});2452 try expectFmt("f64: 152314000000000000000000000000", "f64: {d}", .{@as(f64, 1.52314e+29)});
2463 try expectFmt("f32: 0", "f32: {d}", .{@as(f32, 0.0)});2453 try expectFmt("f32: 0", "f32: {d}", .{@as(f32, 0.0)});
2464 try expectFmt("f32: 0", "f32: {d:.0}", .{@as(f32, 0.0)});2454 try expectFmt("f32: 0", "f32: {d:.0}", .{@as(f32, 0.0)});
...@@ -2482,8 +2472,6 @@ test "float.decimal" {...@@ -2482,8 +2472,6 @@ test "float.decimal" {
2482}2472}
24832473
2484test "float.libc.sanity" {2474test "float.libc.sanity" {
2485 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2486
2487 try expectFmt("f64: 0.00001", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 916964781))))});2475 try expectFmt("f64: 0.00001", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 916964781))))});
2488 try expectFmt("f64: 0.00001", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 925353389))))});2476 try expectFmt("f64: 0.00001", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 925353389))))});
2489 try expectFmt("f64: 0.10000", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 1036831278))))});2477 try expectFmt("f64: 0.10000", "f64: {d:.5}", .{@as(f64, @as(f32, @bitCast(@as(u32, 1036831278))))});
...@@ -2503,8 +2491,6 @@ test "float.libc.sanity" {...@@ -2503,8 +2491,6 @@ test "float.libc.sanity" {
2503}2491}
25042492
2505test "custom" {2493test "custom" {
2506 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2507
2508 const Vec2 = struct {2494 const Vec2 = struct {
2509 const SelfType = @This();2495 const SelfType = @This();
2510 x: f32,2496 x: f32,
...@@ -2683,8 +2669,6 @@ test "formatFloatValue with comptime_float" {...@@ -2683,8 +2669,6 @@ test "formatFloatValue with comptime_float" {
2683}2669}
26842670
2685test "formatType max_depth" {2671test "formatType max_depth" {
2686 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2687
2688 const Vec2 = struct {2672 const Vec2 = struct {
2689 const SelfType = @This();2673 const SelfType = @This();
2690 x: f32,2674 x: f32,
...@@ -2751,8 +2735,6 @@ test "formatType max_depth" {...@@ -2751,8 +2735,6 @@ test "formatType max_depth" {
2751}2735}
27522736
2753test "positional" {2737test "positional" {
2754 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2755
2756 try expectFmt("2 1 0", "{2} {1} {0}", .{ @as(usize, 0), @as(usize, 1), @as(usize, 2) });2738 try expectFmt("2 1 0", "{2} {1} {0}", .{ @as(usize, 0), @as(usize, 1), @as(usize, 2) });
2757 try expectFmt("2 1 0", "{2} {1} {}", .{ @as(usize, 0), @as(usize, 1), @as(usize, 2) });2739 try expectFmt("2 1 0", "{2} {1} {}", .{ @as(usize, 0), @as(usize, 1), @as(usize, 2) });
2758 try expectFmt("0 0", "{0} {0}", .{@as(usize, 0)});2740 try expectFmt("0 0", "{0} {0}", .{@as(usize, 0)});
...@@ -2761,20 +2743,14 @@ test "positional" {...@@ -2761,20 +2743,14 @@ test "positional" {
2761}2743}
27622744
2763test "positional with specifier" {2745test "positional with specifier" {
2764 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2765
2766 try expectFmt("10.0", "{0d:.1}", .{@as(f64, 9.999)});2746 try expectFmt("10.0", "{0d:.1}", .{@as(f64, 9.999)});
2767}2747}
27682748
2769test "positional/alignment/width/precision" {2749test "positional/alignment/width/precision" {
2770 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2771
2772 try expectFmt("10.0", "{0d: >3.1}", .{@as(f64, 9.999)});2750 try expectFmt("10.0", "{0d: >3.1}", .{@as(f64, 9.999)});
2773}2751}
27742752
2775test "vector" {2753test "vector" {
2776 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2777
2778 if (builtin.target.cpu.arch == .riscv64) {2754 if (builtin.target.cpu.arch == .riscv64) {
2779 // https://github.com/ziglang/zig/issues/44862755 // https://github.com/ziglang/zig/issues/4486
2780 return error.SkipZigTest;2756 return error.SkipZigTest;
lib/std/fmt/parse_float.zig+1-17
...@@ -1,8 +1,8 @@...@@ -1,8 +1,8 @@
1pub const parseFloat = @import("parse_float/parse_float.zig").parseFloat;1pub const parseFloat = @import("parse_float/parse_float.zig").parseFloat;
2pub const ParseFloatError = @import("parse_float/parse_float.zig").ParseFloatError;2pub const ParseFloatError = @import("parse_float/parse_float.zig").ParseFloatError;
33
4const std = @import("std");
5const builtin = @import("builtin");4const builtin = @import("builtin");
5const std = @import("std");
6const math = std.math;6const math = std.math;
7const testing = std.testing;7const testing = std.testing;
8const expect = testing.expect;8const expect = testing.expect;
...@@ -14,8 +14,6 @@ const epsilon = 1e-7;...@@ -14,8 +14,6 @@ const epsilon = 1e-7;
14// See https://github.com/tiehuis/parse-number-fxx-test-data for a wider-selection of test-data.14// See https://github.com/tiehuis/parse-number-fxx-test-data for a wider-selection of test-data.
1515
16test "fmt.parseFloat" {16test "fmt.parseFloat" {
17 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
18
19 inline for ([_]type{ f16, f32, f64, f128 }) |T| {17 inline for ([_]type{ f16, f32, f64, f128 }) |T| {
20 try testing.expectError(error.InvalidCharacter, parseFloat(T, ""));18 try testing.expectError(error.InvalidCharacter, parseFloat(T, ""));
21 try testing.expectError(error.InvalidCharacter, parseFloat(T, " 1"));19 try testing.expectError(error.InvalidCharacter, parseFloat(T, " 1"));
...@@ -72,8 +70,6 @@ test "fmt.parseFloat" {...@@ -72,8 +70,6 @@ test "fmt.parseFloat" {
72}70}
7371
74test "fmt.parseFloat nan and inf" {72test "fmt.parseFloat nan and inf" {
75 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
76
77 inline for ([_]type{ f16, f32, f64, f128 }) |T| {73 inline for ([_]type{ f16, f32, f64, f128 }) |T| {
78 const Z = std.meta.Int(.unsigned, @typeInfo(T).Float.bits);74 const Z = std.meta.Int(.unsigned, @typeInfo(T).Float.bits);
7975
...@@ -84,22 +80,16 @@ test "fmt.parseFloat nan and inf" {...@@ -84,22 +80,16 @@ test "fmt.parseFloat nan and inf" {
84}80}
8581
86test "fmt.parseFloat #11169" {82test "fmt.parseFloat #11169" {
87 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
88
89 try expectEqual(try parseFloat(f128, "9007199254740993.0"), 9007199254740993.0);83 try expectEqual(try parseFloat(f128, "9007199254740993.0"), 9007199254740993.0);
90}84}
9185
92test "fmt.parseFloat hex.special" {86test "fmt.parseFloat hex.special" {
93 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
94
95 try testing.expect(math.isNan(try parseFloat(f32, "nAn")));87 try testing.expect(math.isNan(try parseFloat(f32, "nAn")));
96 try testing.expect(math.isPositiveInf(try parseFloat(f32, "iNf")));88 try testing.expect(math.isPositiveInf(try parseFloat(f32, "iNf")));
97 try testing.expect(math.isPositiveInf(try parseFloat(f32, "+Inf")));89 try testing.expect(math.isPositiveInf(try parseFloat(f32, "+Inf")));
98 try testing.expect(math.isNegativeInf(try parseFloat(f32, "-iNf")));90 try testing.expect(math.isNegativeInf(try parseFloat(f32, "-iNf")));
99}91}
100test "fmt.parseFloat hex.zero" {92test "fmt.parseFloat hex.zero" {
101 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
102
103 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "0x0"));93 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "0x0"));
104 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "-0x0"));94 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "-0x0"));
105 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "0x0p42"));95 try testing.expectEqual(@as(f32, 0.0), try parseFloat(f32, "0x0p42"));
...@@ -108,8 +98,6 @@ test "fmt.parseFloat hex.zero" {...@@ -108,8 +98,6 @@ test "fmt.parseFloat hex.zero" {
108}98}
10999
110test "fmt.parseFloat hex.f16" {100test "fmt.parseFloat hex.f16" {
111 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
112
113 try testing.expectEqual(try parseFloat(f16, "0x1p0"), 1.0);101 try testing.expectEqual(try parseFloat(f16, "0x1p0"), 1.0);
114 try testing.expectEqual(try parseFloat(f16, "-0x1p-1"), -0.5);102 try testing.expectEqual(try parseFloat(f16, "-0x1p-1"), -0.5);
115 try testing.expectEqual(try parseFloat(f16, "0x10p+10"), 16384.0);103 try testing.expectEqual(try parseFloat(f16, "0x10p+10"), 16384.0);
...@@ -126,8 +114,6 @@ test "fmt.parseFloat hex.f16" {...@@ -126,8 +114,6 @@ test "fmt.parseFloat hex.f16" {
126}114}
127115
128test "fmt.parseFloat hex.f32" {116test "fmt.parseFloat hex.f32" {
129 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
130
131 try testing.expectError(error.InvalidCharacter, parseFloat(f32, "0x"));117 try testing.expectError(error.InvalidCharacter, parseFloat(f32, "0x"));
132 try testing.expectEqual(try parseFloat(f32, "0x1p0"), 1.0);118 try testing.expectEqual(try parseFloat(f32, "0x1p0"), 1.0);
133 try testing.expectEqual(try parseFloat(f32, "-0x1p-1"), -0.5);119 try testing.expectEqual(try parseFloat(f32, "-0x1p-1"), -0.5);
...@@ -162,8 +148,6 @@ test "fmt.parseFloat hex.f64" {...@@ -162,8 +148,6 @@ test "fmt.parseFloat hex.f64" {
162 try testing.expectEqual(try parseFloat(f64, "-0x1p-1074"), -math.floatTrueMin(f64));148 try testing.expectEqual(try parseFloat(f64, "-0x1p-1074"), -math.floatTrueMin(f64));
163}149}
164test "fmt.parseFloat hex.f128" {150test "fmt.parseFloat hex.f128" {
165 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
166
167 try testing.expectEqual(try parseFloat(f128, "0x1p0"), 1.0);151 try testing.expectEqual(try parseFloat(f128, "0x1p0"), 1.0);
168 try testing.expectEqual(try parseFloat(f128, "-0x1p-1"), -0.5);152 try testing.expectEqual(try parseFloat(f128, "-0x1p-1"), -0.5);
169 try testing.expectEqual(try parseFloat(f128, "0x10p+10"), 16384.0);153 try testing.expectEqual(try parseFloat(f128, "0x10p+10"), 16384.0);
lib/std/fs.zig+6-8
...@@ -3244,15 +3244,13 @@ fn copy_file(fd_in: os.fd_t, fd_out: os.fd_t, maybe_size: ?u64) CopyFileRawError...@@ -3244,15 +3244,13 @@ fn copy_file(fd_in: os.fd_t, fd_out: os.fd_t, maybe_size: ?u64) CopyFileRawError
3244}3244}
32453245
3246test {3246test {
3247 if (builtin.zig_backend != .stage2_x86_64) {3247 if (builtin.os.tag != .wasi) {
3248 if (builtin.os.tag != .wasi) {3248 _ = &makeDirAbsolute;
3249 _ = &makeDirAbsolute;3249 _ = &makeDirAbsoluteZ;
3250 _ = &makeDirAbsoluteZ;3250 _ = &copyFileAbsolute;
3251 _ = &copyFileAbsolute;3251 _ = &updateFileAbsolute;
3252 _ = &updateFileAbsolute;
3253 }
3254 _ = &Dir.copyFile;
3255 }3252 }
3253 _ = &Dir.copyFile;
3256 _ = @import("fs/test.zig");3254 _ = @import("fs/test.zig");
3257 _ = @import("fs/path.zig");3255 _ = @import("fs/path.zig");
3258 _ = @import("fs/file.zig");3256 _ = @import("fs/file.zig");
lib/std/fs/test.zig-104
...@@ -124,8 +124,6 @@ fn testWithAllSupportedPathTypes(test_func: anytype) !void {...@@ -124,8 +124,6 @@ fn testWithAllSupportedPathTypes(test_func: anytype) !void {
124}124}
125125
126test "Dir.readLink" {126test "Dir.readLink" {
127 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
128
129 try testWithAllSupportedPathTypes(struct {127 try testWithAllSupportedPathTypes(struct {
130 fn impl(ctx: *TestContext) !void {128 fn impl(ctx: *TestContext) !void {
131 // Create some targets129 // Create some targets
...@@ -163,8 +161,6 @@ fn testReadLink(dir: Dir, target_path: []const u8, symlink_path: []const u8) !vo...@@ -163,8 +161,6 @@ fn testReadLink(dir: Dir, target_path: []const u8, symlink_path: []const u8) !vo
163}161}
164162
165test "relative symlink to parent directory" {163test "relative symlink to parent directory" {
166 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
167
168 var tmp = tmpDir(.{});164 var tmp = tmpDir(.{});
169 defer tmp.cleanup();165 defer tmp.cleanup();
170166
...@@ -182,8 +178,6 @@ test "relative symlink to parent directory" {...@@ -182,8 +178,6 @@ test "relative symlink to parent directory" {
182}178}
183179
184test "openDir" {180test "openDir" {
185 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
186
187 try testWithAllSupportedPathTypes(struct {181 try testWithAllSupportedPathTypes(struct {
188 fn impl(ctx: *TestContext) !void {182 fn impl(ctx: *TestContext) !void {
189 const allocator = ctx.arena.allocator();183 const allocator = ctx.arena.allocator();
...@@ -202,8 +196,6 @@ test "openDir" {...@@ -202,8 +196,6 @@ test "openDir" {
202test "accessAbsolute" {196test "accessAbsolute" {
203 if (builtin.os.tag == .wasi) return error.SkipZigTest;197 if (builtin.os.tag == .wasi) return error.SkipZigTest;
204198
205 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
206
207 var tmp = tmpDir(.{});199 var tmp = tmpDir(.{});
208 defer tmp.cleanup();200 defer tmp.cleanup();
209201
...@@ -222,8 +214,6 @@ test "accessAbsolute" {...@@ -222,8 +214,6 @@ test "accessAbsolute" {
222test "openDirAbsolute" {214test "openDirAbsolute" {
223 if (builtin.os.tag == .wasi) return error.SkipZigTest;215 if (builtin.os.tag == .wasi) return error.SkipZigTest;
224216
225 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
226
227 var tmp = tmpDir(.{});217 var tmp = tmpDir(.{});
228 defer tmp.cleanup();218 defer tmp.cleanup();
229219
...@@ -262,8 +252,6 @@ test "openDir non-cwd parent .." {...@@ -262,8 +252,6 @@ test "openDir non-cwd parent .." {
262 else => {},252 else => {},
263 }253 }
264254
265 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
266
267 var tmp = tmpDir(.{});255 var tmp = tmpDir(.{});
268 defer tmp.cleanup();256 defer tmp.cleanup();
269257
...@@ -285,8 +273,6 @@ test "openDir non-cwd parent .." {...@@ -285,8 +273,6 @@ test "openDir non-cwd parent .." {
285test "readLinkAbsolute" {273test "readLinkAbsolute" {
286 if (builtin.os.tag == .wasi) return error.SkipZigTest;274 if (builtin.os.tag == .wasi) return error.SkipZigTest;
287275
288 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
289
290 var tmp = tmpDir(.{});276 var tmp = tmpDir(.{});
291 defer tmp.cleanup();277 defer tmp.cleanup();
292278
...@@ -337,8 +323,6 @@ fn testReadLinkAbsolute(target_path: []const u8, symlink_path: []const u8) !void...@@ -337,8 +323,6 @@ fn testReadLinkAbsolute(target_path: []const u8, symlink_path: []const u8) !void
337}323}
338324
339test "Dir.Iterator" {325test "Dir.Iterator" {
340 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
341
342 var tmp_dir = tmpIterableDir(.{});326 var tmp_dir = tmpIterableDir(.{});
343 defer tmp_dir.cleanup();327 defer tmp_dir.cleanup();
344328
...@@ -369,8 +353,6 @@ test "Dir.Iterator" {...@@ -369,8 +353,6 @@ test "Dir.Iterator" {
369}353}
370354
371test "Dir.Iterator many entries" {355test "Dir.Iterator many entries" {
372 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
373
374 var tmp_dir = tmpIterableDir(.{});356 var tmp_dir = tmpIterableDir(.{});
375 defer tmp_dir.cleanup();357 defer tmp_dir.cleanup();
376358
...@@ -406,8 +388,6 @@ test "Dir.Iterator many entries" {...@@ -406,8 +388,6 @@ test "Dir.Iterator many entries" {
406}388}
407389
408test "Dir.Iterator twice" {390test "Dir.Iterator twice" {
409 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
410
411 var tmp_dir = tmpIterableDir(.{});391 var tmp_dir = tmpIterableDir(.{});
412 defer tmp_dir.cleanup();392 defer tmp_dir.cleanup();
413393
...@@ -441,8 +421,6 @@ test "Dir.Iterator twice" {...@@ -441,8 +421,6 @@ test "Dir.Iterator twice" {
441}421}
442422
443test "Dir.Iterator reset" {423test "Dir.Iterator reset" {
444 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
445
446 var tmp_dir = tmpIterableDir(.{});424 var tmp_dir = tmpIterableDir(.{});
447 defer tmp_dir.cleanup();425 defer tmp_dir.cleanup();
448426
...@@ -479,8 +457,6 @@ test "Dir.Iterator reset" {...@@ -479,8 +457,6 @@ test "Dir.Iterator reset" {
479}457}
480458
481test "Dir.Iterator but dir is deleted during iteration" {459test "Dir.Iterator but dir is deleted during iteration" {
482 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
483
484 var tmp = std.testing.tmpDir(.{});460 var tmp = std.testing.tmpDir(.{});
485 defer tmp.cleanup();461 defer tmp.cleanup();
486462
...@@ -523,8 +499,6 @@ fn contains(entries: *const std.ArrayList(IterableDir.Entry), el: IterableDir.En...@@ -523,8 +499,6 @@ fn contains(entries: *const std.ArrayList(IterableDir.Entry), el: IterableDir.En
523test "Dir.realpath smoke test" {499test "Dir.realpath smoke test" {
524 if (!comptime std.os.isGetFdPathSupportedOnTarget(builtin.os)) return error.SkipZigTest;500 if (!comptime std.os.isGetFdPathSupportedOnTarget(builtin.os)) return error.SkipZigTest;
525501
526 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
527
528 try testWithAllSupportedPathTypes(struct {502 try testWithAllSupportedPathTypes(struct {
529 fn impl(ctx: *TestContext) !void {503 fn impl(ctx: *TestContext) !void {
530 const allocator = ctx.arena.allocator();504 const allocator = ctx.arena.allocator();
...@@ -575,8 +549,6 @@ test "Dir.realpath smoke test" {...@@ -575,8 +549,6 @@ test "Dir.realpath smoke test" {
575}549}
576550
577test "readAllAlloc" {551test "readAllAlloc" {
578 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
579
580 var tmp_dir = tmpDir(.{});552 var tmp_dir = tmpDir(.{});
581 defer tmp_dir.cleanup();553 defer tmp_dir.cleanup();
582554
...@@ -613,8 +585,6 @@ test "Dir.statFile" {...@@ -613,8 +585,6 @@ test "Dir.statFile" {
613 // TODO: Re-enable once https://github.com/ziglang/zig/issues/17034 is solved585 // TODO: Re-enable once https://github.com/ziglang/zig/issues/17034 is solved
614 if (builtin.os.tag == .linux and builtin.link_libc and builtin.abi == .gnu) return error.SkipZigTest;586 if (builtin.os.tag == .linux and builtin.link_libc and builtin.abi == .gnu) return error.SkipZigTest;
615587
616 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
617
618 try testWithAllSupportedPathTypes(struct {588 try testWithAllSupportedPathTypes(struct {
619 fn impl(ctx: *TestContext) !void {589 fn impl(ctx: *TestContext) !void {
620 const test_file_name = try ctx.transformPath("test_file");590 const test_file_name = try ctx.transformPath("test_file");
...@@ -630,8 +600,6 @@ test "Dir.statFile" {...@@ -630,8 +600,6 @@ test "Dir.statFile" {
630}600}
631601
632test "directory operations on files" {602test "directory operations on files" {
633 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
634
635 try testWithAllSupportedPathTypes(struct {603 try testWithAllSupportedPathTypes(struct {
636 fn impl(ctx: *TestContext) !void {604 fn impl(ctx: *TestContext) !void {
637 const test_file_name = try ctx.transformPath("test_file");605 const test_file_name = try ctx.transformPath("test_file");
...@@ -661,8 +629,6 @@ test "file operations on directories" {...@@ -661,8 +629,6 @@ test "file operations on directories" {
661 // TODO: fix this test on FreeBSD. https://github.com/ziglang/zig/issues/1759629 // TODO: fix this test on FreeBSD. https://github.com/ziglang/zig/issues/1759
662 if (builtin.os.tag == .freebsd) return error.SkipZigTest;630 if (builtin.os.tag == .freebsd) return error.SkipZigTest;
663631
664 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
665
666 try testWithAllSupportedPathTypes(struct {632 try testWithAllSupportedPathTypes(struct {
667 fn impl(ctx: *TestContext) !void {633 fn impl(ctx: *TestContext) !void {
668 const test_dir_name = try ctx.transformPath("test_dir");634 const test_dir_name = try ctx.transformPath("test_dir");
...@@ -710,8 +676,6 @@ test "makeOpenPath parent dirs do not exist" {...@@ -710,8 +676,6 @@ test "makeOpenPath parent dirs do not exist" {
710}676}
711677
712test "deleteDir" {678test "deleteDir" {
713 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
714
715 try testWithAllSupportedPathTypes(struct {679 try testWithAllSupportedPathTypes(struct {
716 fn impl(ctx: *TestContext) !void {680 fn impl(ctx: *TestContext) !void {
717 const test_dir_path = try ctx.transformPath("test_dir");681 const test_dir_path = try ctx.transformPath("test_dir");
...@@ -733,8 +697,6 @@ test "deleteDir" {...@@ -733,8 +697,6 @@ test "deleteDir" {
733}697}
734698
735test "Dir.rename files" {699test "Dir.rename files" {
736 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
737
738 try testWithAllSupportedPathTypes(struct {700 try testWithAllSupportedPathTypes(struct {
739 fn impl(ctx: *TestContext) !void {701 fn impl(ctx: *TestContext) !void {
740 // Rename on Windows can hit intermittent AccessDenied errors702 // Rename on Windows can hit intermittent AccessDenied errors
...@@ -777,8 +739,6 @@ test "Dir.rename files" {...@@ -777,8 +739,6 @@ test "Dir.rename files" {
777}739}
778740
779test "Dir.rename directories" {741test "Dir.rename directories" {
780 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
781
782 try testWithAllSupportedPathTypes(struct {742 try testWithAllSupportedPathTypes(struct {
783 fn impl(ctx: *TestContext) !void {743 fn impl(ctx: *TestContext) !void {
784 // Rename on Windows can hit intermittent AccessDenied errors744 // Rename on Windows can hit intermittent AccessDenied errors
...@@ -820,8 +780,6 @@ test "Dir.rename directory onto empty dir" {...@@ -820,8 +780,6 @@ test "Dir.rename directory onto empty dir" {
820 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364780 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364
821 if (builtin.os.tag == .windows) return error.SkipZigTest;781 if (builtin.os.tag == .windows) return error.SkipZigTest;
822782
823 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
824
825 try testWithAllSupportedPathTypes(struct {783 try testWithAllSupportedPathTypes(struct {
826 fn impl(ctx: *TestContext) !void {784 fn impl(ctx: *TestContext) !void {
827 const test_dir_path = try ctx.transformPath("test_dir");785 const test_dir_path = try ctx.transformPath("test_dir");
...@@ -843,8 +801,6 @@ test "Dir.rename directory onto non-empty dir" {...@@ -843,8 +801,6 @@ test "Dir.rename directory onto non-empty dir" {
843 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364801 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364
844 if (builtin.os.tag == .windows) return error.SkipZigTest;802 if (builtin.os.tag == .windows) return error.SkipZigTest;
845803
846 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
847
848 try testWithAllSupportedPathTypes(struct {804 try testWithAllSupportedPathTypes(struct {
849 fn impl(ctx: *TestContext) !void {805 fn impl(ctx: *TestContext) !void {
850 const test_dir_path = try ctx.transformPath("test_dir");806 const test_dir_path = try ctx.transformPath("test_dir");
...@@ -871,8 +827,6 @@ test "Dir.rename file <-> dir" {...@@ -871,8 +827,6 @@ test "Dir.rename file <-> dir" {
871 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364827 // TODO: Fix on Windows, see https://github.com/ziglang/zig/issues/6364
872 if (builtin.os.tag == .windows) return error.SkipZigTest;828 if (builtin.os.tag == .windows) return error.SkipZigTest;
873829
874 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
875
876 try testWithAllSupportedPathTypes(struct {830 try testWithAllSupportedPathTypes(struct {
877 fn impl(ctx: *TestContext) !void {831 fn impl(ctx: *TestContext) !void {
878 const test_file_path = try ctx.transformPath("test_file");832 const test_file_path = try ctx.transformPath("test_file");
...@@ -888,8 +842,6 @@ test "Dir.rename file <-> dir" {...@@ -888,8 +842,6 @@ test "Dir.rename file <-> dir" {
888}842}
889843
890test "rename" {844test "rename" {
891 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
892
893 var tmp_dir1 = tmpDir(.{});845 var tmp_dir1 = tmpDir(.{});
894 defer tmp_dir1.cleanup();846 defer tmp_dir1.cleanup();
895847
...@@ -912,8 +864,6 @@ test "rename" {...@@ -912,8 +864,6 @@ test "rename" {
912test "renameAbsolute" {864test "renameAbsolute" {
913 if (builtin.os.tag == .wasi) return error.SkipZigTest;865 if (builtin.os.tag == .wasi) return error.SkipZigTest;
914866
915 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
916
917 var tmp_dir = tmpDir(.{});867 var tmp_dir = tmpDir(.{});
918 defer tmp_dir.cleanup();868 defer tmp_dir.cleanup();
919869
...@@ -972,8 +922,6 @@ test "openSelfExe" {...@@ -972,8 +922,6 @@ test "openSelfExe" {
972}922}
973923
974test "makePath, put some files in it, deleteTree" {924test "makePath, put some files in it, deleteTree" {
975 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
976
977 try testWithAllSupportedPathTypes(struct {925 try testWithAllSupportedPathTypes(struct {
978 fn impl(ctx: *TestContext) !void {926 fn impl(ctx: *TestContext) !void {
979 const allocator = ctx.arena.allocator();927 const allocator = ctx.arena.allocator();
...@@ -990,8 +938,6 @@ test "makePath, put some files in it, deleteTree" {...@@ -990,8 +938,6 @@ test "makePath, put some files in it, deleteTree" {
990}938}
991939
992test "makePath, put some files in it, deleteTreeMinStackSize" {940test "makePath, put some files in it, deleteTreeMinStackSize" {
993 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
994
995 try testWithAllSupportedPathTypes(struct {941 try testWithAllSupportedPathTypes(struct {
996 fn impl(ctx: *TestContext) !void {942 fn impl(ctx: *TestContext) !void {
997 const allocator = ctx.arena.allocator();943 const allocator = ctx.arena.allocator();
...@@ -1010,8 +956,6 @@ test "makePath, put some files in it, deleteTreeMinStackSize" {...@@ -1010,8 +956,6 @@ test "makePath, put some files in it, deleteTreeMinStackSize" {
1010test "makePath in a directory that no longer exists" {956test "makePath in a directory that no longer exists" {
1011 if (builtin.os.tag == .windows) return error.SkipZigTest; // Windows returns FileBusy if attempting to remove an open dir957 if (builtin.os.tag == .windows) return error.SkipZigTest; // Windows returns FileBusy if attempting to remove an open dir
1012958
1013 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1014
1015 var tmp = tmpDir(.{});959 var tmp = tmpDir(.{});
1016 defer tmp.cleanup();960 defer tmp.cleanup();
1017 try tmp.parent_dir.deleteTree(&tmp.sub_path);961 try tmp.parent_dir.deleteTree(&tmp.sub_path);
...@@ -1043,8 +987,6 @@ fn testFilenameLimits(iterable_dir: IterableDir, maxed_filename: []const u8) !vo...@@ -1043,8 +987,6 @@ fn testFilenameLimits(iterable_dir: IterableDir, maxed_filename: []const u8) !vo
1043}987}
1044988
1045test "max file name component lengths" {989test "max file name component lengths" {
1046 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1047
1048 var tmp = tmpIterableDir(.{});990 var tmp = tmpIterableDir(.{});
1049 defer tmp.cleanup();991 defer tmp.cleanup();
1050992
...@@ -1066,8 +1008,6 @@ test "max file name component lengths" {...@@ -1066,8 +1008,6 @@ test "max file name component lengths" {
1066}1008}
10671009
1068test "writev, readv" {1010test "writev, readv" {
1069 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1070
1071 var tmp = tmpDir(.{});1011 var tmp = tmpDir(.{});
1072 defer tmp.cleanup();1012 defer tmp.cleanup();
10731013
...@@ -1110,8 +1050,6 @@ test "writev, readv" {...@@ -1110,8 +1050,6 @@ test "writev, readv" {
1110}1050}
11111051
1112test "pwritev, preadv" {1052test "pwritev, preadv" {
1113 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1114
1115 var tmp = tmpDir(.{});1053 var tmp = tmpDir(.{});
1116 defer tmp.cleanup();1054 defer tmp.cleanup();
11171055
...@@ -1153,8 +1091,6 @@ test "pwritev, preadv" {...@@ -1153,8 +1091,6 @@ test "pwritev, preadv" {
1153}1091}
11541092
1155test "access file" {1093test "access file" {
1156 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1157
1158 try testWithAllSupportedPathTypes(struct {1094 try testWithAllSupportedPathTypes(struct {
1159 fn impl(ctx: *TestContext) !void {1095 fn impl(ctx: *TestContext) !void {
1160 const dir_path = try ctx.transformPath("os_test_tmp");1096 const dir_path = try ctx.transformPath("os_test_tmp");
...@@ -1171,8 +1107,6 @@ test "access file" {...@@ -1171,8 +1107,6 @@ test "access file" {
1171}1107}
11721108
1173test "sendfile" {1109test "sendfile" {
1174 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1175
1176 var tmp = tmpDir(.{});1110 var tmp = tmpDir(.{});
1177 defer tmp.cleanup();1111 defer tmp.cleanup();
11781112
...@@ -1238,8 +1172,6 @@ test "sendfile" {...@@ -1238,8 +1172,6 @@ test "sendfile" {
1238}1172}
12391173
1240test "copyRangeAll" {1174test "copyRangeAll" {
1241 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1242
1243 var tmp = tmpDir(.{});1175 var tmp = tmpDir(.{});
1244 defer tmp.cleanup();1176 defer tmp.cleanup();
12451177
...@@ -1266,8 +1198,6 @@ test "copyRangeAll" {...@@ -1266,8 +1198,6 @@ test "copyRangeAll" {
1266}1198}
12671199
1268test "copyFile" {1200test "copyFile" {
1269 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1270
1271 try testWithAllSupportedPathTypes(struct {1201 try testWithAllSupportedPathTypes(struct {
1272 fn impl(ctx: *TestContext) !void {1202 fn impl(ctx: *TestContext) !void {
1273 const data = "u6wj+JmdF3qHsFPE BUlH2g4gJCmEz0PP";1203 const data = "u6wj+JmdF3qHsFPE BUlH2g4gJCmEz0PP";
...@@ -1298,8 +1228,6 @@ fn expectFileContents(dir: Dir, file_path: []const u8, data: []const u8) !void {...@@ -1298,8 +1228,6 @@ fn expectFileContents(dir: Dir, file_path: []const u8, data: []const u8) !void {
1298}1228}
12991229
1300test "AtomicFile" {1230test "AtomicFile" {
1301 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1302
1303 try testWithAllSupportedPathTypes(struct {1231 try testWithAllSupportedPathTypes(struct {
1304 fn impl(ctx: *TestContext) !void {1232 fn impl(ctx: *TestContext) !void {
1305 const allocator = ctx.arena.allocator();1233 const allocator = ctx.arena.allocator();
...@@ -1326,8 +1254,6 @@ test "AtomicFile" {...@@ -1326,8 +1254,6 @@ test "AtomicFile" {
1326test "open file with exclusive nonblocking lock twice" {1254test "open file with exclusive nonblocking lock twice" {
1327 if (builtin.os.tag == .wasi) return error.SkipZigTest;1255 if (builtin.os.tag == .wasi) return error.SkipZigTest;
13281256
1329 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1330
1331 try testWithAllSupportedPathTypes(struct {1257 try testWithAllSupportedPathTypes(struct {
1332 fn impl(ctx: *TestContext) !void {1258 fn impl(ctx: *TestContext) !void {
1333 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");1259 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");
...@@ -1344,8 +1270,6 @@ test "open file with exclusive nonblocking lock twice" {...@@ -1344,8 +1270,6 @@ test "open file with exclusive nonblocking lock twice" {
1344test "open file with shared and exclusive nonblocking lock" {1270test "open file with shared and exclusive nonblocking lock" {
1345 if (builtin.os.tag == .wasi) return error.SkipZigTest;1271 if (builtin.os.tag == .wasi) return error.SkipZigTest;
13461272
1347 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1348
1349 try testWithAllSupportedPathTypes(struct {1273 try testWithAllSupportedPathTypes(struct {
1350 fn impl(ctx: *TestContext) !void {1274 fn impl(ctx: *TestContext) !void {
1351 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");1275 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");
...@@ -1362,8 +1286,6 @@ test "open file with shared and exclusive nonblocking lock" {...@@ -1362,8 +1286,6 @@ test "open file with shared and exclusive nonblocking lock" {
1362test "open file with exclusive and shared nonblocking lock" {1286test "open file with exclusive and shared nonblocking lock" {
1363 if (builtin.os.tag == .wasi) return error.SkipZigTest;1287 if (builtin.os.tag == .wasi) return error.SkipZigTest;
13641288
1365 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1366
1367 try testWithAllSupportedPathTypes(struct {1289 try testWithAllSupportedPathTypes(struct {
1368 fn impl(ctx: *TestContext) !void {1290 fn impl(ctx: *TestContext) !void {
1369 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");1291 const filename = try ctx.transformPath("file_nonblocking_lock_test.txt");
...@@ -1378,8 +1300,6 @@ test "open file with exclusive and shared nonblocking lock" {...@@ -1378,8 +1300,6 @@ test "open file with exclusive and shared nonblocking lock" {
1378}1300}
13791301
1380test "open file with exclusive lock twice, make sure second lock waits" {1302test "open file with exclusive lock twice, make sure second lock waits" {
1381 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1382
1383 if (builtin.single_threaded) return error.SkipZigTest;1303 if (builtin.single_threaded) return error.SkipZigTest;
13841304
1385 if (std.io.is_async) {1305 if (std.io.is_async) {
...@@ -1430,8 +1350,6 @@ test "open file with exclusive lock twice, make sure second lock waits" {...@@ -1430,8 +1350,6 @@ test "open file with exclusive lock twice, make sure second lock waits" {
1430test "open file with exclusive nonblocking lock twice (absolute paths)" {1350test "open file with exclusive nonblocking lock twice (absolute paths)" {
1431 if (builtin.os.tag == .wasi) return error.SkipZigTest;1351 if (builtin.os.tag == .wasi) return error.SkipZigTest;
14321352
1433 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1434
1435 var random_bytes: [12]u8 = undefined;1353 var random_bytes: [12]u8 = undefined;
1436 std.crypto.random.bytes(&random_bytes);1354 std.crypto.random.bytes(&random_bytes);
14371355
...@@ -1466,8 +1384,6 @@ test "open file with exclusive nonblocking lock twice (absolute paths)" {...@@ -1466,8 +1384,6 @@ test "open file with exclusive nonblocking lock twice (absolute paths)" {
1466test "walker" {1384test "walker" {
1467 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;1385 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;
14681386
1469 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1470
1471 var tmp = tmpIterableDir(.{});1387 var tmp = tmpIterableDir(.{});
1472 defer tmp.cleanup();1388 defer tmp.cleanup();
14731389
...@@ -1521,8 +1437,6 @@ test "walker" {...@@ -1521,8 +1437,6 @@ test "walker" {
1521test "walker without fully iterating" {1437test "walker without fully iterating" {
1522 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;1438 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;
15231439
1524 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1525
1526 var tmp = tmpIterableDir(.{});1440 var tmp = tmpIterableDir(.{});
1527 defer tmp.cleanup();1441 defer tmp.cleanup();
15281442
...@@ -1546,8 +1460,6 @@ test "walker without fully iterating" {...@@ -1546,8 +1460,6 @@ test "walker without fully iterating" {
1546test ". and .. in fs.Dir functions" {1460test ". and .. in fs.Dir functions" {
1547 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;1461 if (builtin.os.tag == .wasi and builtin.link_libc) return error.SkipZigTest;
15481462
1549 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1550
1551 if (builtin.os.tag == .windows and builtin.cpu.arch == .aarch64) {1463 if (builtin.os.tag == .windows and builtin.cpu.arch == .aarch64) {
1552 // https://github.com/ziglang/zig/issues/171341464 // https://github.com/ziglang/zig/issues/17134
1553 return error.SkipZigTest;1465 return error.SkipZigTest;
...@@ -1588,8 +1500,6 @@ test ". and .. in fs.Dir functions" {...@@ -1588,8 +1500,6 @@ test ". and .. in fs.Dir functions" {
1588test ". and .. in absolute functions" {1500test ". and .. in absolute functions" {
1589 if (builtin.os.tag == .wasi) return error.SkipZigTest;1501 if (builtin.os.tag == .wasi) return error.SkipZigTest;
15901502
1591 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1592
1593 var tmp = tmpDir(.{});1503 var tmp = tmpDir(.{});
1594 defer tmp.cleanup();1504 defer tmp.cleanup();
15951505
...@@ -1635,8 +1545,6 @@ test "chmod" {...@@ -1635,8 +1545,6 @@ test "chmod" {
1635 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)1545 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)
1636 return error.SkipZigTest;1546 return error.SkipZigTest;
16371547
1638 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1639
1640 var tmp = tmpDir(.{});1548 var tmp = tmpDir(.{});
1641 defer tmp.cleanup();1549 defer tmp.cleanup();
16421550
...@@ -1659,8 +1567,6 @@ test "chown" {...@@ -1659,8 +1567,6 @@ test "chown" {
1659 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)1567 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)
1660 return error.SkipZigTest;1568 return error.SkipZigTest;
16611569
1662 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1663
1664 var tmp = tmpDir(.{});1570 var tmp = tmpDir(.{});
1665 defer tmp.cleanup();1571 defer tmp.cleanup();
16661572
...@@ -1676,8 +1582,6 @@ test "chown" {...@@ -1676,8 +1582,6 @@ test "chown" {
1676}1582}
16771583
1678test "File.Metadata" {1584test "File.Metadata" {
1679 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1680
1681 var tmp = tmpDir(.{});1585 var tmp = tmpDir(.{});
1682 defer tmp.cleanup();1586 defer tmp.cleanup();
16831587
...@@ -1696,8 +1600,6 @@ test "File.Permissions" {...@@ -1696,8 +1600,6 @@ test "File.Permissions" {
1696 if (builtin.os.tag == .wasi)1600 if (builtin.os.tag == .wasi)
1697 return error.SkipZigTest;1601 return error.SkipZigTest;
16981602
1699 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1700
1701 var tmp = tmpDir(.{});1603 var tmp = tmpDir(.{});
1702 defer tmp.cleanup();1604 defer tmp.cleanup();
17031605
...@@ -1724,8 +1626,6 @@ test "File.PermissionsUnix" {...@@ -1724,8 +1626,6 @@ test "File.PermissionsUnix" {
1724 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)1626 if (builtin.os.tag == .windows or builtin.os.tag == .wasi)
1725 return error.SkipZigTest;1627 return error.SkipZigTest;
17261628
1727 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1728
1729 var tmp = tmpDir(.{});1629 var tmp = tmpDir(.{});
1730 defer tmp.cleanup();1630 defer tmp.cleanup();
17311631
...@@ -1761,8 +1661,6 @@ test "delete a read-only file on windows" {...@@ -1761,8 +1661,6 @@ test "delete a read-only file on windows" {
1761 if (builtin.os.tag != .windows)1661 if (builtin.os.tag != .windows)
1762 return error.SkipZigTest;1662 return error.SkipZigTest;
17631663
1764 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1765
1766 var tmp = testing.tmpDir(.{});1664 var tmp = testing.tmpDir(.{});
1767 defer tmp.cleanup();1665 defer tmp.cleanup();
17681666
...@@ -1793,8 +1691,6 @@ test "delete a read-only file on windows" {...@@ -1793,8 +1691,6 @@ test "delete a read-only file on windows" {
1793test "delete a setAsCwd directory on Windows" {1691test "delete a setAsCwd directory on Windows" {
1794 if (builtin.os.tag != .windows) return error.SkipZigTest;1692 if (builtin.os.tag != .windows) return error.SkipZigTest;
17951693
1796 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1797
1798 var tmp = tmpDir(.{});1694 var tmp = tmpDir(.{});
1799 // Set tmp dir as current working directory.1695 // Set tmp dir as current working directory.
1800 try tmp.dir.setAsCwd();1696 try tmp.dir.setAsCwd();
lib/std/hash/auto_hash.zig-21
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
1const std = @import("std");1const std = @import("std");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const builtin = @import("builtin");
4const mem = std.mem;3const mem = std.mem;
5const meta = std.meta;4const meta = std.meta;
65
...@@ -253,8 +252,6 @@ test "typeContainsSlice" {...@@ -253,8 +252,6 @@ test "typeContainsSlice" {
253}252}
254253
255test "hash pointer" {254test "hash pointer" {
256 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
257
258 const array = [_]u32{ 123, 123, 123 };255 const array = [_]u32{ 123, 123, 123 };
259 const a = &array[0];256 const a = &array[0];
260 const b = &array[1];257 const b = &array[1];
...@@ -275,8 +272,6 @@ test "hash pointer" {...@@ -275,8 +272,6 @@ test "hash pointer" {
275}272}
276273
277test "hash slice shallow" {274test "hash slice shallow" {
278 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
279
280 // Allocate one array dynamically so that we're assured it is not merged275 // Allocate one array dynamically so that we're assured it is not merged
281 // with the other by the optimization passes.276 // with the other by the optimization passes.
282 const array1 = try std.testing.allocator.create([6]u32);277 const array1 = try std.testing.allocator.create([6]u32);
...@@ -295,8 +290,6 @@ test "hash slice shallow" {...@@ -295,8 +290,6 @@ test "hash slice shallow" {
295}290}
296291
297test "hash slice deep" {292test "hash slice deep" {
298 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
299
300 // Allocate one array dynamically so that we're assured it is not merged293 // Allocate one array dynamically so that we're assured it is not merged
301 // with the other by the optimization passes.294 // with the other by the optimization passes.
302 const array1 = try std.testing.allocator.create([6]u32);295 const array1 = try std.testing.allocator.create([6]u32);
...@@ -313,8 +306,6 @@ test "hash slice deep" {...@@ -313,8 +306,6 @@ test "hash slice deep" {
313}306}
314307
315test "hash struct deep" {308test "hash struct deep" {
316 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
317
318 const Foo = struct {309 const Foo = struct {
319 a: u32,310 a: u32,
320 b: u16,311 b: u16,
...@@ -354,8 +345,6 @@ test "hash struct deep" {...@@ -354,8 +345,6 @@ test "hash struct deep" {
354}345}
355346
356test "testHash optional" {347test "testHash optional" {
357 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
358
359 const a: ?u32 = 123;348 const a: ?u32 = 123;
360 const b: ?u32 = null;349 const b: ?u32 = null;
361 try testing.expectEqual(testHash(a), testHash(@as(u32, 123)));350 try testing.expectEqual(testHash(a), testHash(@as(u32, 123)));
...@@ -364,8 +353,6 @@ test "testHash optional" {...@@ -364,8 +353,6 @@ test "testHash optional" {
364}353}
365354
366test "testHash array" {355test "testHash array" {
367 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
368
369 const a = [_]u32{ 1, 2, 3 };356 const a = [_]u32{ 1, 2, 3 };
370 const h = testHash(a);357 const h = testHash(a);
371 var hasher = Wyhash.init(0);358 var hasher = Wyhash.init(0);
...@@ -382,8 +369,6 @@ test "testHash multi-dimensional array" {...@@ -382,8 +369,6 @@ test "testHash multi-dimensional array" {
382}369}
383370
384test "testHash struct" {371test "testHash struct" {
385 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
386
387 const Foo = struct {372 const Foo = struct {
388 a: u32 = 1,373 a: u32 = 1,
389 b: u32 = 2,374 b: u32 = 2,
...@@ -399,8 +384,6 @@ test "testHash struct" {...@@ -399,8 +384,6 @@ test "testHash struct" {
399}384}
400385
401test "testHash union" {386test "testHash union" {
402 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
403
404 const Foo = union(enum) {387 const Foo = union(enum) {
405 A: u32,388 A: u32,
406 B: bool,389 B: bool,
...@@ -425,8 +408,6 @@ test "testHash union" {...@@ -425,8 +408,6 @@ test "testHash union" {
425}408}
426409
427test "testHash vector" {410test "testHash vector" {
428 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
429
430 const a: @Vector(4, u32) = [_]u32{ 1, 2, 3, 4 };411 const a: @Vector(4, u32) = [_]u32{ 1, 2, 3, 4 };
431 const b: @Vector(4, u32) = [_]u32{ 1, 2, 3, 5 };412 const b: @Vector(4, u32) = [_]u32{ 1, 2, 3, 5 };
432 try testing.expect(testHash(a) == testHash(a));413 try testing.expect(testHash(a) == testHash(a));
...@@ -439,8 +420,6 @@ test "testHash vector" {...@@ -439,8 +420,6 @@ test "testHash vector" {
439}420}
440421
441test "testHash error union" {422test "testHash error union" {
442 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
443
444 const Errors = error{Test};423 const Errors = error{Test};
445 const Foo = struct {424 const Foo = struct {
446 a: u32 = 1,425 a: u32 = 1,
lib/std/hash/wyhash.zig-2
...@@ -242,8 +242,6 @@ test "smhasher" {...@@ -242,8 +242,6 @@ test "smhasher" {
242}242}
243243
244test "iterative api" {244test "iterative api" {
245 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
246
247 const Test = struct {245 const Test = struct {
248 fn do() !void {246 fn do() !void {
249 try verify.iterativeApi(Wyhash);247 try verify.iterativeApi(Wyhash);
lib/std/hash/xxhash.zig-18
...@@ -803,8 +803,6 @@ fn testExpect(comptime H: type, seed: anytype, input: []const u8, expected: u64)...@@ -803,8 +803,6 @@ fn testExpect(comptime H: type, seed: anytype, input: []const u8, expected: u64)
803}803}
804804
805test "xxhash3" {805test "xxhash3" {
806 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
807
808 const H = XxHash3;806 const H = XxHash3;
809 // Non-Seeded Tests807 // Non-Seeded Tests
810 try testExpect(H, 0, "", 0x2d06800538d394c2);808 try testExpect(H, 0, "", 0x2d06800538d394c2);
...@@ -836,8 +834,6 @@ test "xxhash3" {...@@ -836,8 +834,6 @@ test "xxhash3" {
836}834}
837835
838test "xxhash3 smhasher" {836test "xxhash3 smhasher" {
839 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
840
841 const Test = struct {837 const Test = struct {
842 fn do() !void {838 fn do() !void {
843 try expectEqual(verify.smhasher(XxHash3.hash), 0x9a636405);839 try expectEqual(verify.smhasher(XxHash3.hash), 0x9a636405);
...@@ -849,8 +845,6 @@ test "xxhash3 smhasher" {...@@ -849,8 +845,6 @@ test "xxhash3 smhasher" {
849}845}
850846
851test "xxhash3 iterative api" {847test "xxhash3 iterative api" {
852 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
853
854 const Test = struct {848 const Test = struct {
855 fn do() !void {849 fn do() !void {
856 try verify.iterativeApi(XxHash3);850 try verify.iterativeApi(XxHash3);
...@@ -862,8 +856,6 @@ test "xxhash3 iterative api" {...@@ -862,8 +856,6 @@ test "xxhash3 iterative api" {
862}856}
863857
864test "xxhash64" {858test "xxhash64" {
865 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
866
867 const H = XxHash64;859 const H = XxHash64;
868 try testExpect(H, 0, "", 0xef46db3751d8e999);860 try testExpect(H, 0, "", 0xef46db3751d8e999);
869 try testExpect(H, 0, "a", 0xd24ec4f1a98c6e5b);861 try testExpect(H, 0, "a", 0xd24ec4f1a98c6e5b);
...@@ -875,8 +867,6 @@ test "xxhash64" {...@@ -875,8 +867,6 @@ test "xxhash64" {
875}867}
876868
877test "xxhash64 smhasher" {869test "xxhash64 smhasher" {
878 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
879
880 const Test = struct {870 const Test = struct {
881 fn do() !void {871 fn do() !void {
882 try expectEqual(verify.smhasher(XxHash64.hash), 0x024B7CF4);872 try expectEqual(verify.smhasher(XxHash64.hash), 0x024B7CF4);
...@@ -888,8 +878,6 @@ test "xxhash64 smhasher" {...@@ -888,8 +878,6 @@ test "xxhash64 smhasher" {
888}878}
889879
890test "xxhash64 iterative api" {880test "xxhash64 iterative api" {
891 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
892
893 const Test = struct {881 const Test = struct {
894 fn do() !void {882 fn do() !void {
895 try verify.iterativeApi(XxHash64);883 try verify.iterativeApi(XxHash64);
...@@ -901,8 +889,6 @@ test "xxhash64 iterative api" {...@@ -901,8 +889,6 @@ test "xxhash64 iterative api" {
901}889}
902890
903test "xxhash32" {891test "xxhash32" {
904 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
905
906 const H = XxHash32;892 const H = XxHash32;
907893
908 try testExpect(H, 0, "", 0x02cc5d05);894 try testExpect(H, 0, "", 0x02cc5d05);
...@@ -915,8 +901,6 @@ test "xxhash32" {...@@ -915,8 +901,6 @@ test "xxhash32" {
915}901}
916902
917test "xxhash32 smhasher" {903test "xxhash32 smhasher" {
918 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
919
920 const Test = struct {904 const Test = struct {
921 fn do() !void {905 fn do() !void {
922 try expectEqual(verify.smhasher(XxHash32.hash), 0xBA88B743);906 try expectEqual(verify.smhasher(XxHash32.hash), 0xBA88B743);
...@@ -928,8 +912,6 @@ test "xxhash32 smhasher" {...@@ -928,8 +912,6 @@ test "xxhash32 smhasher" {
928}912}
929913
930test "xxhash32 iterative api" {914test "xxhash32 iterative api" {
931 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
932
933 const Test = struct {915 const Test = struct {
934 fn do() !void {916 fn do() !void {
935 try verify.iterativeApi(XxHash32);917 try verify.iterativeApi(XxHash32);
lib/std/hash_map.zig-2
...@@ -1873,8 +1873,6 @@ test "std.hash_map multiple removes on same metadata" {...@@ -1873,8 +1873,6 @@ test "std.hash_map multiple removes on same metadata" {
1873}1873}
18741874
1875test "std.hash_map put and remove loop in random order" {1875test "std.hash_map put and remove loop in random order" {
1876 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1877
1878 var map = AutoHashMap(u32, u32).init(std.testing.allocator);1876 var map = AutoHashMap(u32, u32).init(std.testing.allocator);
1879 defer map.deinit();1877 defer map.deinit();
18801878
lib/std/heap/general_purpose_allocator.zig-4
...@@ -1042,8 +1042,6 @@ const TraceKind = enum {...@@ -1042,8 +1042,6 @@ const TraceKind = enum {
1042const test_config = Config{};1042const test_config = Config{};
10431043
1044test "small allocations - free in same order" {1044test "small allocations - free in same order" {
1045 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1046
1047 var gpa = GeneralPurposeAllocator(test_config){};1045 var gpa = GeneralPurposeAllocator(test_config){};
1048 defer std.testing.expect(gpa.deinit() == .ok) catch @panic("leak");1046 defer std.testing.expect(gpa.deinit() == .ok) catch @panic("leak");
1049 const allocator = gpa.allocator();1047 const allocator = gpa.allocator();
...@@ -1063,8 +1061,6 @@ test "small allocations - free in same order" {...@@ -1063,8 +1061,6 @@ test "small allocations - free in same order" {
1063}1061}
10641062
1065test "small allocations - free in reverse order" {1063test "small allocations - free in reverse order" {
1066 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
1067
1068 var gpa = GeneralPurposeAllocator(test_config){};1064 var gpa = GeneralPurposeAllocator(test_config){};
1069 defer std.testing.expect(gpa.deinit() == .ok) catch @panic("leak");1065 defer std.testing.expect(gpa.deinit() == .ok) catch @panic("leak");
1070 const allocator = gpa.allocator();1066 const allocator = gpa.allocator();
lib/std/http/Client.zig+2-6
...@@ -1,7 +1,6 @@...@@ -1,7 +1,6 @@
1//! Connecting and opening requests are threadsafe. Individual requests are not.1//! Connecting and opening requests are threadsafe. Individual requests are not.
22
3const std = @import("../std.zig");3const std = @import("../std.zig");
4const builtin = @import("builtin");
5const testing = std.testing;4const testing = std.testing;
6const http = std.http;5const http = std.http;
7const mem = std.mem;6const mem = std.mem;
...@@ -428,8 +427,6 @@ pub const Response = struct {...@@ -428,8 +427,6 @@ pub const Response = struct {
428 }427 }
429428
430 test parseInt3 {429 test parseInt3 {
431 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
432
433 const expectEqual = testing.expectEqual;430 const expectEqual = testing.expectEqual;
434 try expectEqual(@as(u10, 0), parseInt3("000".*));431 try expectEqual(@as(u10, 0), parseInt3("000".*));
435 try expectEqual(@as(u10, 418), parseInt3("418".*));432 try expectEqual(@as(u10, 418), parseInt3("418".*));
...@@ -588,7 +585,7 @@ pub const Request = struct {...@@ -588,7 +585,7 @@ pub const Request = struct {
588585
589 if (!req.headers.contains("user-agent")) {586 if (!req.headers.contains("user-agent")) {
590 try w.writeAll("User-Agent: zig/");587 try w.writeAll("User-Agent: zig/");
591 try w.writeAll(builtin.zig_version_string);588 try w.writeAll(@import("builtin").zig_version_string);
592 try w.writeAll(" (std.http)\r\n");589 try w.writeAll(" (std.http)\r\n");
593 }590 }
594591
...@@ -1252,6 +1249,7 @@ pub fn fetch(client: *Client, allocator: Allocator, options: FetchOptions) !Fetc...@@ -1252,6 +1249,7 @@ pub fn fetch(client: *Client, allocator: Allocator, options: FetchOptions) !Fetc
1252}1249}
12531250
1254test {1251test {
1252 const builtin = @import("builtin");
1255 const native_endian = comptime builtin.cpu.arch.endian();1253 const native_endian = comptime builtin.cpu.arch.endian();
1256 if (builtin.zig_backend == .stage2_llvm and native_endian == .Big) {1254 if (builtin.zig_backend == .stage2_llvm and native_endian == .Big) {
1257 // https://github.com/ziglang/zig/issues/137821255 // https://github.com/ziglang/zig/issues/13782
...@@ -1260,7 +1258,5 @@ test {...@@ -1260,7 +1258,5 @@ test {
12601258
1261 if (builtin.os.tag == .wasi) return error.SkipZigTest;1259 if (builtin.os.tag == .wasi) return error.SkipZigTest;
12621260
1263 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1264
1265 std.testing.refAllDecls(@This());1261 std.testing.refAllDecls(@This());
1266}1262}
lib/std/http/Server.zig-2
...@@ -725,8 +725,6 @@ test "HTTP server handles a chunked transfer coding request" {...@@ -725,8 +725,6 @@ test "HTTP server handles a chunked transfer coding request" {
725 return error.SkipZigTest;725 return error.SkipZigTest;
726 }726 }
727727
728 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
729
730 const native_endian = comptime builtin.cpu.arch.endian();728 const native_endian = comptime builtin.cpu.arch.endian();
731 if (builtin.zig_backend == .stage2_llvm and native_endian == .Big) {729 if (builtin.zig_backend == .stage2_llvm and native_endian == .Big) {
732 // https://github.com/ziglang/zig/issues/13782730 // https://github.com/ziglang/zig/issues/13782
lib/std/io/bit_reader.zig-2
...@@ -164,8 +164,6 @@ pub fn bitReader(...@@ -164,8 +164,6 @@ pub fn bitReader(
164}164}
165165
166test "api coverage" {166test "api coverage" {
167 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
168
169 const mem_be = [_]u8{ 0b11001101, 0b00001011 };167 const mem_be = [_]u8{ 0b11001101, 0b00001011 };
170 const mem_le = [_]u8{ 0b00011101, 0b10010101 };168 const mem_le = [_]u8{ 0b00011101, 0b10010101 };
171169
lib/std/io/multi_writer.zig-1
...@@ -36,7 +36,6 @@ pub fn multiWriter(streams: anytype) MultiWriter(@TypeOf(streams)) {...@@ -36,7 +36,6 @@ pub fn multiWriter(streams: anytype) MultiWriter(@TypeOf(streams)) {
36const testing = std.testing;36const testing = std.testing;
3737
38test "MultiWriter" {38test "MultiWriter" {
39 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
40 var tmp = testing.tmpDir(.{});39 var tmp = testing.tmpDir(.{});
41 defer tmp.cleanup();40 defer tmp.cleanup();
42 var f = try tmp.dir.createFile("t.txt", .{});41 var f = try tmp.dir.createFile("t.txt", .{});
lib/std/io/test.zig-10
...@@ -15,8 +15,6 @@ const native_endian = builtin.target.cpu.arch.endian();...@@ -15,8 +15,6 @@ const native_endian = builtin.target.cpu.arch.endian();
15const tmpDir = std.testing.tmpDir;15const tmpDir = std.testing.tmpDir;
1616
17test "write a file, read it, then delete it" {17test "write a file, read it, then delete it" {
18 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
19
20 var tmp = tmpDir(.{});18 var tmp = tmpDir(.{});
21 defer tmp.cleanup();19 defer tmp.cleanup();
2220
...@@ -63,8 +61,6 @@ test "write a file, read it, then delete it" {...@@ -63,8 +61,6 @@ test "write a file, read it, then delete it" {
63}61}
6462
65test "BitStreams with File Stream" {63test "BitStreams with File Stream" {
66 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
67
68 var tmp = tmpDir(.{});64 var tmp = tmpDir(.{});
69 defer tmp.cleanup();65 defer tmp.cleanup();
7066
...@@ -110,8 +106,6 @@ test "BitStreams with File Stream" {...@@ -110,8 +106,6 @@ test "BitStreams with File Stream" {
110}106}
111107
112test "File seek ops" {108test "File seek ops" {
113 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
114
115 var tmp = tmpDir(.{});109 var tmp = tmpDir(.{});
116 defer tmp.cleanup();110 defer tmp.cleanup();
117111
...@@ -139,8 +133,6 @@ test "File seek ops" {...@@ -139,8 +133,6 @@ test "File seek ops" {
139}133}
140134
141test "setEndPos" {135test "setEndPos" {
142 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
143
144 var tmp = tmpDir(.{});136 var tmp = tmpDir(.{});
145 defer tmp.cleanup();137 defer tmp.cleanup();
146138
...@@ -167,8 +159,6 @@ test "setEndPos" {...@@ -167,8 +159,6 @@ test "setEndPos" {
167}159}
168160
169test "updateTimes" {161test "updateTimes" {
170 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
171
172 var tmp = tmpDir(.{});162 var tmp = tmpDir(.{});
173 defer tmp.cleanup();163 defer tmp.cleanup();
174164
lib/std/json.zig-9
...@@ -9,7 +9,6 @@...@@ -9,7 +9,6 @@
9//! The low-level `writeStream` emits syntax-conformant JSON tokens to a `std.io.Writer`.9//! The low-level `writeStream` emits syntax-conformant JSON tokens to a `std.io.Writer`.
10//! The high-level `stringify` serializes a Zig or `Value` type into JSON.10//! The high-level `stringify` serializes a Zig or `Value` type into JSON.
1111
12const builtin = @import("builtin");
13const testing = @import("std").testing;12const testing = @import("std").testing;
14const ArrayList = @import("std").ArrayList;13const ArrayList = @import("std").ArrayList;
1514
...@@ -24,8 +23,6 @@ test Scanner {...@@ -24,8 +23,6 @@ test Scanner {
24}23}
2524
26test parseFromSlice {25test parseFromSlice {
27 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
28
29 var parsed_str = try parseFromSlice([]const u8, testing.allocator, "\"a\\u0020b\"", .{});26 var parsed_str = try parseFromSlice([]const u8, testing.allocator, "\"a\\u0020b\"", .{});
30 defer parsed_str.deinit();27 defer parsed_str.deinit();
31 try testing.expectEqualSlices(u8, "a b", parsed_str.value);28 try testing.expectEqualSlices(u8, "a b", parsed_str.value);
...@@ -38,16 +35,12 @@ test parseFromSlice {...@@ -38,16 +35,12 @@ test parseFromSlice {
38}35}
3936
40test Value {37test Value {
41 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
42
43 var parsed = try parseFromSlice(Value, testing.allocator, "{\"anything\": \"goes\"}", .{});38 var parsed = try parseFromSlice(Value, testing.allocator, "{\"anything\": \"goes\"}", .{});
44 defer parsed.deinit();39 defer parsed.deinit();
45 try testing.expectEqualSlices(u8, "goes", parsed.value.object.get("anything").?.string);40 try testing.expectEqualSlices(u8, "goes", parsed.value.object.get("anything").?.string);
46}41}
4742
48test writeStream {43test writeStream {
49 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
50
51 var out = ArrayList(u8).init(testing.allocator);44 var out = ArrayList(u8).init(testing.allocator);
52 defer out.deinit();45 defer out.deinit();
53 var write_stream = writeStream(out.writer(), .{ .whitespace = .indent_2 });46 var write_stream = writeStream(out.writer(), .{ .whitespace = .indent_2 });
...@@ -65,8 +58,6 @@ test writeStream {...@@ -65,8 +58,6 @@ test writeStream {
65}58}
6659
67test stringify {60test stringify {
68 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
69
70 var out = ArrayList(u8).init(testing.allocator);61 var out = ArrayList(u8).init(testing.allocator);
71 defer out.deinit();62 defer out.deinit();
7263
lib/std/json/JSONTestSuite_test.zig-72
...@@ -104,8 +104,6 @@ test "i_string_utf16LE_no_BOM.json" {...@@ -104,8 +104,6 @@ test "i_string_utf16LE_no_BOM.json" {
104 try any("[\x00\"\x00\xe9\x00\"\x00]\x00");104 try any("[\x00\"\x00\xe9\x00\"\x00]\x00");
105}105}
106test "i_structure_500_nested_arrays.json" {106test "i_structure_500_nested_arrays.json" {
107 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
108
109 try any("[" ** 500 ++ "]" ** 500);107 try any("[" ** 500 ++ "]" ** 500);
110}108}
111test "i_structure_UTF-8_BOM_empty_object.json" {109test "i_structure_UTF-8_BOM_empty_object.json" {
...@@ -361,21 +359,15 @@ test "n_object_bracket_key.json" {...@@ -361,21 +359,15 @@ test "n_object_bracket_key.json" {
361 try err("{[: \"x\"}\n");359 try err("{[: \"x\"}\n");
362}360}
363test "n_object_comma_instead_of_colon.json" {361test "n_object_comma_instead_of_colon.json" {
364 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
365
366 try err("{\"x\", null}");362 try err("{\"x\", null}");
367}363}
368test "n_object_double_colon.json" {364test "n_object_double_colon.json" {
369 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
370
371 try err("{\"x\"::\"b\"}");365 try err("{\"x\"::\"b\"}");
372}366}
373test "n_object_emoji.json" {367test "n_object_emoji.json" {
374 try err("{\xf0\x9f\x87\xa8\xf0\x9f\x87\xad}");368 try err("{\xf0\x9f\x87\xa8\xf0\x9f\x87\xad}");
375}369}
376test "n_object_garbage_at_end.json" {370test "n_object_garbage_at_end.json" {
377 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
378
379 try err("{\"a\":\"a\" 123}");371 try err("{\"a\":\"a\" 123}");
380}372}
381test "n_object_key_with_single_quotes.json" {373test "n_object_key_with_single_quotes.json" {
...@@ -385,26 +377,18 @@ test "n_object_lone_continuation_byte_in_key_and_trailing_comma.json" {...@@ -385,26 +377,18 @@ test "n_object_lone_continuation_byte_in_key_and_trailing_comma.json" {
385 try err("{\"\xb9\":\"0\",}");377 try err("{\"\xb9\":\"0\",}");
386}378}
387test "n_object_missing_colon.json" {379test "n_object_missing_colon.json" {
388 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
389
390 try err("{\"a\" b}");380 try err("{\"a\" b}");
391}381}
392test "n_object_missing_key.json" {382test "n_object_missing_key.json" {
393 try err("{:\"b\"}");383 try err("{:\"b\"}");
394}384}
395test "n_object_missing_semicolon.json" {385test "n_object_missing_semicolon.json" {
396 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
397
398 try err("{\"a\" \"b\"}");386 try err("{\"a\" \"b\"}");
399}387}
400test "n_object_missing_value.json" {388test "n_object_missing_value.json" {
401 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
402
403 try err("{\"a\":");389 try err("{\"a\":");
404}390}
405test "n_object_no-colon.json" {391test "n_object_no-colon.json" {
406 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
407
408 try err("{\"a\"");392 try err("{\"a\"");
409}393}
410test "n_object_non_string_key.json" {394test "n_object_non_string_key.json" {
...@@ -417,59 +401,39 @@ test "n_object_repeated_null_null.json" {...@@ -417,59 +401,39 @@ test "n_object_repeated_null_null.json" {
417 try err("{null:null,null:null}");401 try err("{null:null,null:null}");
418}402}
419test "n_object_several_trailing_commas.json" {403test "n_object_several_trailing_commas.json" {
420 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
421
422 try err("{\"id\":0,,,,,}");404 try err("{\"id\":0,,,,,}");
423}405}
424test "n_object_single_quote.json" {406test "n_object_single_quote.json" {
425 try err("{'a':0}");407 try err("{'a':0}");
426}408}
427test "n_object_trailing_comma.json" {409test "n_object_trailing_comma.json" {
428 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
429
430 try err("{\"id\":0,}");410 try err("{\"id\":0,}");
431}411}
432test "n_object_trailing_comment.json" {412test "n_object_trailing_comment.json" {
433 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
434
435 try err("{\"a\":\"b\"}/**/");413 try err("{\"a\":\"b\"}/**/");
436}414}
437test "n_object_trailing_comment_open.json" {415test "n_object_trailing_comment_open.json" {
438 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
439
440 try err("{\"a\":\"b\"}/**//");416 try err("{\"a\":\"b\"}/**//");
441}417}
442test "n_object_trailing_comment_slash_open.json" {418test "n_object_trailing_comment_slash_open.json" {
443 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
444
445 try err("{\"a\":\"b\"}//");419 try err("{\"a\":\"b\"}//");
446}420}
447test "n_object_trailing_comment_slash_open_incomplete.json" {421test "n_object_trailing_comment_slash_open_incomplete.json" {
448 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
449
450 try err("{\"a\":\"b\"}/");422 try err("{\"a\":\"b\"}/");
451}423}
452test "n_object_two_commas_in_a_row.json" {424test "n_object_two_commas_in_a_row.json" {
453 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
454
455 try err("{\"a\":\"b\",,\"c\":\"d\"}");425 try err("{\"a\":\"b\",,\"c\":\"d\"}");
456}426}
457test "n_object_unquoted_key.json" {427test "n_object_unquoted_key.json" {
458 try err("{a: \"b\"}");428 try err("{a: \"b\"}");
459}429}
460test "n_object_unterminated-value.json" {430test "n_object_unterminated-value.json" {
461 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
462
463 try err("{\"a\":\"a");431 try err("{\"a\":\"a");
464}432}
465test "n_object_with_single_string.json" {433test "n_object_with_single_string.json" {
466 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
467
468 try err("{ \"foo\" : \"bar\", \"a\" }");434 try err("{ \"foo\" : \"bar\", \"a\" }");
469}435}
470test "n_object_with_trailing_garbage.json" {436test "n_object_with_trailing_garbage.json" {
471 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
472
473 try err("{\"a\":\"b\"}#");437 try err("{\"a\":\"b\"}#");
474}438}
475test "n_single_space.json" {439test "n_single_space.json" {
...@@ -596,8 +560,6 @@ test "n_structure_close_unopened_array.json" {...@@ -596,8 +560,6 @@ test "n_structure_close_unopened_array.json" {
596 try err("1]");560 try err("1]");
597}561}
598test "n_structure_comma_instead_of_closing_brace.json" {562test "n_structure_comma_instead_of_closing_brace.json" {
599 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
600
601 try err("{\"x\": true,");563 try err("{\"x\": true,");
602}564}
603test "n_structure_double_array.json" {565test "n_structure_double_array.json" {
...@@ -628,18 +590,12 @@ test "n_structure_object_followed_by_closing_object.json" {...@@ -628,18 +590,12 @@ test "n_structure_object_followed_by_closing_object.json" {
628 try err("{}}");590 try err("{}}");
629}591}
630test "n_structure_object_unclosed_no_value.json" {592test "n_structure_object_unclosed_no_value.json" {
631 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
632
633 try err("{\"\":");593 try err("{\"\":");
634}594}
635test "n_structure_object_with_comment.json" {595test "n_structure_object_with_comment.json" {
636 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
637
638 try err("{\"a\":/*comment*/\"b\"}");596 try err("{\"a\":/*comment*/\"b\"}");
639}597}
640test "n_structure_object_with_trailing_garbage.json" {598test "n_structure_object_with_trailing_garbage.json" {
641 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
642
643 try err("{\"a\": true} \"x\"");599 try err("{\"a\": true} \"x\"");
644}600}
645test "n_structure_open_array_apostrophe.json" {601test "n_structure_open_array_apostrophe.json" {
...@@ -649,8 +605,6 @@ test "n_structure_open_array_comma.json" {...@@ -649,8 +605,6 @@ test "n_structure_open_array_comma.json" {
649 try err("[,");605 try err("[,");
650}606}
651test "n_structure_open_array_object.json" {607test "n_structure_open_array_object.json" {
652 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
653
654 try err("[{\"\":" ** 50000 ++ "\n");608 try err("[{\"\":" ** 50000 ++ "\n");
655}609}
656test "n_structure_open_array_open_object.json" {610test "n_structure_open_array_open_object.json" {
...@@ -690,8 +644,6 @@ test "n_structure_single_star.json" {...@@ -690,8 +644,6 @@ test "n_structure_single_star.json" {
690 try err("*");644 try err("*");
691}645}
692test "n_structure_trailing_#.json" {646test "n_structure_trailing_#.json" {
693 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
694
695 try err("{\"a\":\"b\"}#{}");647 try err("{\"a\":\"b\"}#{}");
696}648}
697test "n_structure_uescaped_LF_before_string.json" {649test "n_structure_uescaped_LF_before_string.json" {
...@@ -710,8 +662,6 @@ test "n_structure_unclosed_array_unfinished_true.json" {...@@ -710,8 +662,6 @@ test "n_structure_unclosed_array_unfinished_true.json" {
710 try err("[ false, tru");662 try err("[ false, tru");
711}663}
712test "n_structure_unclosed_object.json" {664test "n_structure_unclosed_object.json" {
713 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
714
715 try err("{\"asd\":\"asd\"");665 try err("{\"asd\":\"asd\"");
716}666}
717test "n_structure_unicode-identifier.json" {667test "n_structure_unicode-identifier.json" {
...@@ -814,61 +764,39 @@ test "y_number_simple_real.json" {...@@ -814,61 +764,39 @@ test "y_number_simple_real.json" {
814 try ok("[123.456789]");764 try ok("[123.456789]");
815}765}
816test "y_object.json" {766test "y_object.json" {
817 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
818
819 try ok("{\"asd\":\"sdf\", \"dfg\":\"fgh\"}");767 try ok("{\"asd\":\"sdf\", \"dfg\":\"fgh\"}");
820}768}
821test "y_object_basic.json" {769test "y_object_basic.json" {
822 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
823
824 try ok("{\"asd\":\"sdf\"}");770 try ok("{\"asd\":\"sdf\"}");
825}771}
826test "y_object_duplicated_key.json" {772test "y_object_duplicated_key.json" {
827 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
828
829 try ok("{\"a\":\"b\",\"a\":\"c\"}");773 try ok("{\"a\":\"b\",\"a\":\"c\"}");
830}774}
831test "y_object_duplicated_key_and_value.json" {775test "y_object_duplicated_key_and_value.json" {
832 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
833
834 try ok("{\"a\":\"b\",\"a\":\"b\"}");776 try ok("{\"a\":\"b\",\"a\":\"b\"}");
835}777}
836test "y_object_empty.json" {778test "y_object_empty.json" {
837 try ok("{}");779 try ok("{}");
838}780}
839test "y_object_empty_key.json" {781test "y_object_empty_key.json" {
840 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
841
842 try ok("{\"\":0}");782 try ok("{\"\":0}");
843}783}
844test "y_object_escaped_null_in_key.json" {784test "y_object_escaped_null_in_key.json" {
845 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
846
847 try ok("{\"foo\\u0000bar\": 42}");785 try ok("{\"foo\\u0000bar\": 42}");
848}786}
849test "y_object_extreme_numbers.json" {787test "y_object_extreme_numbers.json" {
850 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
851
852 try ok("{ \"min\": -1.0e+28, \"max\": 1.0e+28 }");788 try ok("{ \"min\": -1.0e+28, \"max\": 1.0e+28 }");
853}789}
854test "y_object_long_strings.json" {790test "y_object_long_strings.json" {
855 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
856
857 try ok("{\"x\":[{\"id\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}], \"id\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}");791 try ok("{\"x\":[{\"id\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}], \"id\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}");
858}792}
859test "y_object_simple.json" {793test "y_object_simple.json" {
860 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
861
862 try ok("{\"a\":[]}");794 try ok("{\"a\":[]}");
863}795}
864test "y_object_string_unicode.json" {796test "y_object_string_unicode.json" {
865 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
866
867 try ok("{\"title\":\"\\u041f\\u043e\\u043b\\u0442\\u043e\\u0440\\u0430 \\u0417\\u0435\\u043c\\u043b\\u0435\\u043a\\u043e\\u043f\\u0430\" }");797 try ok("{\"title\":\"\\u041f\\u043e\\u043b\\u0442\\u043e\\u0440\\u0430 \\u0417\\u0435\\u043c\\u043b\\u0435\\u043a\\u043e\\u043f\\u0430\" }");
868}798}
869test "y_object_with_newlines.json" {799test "y_object_with_newlines.json" {
870 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
871
872 try ok("{\n\"a\": \"b\"\n}");800 try ok("{\n\"a\": \"b\"\n}");
873}801}
874test "y_string_1_2_3_bytes_UTF-8_sequences.json" {802test "y_string_1_2_3_bytes_UTF-8_sequences.json" {
lib/std/json/dynamic_test.zig-25
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const mem = std.mem;2const mem = std.mem;
4const testing = std.testing;3const testing = std.testing;
5const ArenaAllocator = std.heap.ArenaAllocator;4const ArenaAllocator = std.heap.ArenaAllocator;
...@@ -19,8 +18,6 @@ const jsonReader = @import("scanner.zig").reader;...@@ -19,8 +18,6 @@ const jsonReader = @import("scanner.zig").reader;
19const JsonReader = @import("scanner.zig").Reader;18const JsonReader = @import("scanner.zig").Reader;
2019
21test "json.parser.dynamic" {20test "json.parser.dynamic" {
22 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
23
24 const s =21 const s =
25 \\{22 \\{
26 \\ "Image": {23 \\ "Image": {
...@@ -75,8 +72,6 @@ test "json.parser.dynamic" {...@@ -75,8 +72,6 @@ test "json.parser.dynamic" {
7572
76const writeStream = @import("./stringify.zig").writeStream;73const writeStream = @import("./stringify.zig").writeStream;
77test "write json then parse it" {74test "write json then parse it" {
78 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
79
80 var out_buffer: [1000]u8 = undefined;75 var out_buffer: [1000]u8 = undefined;
8176
82 var fixed_buffer_stream = std.io.fixedBufferStream(&out_buffer);77 var fixed_buffer_stream = std.io.fixedBufferStream(&out_buffer);
...@@ -125,16 +120,12 @@ fn testParse(allocator: std.mem.Allocator, json_str: []const u8) !Value {...@@ -125,16 +120,12 @@ fn testParse(allocator: std.mem.Allocator, json_str: []const u8) !Value {
125}120}
126121
127test "parsing empty string gives appropriate error" {122test "parsing empty string gives appropriate error" {
128 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
129
130 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);123 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);
131 defer arena_allocator.deinit();124 defer arena_allocator.deinit();
132 try testing.expectError(error.UnexpectedEndOfInput, testParse(arena_allocator.allocator(), ""));125 try testing.expectError(error.UnexpectedEndOfInput, testParse(arena_allocator.allocator(), ""));
133}126}
134127
135test "Value.array allocator should still be usable after parsing" {128test "Value.array allocator should still be usable after parsing" {
136 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
137
138 var parsed = try parseFromSlice(Value, std.testing.allocator, "[]", .{});129 var parsed = try parseFromSlice(Value, std.testing.allocator, "[]", .{});
139 defer parsed.deinit();130 defer parsed.deinit();
140131
...@@ -147,8 +138,6 @@ test "Value.array allocator should still be usable after parsing" {...@@ -147,8 +138,6 @@ test "Value.array allocator should still be usable after parsing" {
147}138}
148139
149test "integer after float has proper type" {140test "integer after float has proper type" {
150 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
151
152 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);141 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);
153 defer arena_allocator.deinit();142 defer arena_allocator.deinit();
154 const parsed = try testParse(arena_allocator.allocator(),143 const parsed = try testParse(arena_allocator.allocator(),
...@@ -161,8 +150,6 @@ test "integer after float has proper type" {...@@ -161,8 +150,6 @@ test "integer after float has proper type" {
161}150}
162151
163test "escaped characters" {152test "escaped characters" {
164 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
165
166 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);153 var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator);
167 defer arena_allocator.deinit();154 defer arena_allocator.deinit();
168 const input =155 const input =
...@@ -195,8 +182,6 @@ test "escaped characters" {...@@ -195,8 +182,6 @@ test "escaped characters" {
195}182}
196183
197test "Value.jsonStringify" {184test "Value.jsonStringify" {
198 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
199
200 var vals = [_]Value{185 var vals = [_]Value{
201 .{ .integer = 1 },186 .{ .integer = 1 },
202 .{ .integer = 2 },187 .{ .integer = 2 },
...@@ -244,8 +229,6 @@ test "Value.jsonStringify" {...@@ -244,8 +229,6 @@ test "Value.jsonStringify" {
244}229}
245230
246test "parseFromValue(std.json.Value,...)" {231test "parseFromValue(std.json.Value,...)" {
247 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
248
249 const str =232 const str =
250 \\{233 \\{
251 \\ "int": 32,234 \\ "int": 32,
...@@ -263,8 +246,6 @@ test "parseFromValue(std.json.Value,...)" {...@@ -263,8 +246,6 @@ test "parseFromValue(std.json.Value,...)" {
263}246}
264247
265test "polymorphic parsing" {248test "polymorphic parsing" {
266 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
267
268 if (true) return error.SkipZigTest; // See https://github.com/ziglang/zig/issues/16108249 if (true) return error.SkipZigTest; // See https://github.com/ziglang/zig/issues/16108
269 const doc =250 const doc =
270 \\{ "type": "div",251 \\{ "type": "div",
...@@ -310,8 +291,6 @@ test "polymorphic parsing" {...@@ -310,8 +291,6 @@ test "polymorphic parsing" {
310}291}
311292
312test "long object value" {293test "long object value" {
313 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
314
315 const value = "01234567890123456789";294 const value = "01234567890123456789";
316 const doc = "{\"key\":\"" ++ value ++ "\"}";295 const doc = "{\"key\":\"" ++ value ++ "\"}";
317 var fbs = std.io.fixedBufferStream(doc);296 var fbs = std.io.fixedBufferStream(doc);
...@@ -324,8 +303,6 @@ test "long object value" {...@@ -324,8 +303,6 @@ test "long object value" {
324}303}
325304
326test "ParseOptions.max_value_len" {305test "ParseOptions.max_value_len" {
327 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
328
329 var arena = ArenaAllocator.init(testing.allocator);306 var arena = ArenaAllocator.init(testing.allocator);
330 defer arena.deinit();307 defer arena.deinit();
331308
...@@ -340,8 +317,6 @@ test "ParseOptions.max_value_len" {...@@ -340,8 +317,6 @@ test "ParseOptions.max_value_len" {
340}317}
341318
342test "many object keys" {319test "many object keys" {
343 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
344
345 const doc =320 const doc =
346 \\{321 \\{
347 \\ "k1": "v1",322 \\ "k1": "v1",
lib/std/json/hashmap_test.zig-13
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const testing = std.testing;2const testing = std.testing;
43
5const ArrayHashMap = @import("hashmap.zig").ArrayHashMap;4const ArrayHashMap = @import("hashmap.zig").ArrayHashMap;
...@@ -19,8 +18,6 @@ const T = struct {...@@ -19,8 +18,6 @@ const T = struct {
19};18};
2019
21test "parse json hashmap" {20test "parse json hashmap" {
22 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
23
24 const doc =21 const doc =
25 \\{22 \\{
26 \\ "abc": {"i": 0, "s": "d"},23 \\ "abc": {"i": 0, "s": "d"},
...@@ -36,8 +33,6 @@ test "parse json hashmap" {...@@ -36,8 +33,6 @@ test "parse json hashmap" {
36}33}
3734
38test "parse json hashmap while streaming" {35test "parse json hashmap while streaming" {
39 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
40
41 const doc =36 const doc =
42 \\{37 \\{
43 \\ "abc": {"i": 0, "s": "d"},38 \\ "abc": {"i": 0, "s": "d"},
...@@ -63,8 +58,6 @@ test "parse json hashmap while streaming" {...@@ -63,8 +58,6 @@ test "parse json hashmap while streaming" {
63}58}
6459
65test "parse json hashmap duplicate fields" {60test "parse json hashmap duplicate fields" {
66 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
67
68 var arena = std.heap.ArenaAllocator.init(std.testing.allocator);61 var arena = std.heap.ArenaAllocator.init(std.testing.allocator);
69 defer arena.deinit();62 defer arena.deinit();
7063
...@@ -93,8 +86,6 @@ test "parse json hashmap duplicate fields" {...@@ -93,8 +86,6 @@ test "parse json hashmap duplicate fields" {
93}86}
9487
95test "stringify json hashmap" {88test "stringify json hashmap" {
96 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
97
98 var value = ArrayHashMap(T){};89 var value = ArrayHashMap(T){};
99 defer value.deinit(testing.allocator);90 defer value.deinit(testing.allocator);
100 {91 {
...@@ -132,8 +123,6 @@ test "stringify json hashmap" {...@@ -132,8 +123,6 @@ test "stringify json hashmap" {
132}123}
133124
134test "stringify json hashmap whitespace" {125test "stringify json hashmap whitespace" {
135 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
136
137 var value = ArrayHashMap(T){};126 var value = ArrayHashMap(T){};
138 defer value.deinit(testing.allocator);127 defer value.deinit(testing.allocator);
139 try value.map.put(testing.allocator, "abc", .{ .i = 0, .s = "d" });128 try value.map.put(testing.allocator, "abc", .{ .i = 0, .s = "d" });
...@@ -158,8 +147,6 @@ test "stringify json hashmap whitespace" {...@@ -158,8 +147,6 @@ test "stringify json hashmap whitespace" {
158}147}
159148
160test "json parse from value hashmap" {149test "json parse from value hashmap" {
161 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
162
163 const doc =150 const doc =
164 \\{151 \\{
165 \\ "abc": {"i": 0, "s": "d"},152 \\ "abc": {"i": 0, "s": "d"},
lib/std/json/static_test.zig-49
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const testing = std.testing;2const testing = std.testing;
4const ArenaAllocator = std.heap.ArenaAllocator;3const ArenaAllocator = std.heap.ArenaAllocator;
5const Allocator = std.mem.Allocator;4const Allocator = std.mem.Allocator;
...@@ -372,8 +371,6 @@ test "test all types" {...@@ -372,8 +371,6 @@ test "test all types" {
372}371}
373372
374test "parse" {373test "parse" {
375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
376
377 try testing.expectEqual(false, try parseFromSliceLeaky(bool, testing.allocator, "false", .{}));374 try testing.expectEqual(false, try parseFromSliceLeaky(bool, testing.allocator, "false", .{}));
378 try testing.expectEqual(true, try parseFromSliceLeaky(bool, testing.allocator, "true", .{}));375 try testing.expectEqual(true, try parseFromSliceLeaky(bool, testing.allocator, "true", .{}));
379 try testing.expectEqual(@as(u1, 1), try parseFromSliceLeaky(u1, testing.allocator, "1", .{}));376 try testing.expectEqual(@as(u1, 1), try parseFromSliceLeaky(u1, testing.allocator, "1", .{}));
...@@ -392,8 +389,6 @@ test "parse" {...@@ -392,8 +389,6 @@ test "parse" {
392}389}
393390
394test "parse into enum" {391test "parse into enum" {
395 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
396
397 const T = enum(u32) {392 const T = enum(u32) {
398 Foo = 42,393 Foo = 42,
399 Bar,394 Bar,
...@@ -407,8 +402,6 @@ test "parse into enum" {...@@ -407,8 +402,6 @@ test "parse into enum" {
407}402}
408403
409test "parse into that allocates a slice" {404test "parse into that allocates a slice" {
410 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
411
412 {405 {
413 // string as string406 // string as string
414 const parsed = try parseFromSlice([]u8, testing.allocator, "\"foo\"", .{});407 const parsed = try parseFromSlice([]u8, testing.allocator, "\"foo\"", .{});
...@@ -429,16 +422,12 @@ test "parse into that allocates a slice" {...@@ -429,16 +422,12 @@ test "parse into that allocates a slice" {
429}422}
430423
431test "parse into sentinel slice" {424test "parse into sentinel slice" {
432 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
433
434 const parsed = try parseFromSlice([:0]const u8, testing.allocator, "\"\\n\"", .{});425 const parsed = try parseFromSlice([:0]const u8, testing.allocator, "\"\\n\"", .{});
435 defer parsed.deinit();426 defer parsed.deinit();
436 try testing.expect(std.mem.eql(u8, parsed.value, "\n"));427 try testing.expect(std.mem.eql(u8, parsed.value, "\n"));
437}428}
438429
439test "parse into tagged union" {430test "parse into tagged union" {
440 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
441
442 const T = union(enum) {431 const T = union(enum) {
443 nothing,432 nothing,
444 int: i32,433 int: i32,
...@@ -454,8 +443,6 @@ test "parse into tagged union" {...@@ -454,8 +443,6 @@ test "parse into tagged union" {
454}443}
455444
456test "parse into tagged union errors" {445test "parse into tagged union errors" {
457 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
458
459 const T = union(enum) {446 const T = union(enum) {
460 nothing,447 nothing,
461 int: i32,448 int: i32,
...@@ -478,8 +465,6 @@ test "parse into tagged union errors" {...@@ -478,8 +465,6 @@ test "parse into tagged union errors" {
478}465}
479466
480test "parse into struct with no fields" {467test "parse into struct with no fields" {
481 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
482
483 const T = struct {};468 const T = struct {};
484 const parsed = try parseFromSlice(T, testing.allocator, "{}", .{});469 const parsed = try parseFromSlice(T, testing.allocator, "{}", .{});
485 defer parsed.deinit();470 defer parsed.deinit();
...@@ -489,8 +474,6 @@ test "parse into struct with no fields" {...@@ -489,8 +474,6 @@ test "parse into struct with no fields" {
489const test_const_value: usize = 123;474const test_const_value: usize = 123;
490475
491test "parse into struct with default const pointer field" {476test "parse into struct with default const pointer field" {
492 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
493
494 const T = struct { a: *const usize = &test_const_value };477 const T = struct { a: *const usize = &test_const_value };
495 const parsed = try parseFromSlice(T, testing.allocator, "{}", .{});478 const parsed = try parseFromSlice(T, testing.allocator, "{}", .{});
496 defer parsed.deinit();479 defer parsed.deinit();
...@@ -506,8 +489,6 @@ const test_default_str_slice: [2][]const u8 = [_][]const u8{...@@ -506,8 +489,6 @@ const test_default_str_slice: [2][]const u8 = [_][]const u8{
506};489};
507490
508test "freeing parsed structs with pointers to default values" {491test "freeing parsed structs with pointers to default values" {
509 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
510
511 const T = struct {492 const T = struct {
512 int: *const usize = &test_default_usize,493 int: *const usize = &test_default_usize,
513 int_ptr: *allowzero align(1) const usize = test_default_usize_ptr,494 int_ptr: *allowzero align(1) const usize = test_default_usize_ptr,
...@@ -521,15 +502,11 @@ test "freeing parsed structs with pointers to default values" {...@@ -521,15 +502,11 @@ test "freeing parsed structs with pointers to default values" {
521}502}
522503
523test "parse into struct where destination and source lengths mismatch" {504test "parse into struct where destination and source lengths mismatch" {
524 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
525
526 const T = struct { a: [2]u8 };505 const T = struct { a: [2]u8 };
527 try testing.expectError(error.LengthMismatch, parseFromSlice(T, testing.allocator, "{\"a\": \"bbb\"}", .{}));506 try testing.expectError(error.LengthMismatch, parseFromSlice(T, testing.allocator, "{\"a\": \"bbb\"}", .{}));
528}507}
529508
530test "parse into struct with misc fields" {509test "parse into struct with misc fields" {
531 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
532
533 const T = struct {510 const T = struct {
534 int: i64,511 int: i64,
535 float: f64,512 float: f64,
...@@ -605,8 +582,6 @@ test "parse into struct with misc fields" {...@@ -605,8 +582,6 @@ test "parse into struct with misc fields" {
605}582}
606583
607test "parse into struct with strings and arrays with sentinels" {584test "parse into struct with strings and arrays with sentinels" {
608 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
609
610 const T = struct {585 const T = struct {
611 language: [:0]const u8,586 language: [:0]const u8,
612 language_without_sentinel: []const u8,587 language_without_sentinel: []const u8,
...@@ -635,8 +610,6 @@ test "parse into struct with strings and arrays with sentinels" {...@@ -635,8 +610,6 @@ test "parse into struct with strings and arrays with sentinels" {
635}610}
636611
637test "parse into struct with duplicate field" {612test "parse into struct with duplicate field" {
638 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
639
640 const options_first = ParseOptions{ .duplicate_field_behavior = .use_first };613 const options_first = ParseOptions{ .duplicate_field_behavior = .use_first };
641 const options_last = ParseOptions{ .duplicate_field_behavior = .use_last };614 const options_last = ParseOptions{ .duplicate_field_behavior = .use_last };
642615
...@@ -656,8 +629,6 @@ test "parse into struct with duplicate field" {...@@ -656,8 +629,6 @@ test "parse into struct with duplicate field" {
656}629}
657630
658test "parse into struct ignoring unknown fields" {631test "parse into struct ignoring unknown fields" {
659 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
660
661 const T = struct {632 const T = struct {
662 int: i64,633 int: i64,
663 language: []const u8,634 language: []const u8,
...@@ -696,8 +667,6 @@ test "parse into struct ignoring unknown fields" {...@@ -696,8 +667,6 @@ test "parse into struct ignoring unknown fields" {
696}667}
697668
698test "parse into tuple" {669test "parse into tuple" {
699 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
700
701 const Union = union(enum) {670 const Union = union(enum) {
702 char: u8,671 char: u8,
703 float: f64,672 float: f64,
...@@ -753,8 +722,6 @@ const ParseIntoRecursiveUnionDefinitionValue = union(enum) {...@@ -753,8 +722,6 @@ const ParseIntoRecursiveUnionDefinitionValue = union(enum) {
753};722};
754723
755test "parse into recursive union definition" {724test "parse into recursive union definition" {
756 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
757
758 const T = struct {725 const T = struct {
759 values: ParseIntoRecursiveUnionDefinitionValue,726 values: ParseIntoRecursiveUnionDefinitionValue,
760 };727 };
...@@ -776,8 +743,6 @@ const ParseIntoDoubleRecursiveUnionValueSecond = union(enum) {...@@ -776,8 +743,6 @@ const ParseIntoDoubleRecursiveUnionValueSecond = union(enum) {
776};743};
777744
778test "parse into double recursive union definition" {745test "parse into double recursive union definition" {
779 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
780
781 const T = struct {746 const T = struct {
782 values: ParseIntoDoubleRecursiveUnionValueFirst,747 values: ParseIntoDoubleRecursiveUnionValueFirst,
783 };748 };
...@@ -789,8 +754,6 @@ test "parse into double recursive union definition" {...@@ -789,8 +754,6 @@ test "parse into double recursive union definition" {
789}754}
790755
791test "parse exponential into int" {756test "parse exponential into int" {
792 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
793
794 const T = struct { int: i64 };757 const T = struct { int: i64 };
795 const r = try parseFromSliceLeaky(T, testing.allocator, "{ \"int\": 4.2e2 }", .{});758 const r = try parseFromSliceLeaky(T, testing.allocator, "{ \"int\": 4.2e2 }", .{});
796 try testing.expectEqual(@as(i64, 420), r.int);759 try testing.expectEqual(@as(i64, 420), r.int);
...@@ -799,8 +762,6 @@ test "parse exponential into int" {...@@ -799,8 +762,6 @@ test "parse exponential into int" {
799}762}
800763
801test "parseFromTokenSource" {764test "parseFromTokenSource" {
802 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
803
804 {765 {
805 var scanner = JsonScanner.initCompleteInput(testing.allocator, "123");766 var scanner = JsonScanner.initCompleteInput(testing.allocator, "123");
806 defer scanner.deinit();767 defer scanner.deinit();
...@@ -820,14 +781,10 @@ test "parseFromTokenSource" {...@@ -820,14 +781,10 @@ test "parseFromTokenSource" {
820}781}
821782
822test "max_value_len" {783test "max_value_len" {
823 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
824
825 try testing.expectError(error.ValueTooLong, parseFromSlice([]u8, testing.allocator, "\"0123456789\"", .{ .max_value_len = 5 }));784 try testing.expectError(error.ValueTooLong, parseFromSlice([]u8, testing.allocator, "\"0123456789\"", .{ .max_value_len = 5 }));
826}785}
827786
828test "parse into vector" {787test "parse into vector" {
829 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
830
831 const T = struct {788 const T = struct {
832 vec_i32: @Vector(4, i32),789 vec_i32: @Vector(4, i32),
833 vec_f32: @Vector(2, f32),790 vec_f32: @Vector(2, f32),
...@@ -860,8 +817,6 @@ fn assertKey(...@@ -860,8 +817,6 @@ fn assertKey(
860 }817 }
861}818}
862test "json parse partial" {819test "json parse partial" {
863 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
864
865 const Inner = struct {820 const Inner = struct {
866 num: u32,821 num: u32,
867 yes: bool,822 yes: bool,
...@@ -917,8 +872,6 @@ test "json parse partial" {...@@ -917,8 +872,6 @@ test "json parse partial" {
917}872}
918873
919test "json parse allocate when streaming" {874test "json parse allocate when streaming" {
920 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
921
922 const T = struct {875 const T = struct {
923 not_const: []u8,876 not_const: []u8,
924 is_const: []const u8,877 is_const: []const u8,
...@@ -949,8 +902,6 @@ test "json parse allocate when streaming" {...@@ -949,8 +902,6 @@ test "json parse allocate when streaming" {
949}902}
950903
951test "parse at comptime" {904test "parse at comptime" {
952 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
953
954 const doc =905 const doc =
955 \\{906 \\{
956 \\ "vals": {907 \\ "vals": {
lib/std/json/stringify_test.zig-41
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const mem = std.mem;2const mem = std.mem;
4const testing = std.testing;3const testing = std.testing;
54
...@@ -16,8 +15,6 @@ const writeStreamMaxDepth = @import("stringify.zig").writeStreamMaxDepth;...@@ -16,8 +15,6 @@ const writeStreamMaxDepth = @import("stringify.zig").writeStreamMaxDepth;
16const writeStreamArbitraryDepth = @import("stringify.zig").writeStreamArbitraryDepth;15const writeStreamArbitraryDepth = @import("stringify.zig").writeStreamArbitraryDepth;
1716
18test "json write stream" {17test "json write stream" {
19 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
20
21 var out_buf: [1024]u8 = undefined;18 var out_buf: [1024]u8 = undefined;
22 var slice_stream = std.io.fixedBufferStream(&out_buf);19 var slice_stream = std.io.fixedBufferStream(&out_buf);
23 const out = slice_stream.writer();20 const out = slice_stream.writer();
...@@ -100,8 +97,6 @@ fn getJsonObject(allocator: std.mem.Allocator) !Value {...@@ -100,8 +97,6 @@ fn getJsonObject(allocator: std.mem.Allocator) !Value {
100}97}
10198
102test "stringify null optional fields" {99test "stringify null optional fields" {
103 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
104
105 const MyStruct = struct {100 const MyStruct = struct {
106 optional: ?[]const u8 = null,101 optional: ?[]const u8 = null,
107 required: []const u8 = "something",102 required: []const u8 = "something",
...@@ -123,8 +118,6 @@ test "stringify null optional fields" {...@@ -123,8 +118,6 @@ test "stringify null optional fields" {
123}118}
124119
125test "stringify basic types" {120test "stringify basic types" {
126 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
127
128 try testStringify("false", false, .{});121 try testStringify("false", false, .{});
129 try testStringify("true", true, .{});122 try testStringify("true", true, .{});
130 try testStringify("null", @as(?u8, null), .{});123 try testStringify("null", @as(?u8, null), .{});
...@@ -141,8 +134,6 @@ test "stringify basic types" {...@@ -141,8 +134,6 @@ test "stringify basic types" {
141}134}
142135
143test "stringify string" {136test "stringify string" {
144 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
145
146 try testStringify("\"hello\"", "hello", .{});137 try testStringify("\"hello\"", "hello", .{});
147 try testStringify("\"with\\nescapes\\r\"", "with\nescapes\r", .{});138 try testStringify("\"with\\nescapes\\r\"", "with\nescapes\r", .{});
148 try testStringify("\"with\\nescapes\\r\"", "with\nescapes\r", .{ .escape_unicode = true });139 try testStringify("\"with\\nescapes\\r\"", "with\nescapes\r", .{ .escape_unicode = true });
...@@ -167,16 +158,12 @@ test "stringify string" {...@@ -167,16 +158,12 @@ test "stringify string" {
167}158}
168159
169test "stringify many-item sentinel-terminated string" {160test "stringify many-item sentinel-terminated string" {
170 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
171
172 try testStringify("\"hello\"", @as([*:0]const u8, "hello"), .{});161 try testStringify("\"hello\"", @as([*:0]const u8, "hello"), .{});
173 try testStringify("\"with\\nescapes\\r\"", @as([*:0]const u8, "with\nescapes\r"), .{ .escape_unicode = true });162 try testStringify("\"with\\nescapes\\r\"", @as([*:0]const u8, "with\nescapes\r"), .{ .escape_unicode = true });
174 try testStringify("\"with unicode\\u0001\"", @as([*:0]const u8, "with unicode\u{1}"), .{ .escape_unicode = true });163 try testStringify("\"with unicode\\u0001\"", @as([*:0]const u8, "with unicode\u{1}"), .{ .escape_unicode = true });
175}164}
176165
177test "stringify enums" {166test "stringify enums" {
178 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
179
180 const E = enum {167 const E = enum {
181 foo,168 foo,
182 bar,169 bar,
...@@ -186,15 +173,11 @@ test "stringify enums" {...@@ -186,15 +173,11 @@ test "stringify enums" {
186}173}
187174
188test "stringify enum literals" {175test "stringify enum literals" {
189 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
190
191 try testStringify("\"foo\"", .foo, .{});176 try testStringify("\"foo\"", .foo, .{});
192 try testStringify("\"bar\"", .bar, .{});177 try testStringify("\"bar\"", .bar, .{});
193}178}
194179
195test "stringify tagged unions" {180test "stringify tagged unions" {
196 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
197
198 const T = union(enum) {181 const T = union(enum) {
199 nothing,182 nothing,
200 foo: u32,183 foo: u32,
...@@ -206,16 +189,12 @@ test "stringify tagged unions" {...@@ -206,16 +189,12 @@ test "stringify tagged unions" {
206}189}
207190
208test "stringify struct" {191test "stringify struct" {
209 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
210
211 try testStringify("{\"foo\":42}", struct {192 try testStringify("{\"foo\":42}", struct {
212 foo: u32,193 foo: u32,
213 }{ .foo = 42 }, .{});194 }{ .foo = 42 }, .{});
214}195}
215196
216test "emit_strings_as_arrays" {197test "emit_strings_as_arrays" {
217 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
218
219 // Should only affect string values, not object keys.198 // Should only affect string values, not object keys.
220 try testStringify("{\"foo\":\"bar\"}", .{ .foo = "bar" }, .{});199 try testStringify("{\"foo\":\"bar\"}", .{ .foo = "bar" }, .{});
221 try testStringify("{\"foo\":[98,97,114]}", .{ .foo = "bar" }, .{ .emit_strings_as_arrays = true });200 try testStringify("{\"foo\":[98,97,114]}", .{ .foo = "bar" }, .{ .emit_strings_as_arrays = true });
...@@ -230,8 +209,6 @@ test "emit_strings_as_arrays" {...@@ -230,8 +209,6 @@ test "emit_strings_as_arrays" {
230}209}
231210
232test "stringify struct with indentation" {211test "stringify struct with indentation" {
233 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
234
235 try testStringify(212 try testStringify(
236 \\{213 \\{
237 \\ "foo": 42,214 \\ "foo": 42,
...@@ -277,8 +254,6 @@ test "stringify struct with indentation" {...@@ -277,8 +254,6 @@ test "stringify struct with indentation" {
277}254}
278255
279test "stringify struct with void field" {256test "stringify struct with void field" {
280 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
281
282 try testStringify("{\"foo\":42}", struct {257 try testStringify("{\"foo\":42}", struct {
283 foo: u32,258 foo: u32,
284 bar: void = {},259 bar: void = {},
...@@ -286,8 +261,6 @@ test "stringify struct with void field" {...@@ -286,8 +261,6 @@ test "stringify struct with void field" {
286}261}
287262
288test "stringify array of structs" {263test "stringify array of structs" {
289 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
290
291 const MyStruct = struct {264 const MyStruct = struct {
292 foo: u32,265 foo: u32,
293 };266 };
...@@ -299,8 +272,6 @@ test "stringify array of structs" {...@@ -299,8 +272,6 @@ test "stringify array of structs" {
299}272}
300273
301test "stringify struct with custom stringifier" {274test "stringify struct with custom stringifier" {
302 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
303
304 try testStringify("[\"something special\",42]", struct {275 try testStringify("[\"something special\",42]", struct {
305 foo: u32,276 foo: u32,
306 const Self = @This();277 const Self = @This();
...@@ -315,16 +286,12 @@ test "stringify struct with custom stringifier" {...@@ -315,16 +286,12 @@ test "stringify struct with custom stringifier" {
315}286}
316287
317test "stringify vector" {288test "stringify vector" {
318 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
319
320 try testStringify("[1,1]", @as(@Vector(2, u32), @splat(1)), .{});289 try testStringify("[1,1]", @as(@Vector(2, u32), @splat(1)), .{});
321 try testStringify("\"AA\"", @as(@Vector(2, u8), @splat('A')), .{});290 try testStringify("\"AA\"", @as(@Vector(2, u8), @splat('A')), .{});
322 try testStringify("[65,65]", @as(@Vector(2, u8), @splat('A')), .{ .emit_strings_as_arrays = true });291 try testStringify("[65,65]", @as(@Vector(2, u8), @splat('A')), .{ .emit_strings_as_arrays = true });
323}292}
324293
325test "stringify tuple" {294test "stringify tuple" {
326 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
327
328 try testStringify("[\"foo\",42]", std.meta.Tuple(&.{ []const u8, usize }){ "foo", 42 }, .{});295 try testStringify("[\"foo\",42]", std.meta.Tuple(&.{ []const u8, usize }){ "foo", 42 }, .{});
329}296}
330297
...@@ -411,8 +378,6 @@ fn testStringifyArbitraryDepth(expected: []const u8, value: anytype, options: St...@@ -411,8 +378,6 @@ fn testStringifyArbitraryDepth(expected: []const u8, value: anytype, options: St
411}378}
412379
413test "stringify alloc" {380test "stringify alloc" {
414 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
415
416 const allocator = std.testing.allocator;381 const allocator = std.testing.allocator;
417 const expected =382 const expected =
418 \\{"foo":"bar","answer":42,"my_friend":"sammy"}383 \\{"foo":"bar","answer":42,"my_friend":"sammy"}
...@@ -424,8 +389,6 @@ test "stringify alloc" {...@@ -424,8 +389,6 @@ test "stringify alloc" {
424}389}
425390
426test "comptime stringify" {391test "comptime stringify" {
427 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
428
429 comptime testStringifyMaxDepth("false", false, .{}, null) catch unreachable;392 comptime testStringifyMaxDepth("false", false, .{}, null) catch unreachable;
430 comptime testStringifyMaxDepth("false", false, .{}, 0) catch unreachable;393 comptime testStringifyMaxDepth("false", false, .{}, 0) catch unreachable;
431 comptime testStringifyArbitraryDepth("false", false, .{}) catch unreachable;394 comptime testStringifyArbitraryDepth("false", false, .{}) catch unreachable;
...@@ -446,8 +409,6 @@ test "comptime stringify" {...@@ -446,8 +409,6 @@ test "comptime stringify" {
446}409}
447410
448test "print" {411test "print" {
449 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
450
451 var out_buf: [1024]u8 = undefined;412 var out_buf: [1024]u8 = undefined;
452 var slice_stream = std.io.fixedBufferStream(&out_buf);413 var slice_stream = std.io.fixedBufferStream(&out_buf);
453 const out = slice_stream.writer();414 const out = slice_stream.writer();
...@@ -479,8 +440,6 @@ test "print" {...@@ -479,8 +440,6 @@ test "print" {
479}440}
480441
481test "nonportable numbers" {442test "nonportable numbers" {
482 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
483
484 try testStringify("9999999999999999", 9999999999999999, .{});443 try testStringify("9999999999999999", 9999999999999999, .{});
485 try testStringify("\"9999999999999999\"", 9999999999999999, .{ .emit_nonportable_numbers_as_strings = true });444 try testStringify("\"9999999999999999\"", 9999999999999999, .{ .emit_nonportable_numbers_as_strings = true });
486}445}
lib/std/json/test.zig-5
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const testing = std.testing;2const testing = std.testing;
4const parseFromSlice = @import("./static.zig").parseFromSlice;3const parseFromSlice = @import("./static.zig").parseFromSlice;
5const validate = @import("./scanner.zig").validate;4const validate = @import("./scanner.zig").validate;
...@@ -35,15 +34,11 @@ fn testHighLevelDynamicParser(s: []const u8) !void {...@@ -35,15 +34,11 @@ fn testHighLevelDynamicParser(s: []const u8) !void {
3534
36// Additional tests not part of test JSONTestSuite.35// Additional tests not part of test JSONTestSuite.
37test "y_trailing_comma_after_empty" {36test "y_trailing_comma_after_empty" {
38 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
39
40 try roundTrip(37 try roundTrip(
41 \\{"1":[],"2":{},"3":"4"}38 \\{"1":[],"2":{},"3":"4"}
42 );39 );
43}40}
44test "n_object_closed_missing_value" {41test "n_object_closed_missing_value" {
45 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
46
47 try err(42 try err(
48 \\{"a":}43 \\{"a":}
49 );44 );
lib/std/leb128.zig-4
...@@ -215,8 +215,6 @@ fn test_read_uleb128_seq(comptime T: type, comptime N: usize, encoded: []const u...@@ -215,8 +215,6 @@ fn test_read_uleb128_seq(comptime T: type, comptime N: usize, encoded: []const u
215}215}
216216
217test "deserialize signed LEB128" {217test "deserialize signed LEB128" {
218 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
219
220 // Truncated218 // Truncated
221 try testing.expectError(error.EndOfStream, test_read_stream_ileb128(i64, "\x80"));219 try testing.expectError(error.EndOfStream, test_read_stream_ileb128(i64, "\x80"));
222220
...@@ -363,8 +361,6 @@ test "serialize unsigned LEB128" {...@@ -363,8 +361,6 @@ test "serialize unsigned LEB128" {
363}361}
364362
365test "serialize signed LEB128" {363test "serialize signed LEB128" {
366 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
367
368 // explicitly test i0 because starting `t` at 0364 // explicitly test i0 because starting `t` at 0
369 // will break the while loop365 // will break the while loop
370 try test_write_leb128(@as(i0, 0));366 try test_write_leb128(@as(i0, 0));
lib/std/math.zig-26
...@@ -492,13 +492,10 @@ pub fn shl(comptime T: type, a: T, shift_amt: anytype) T {...@@ -492,13 +492,10 @@ pub fn shl(comptime T: type, a: T, shift_amt: anytype) T {
492}492}
493493
494test "shl" {494test "shl" {
495 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
496
497 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {495 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
498 // https://github.com/ziglang/zig/issues/12012496 // https://github.com/ziglang/zig/issues/12012
499 return error.SkipZigTest;497 return error.SkipZigTest;
500 }498 }
501
502 try testing.expect(shl(u8, 0b11111111, @as(usize, 3)) == 0b11111000);499 try testing.expect(shl(u8, 0b11111111, @as(usize, 3)) == 0b11111000);
503 try testing.expect(shl(u8, 0b11111111, @as(usize, 8)) == 0);500 try testing.expect(shl(u8, 0b11111111, @as(usize, 8)) == 0);
504 try testing.expect(shl(u8, 0b11111111, @as(usize, 9)) == 0);501 try testing.expect(shl(u8, 0b11111111, @as(usize, 9)) == 0);
...@@ -539,13 +536,10 @@ pub fn shr(comptime T: type, a: T, shift_amt: anytype) T {...@@ -539,13 +536,10 @@ pub fn shr(comptime T: type, a: T, shift_amt: anytype) T {
539}536}
540537
541test "shr" {538test "shr" {
542 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
543
544 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {539 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
545 // https://github.com/ziglang/zig/issues/12012540 // https://github.com/ziglang/zig/issues/12012
546 return error.SkipZigTest;541 return error.SkipZigTest;
547 }542 }
548
549 try testing.expect(shr(u8, 0b11111111, @as(usize, 3)) == 0b00011111);543 try testing.expect(shr(u8, 0b11111111, @as(usize, 3)) == 0b00011111);
550 try testing.expect(shr(u8, 0b11111111, @as(usize, 8)) == 0);544 try testing.expect(shr(u8, 0b11111111, @as(usize, 8)) == 0);
551 try testing.expect(shr(u8, 0b11111111, @as(usize, 9)) == 0);545 try testing.expect(shr(u8, 0b11111111, @as(usize, 9)) == 0);
...@@ -587,13 +581,10 @@ pub fn rotr(comptime T: type, x: T, r: anytype) T {...@@ -587,13 +581,10 @@ pub fn rotr(comptime T: type, x: T, r: anytype) T {
587}581}
588582
589test "rotr" {583test "rotr" {
590 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
591
592 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {584 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
593 // https://github.com/ziglang/zig/issues/12012585 // https://github.com/ziglang/zig/issues/12012
594 return error.SkipZigTest;586 return error.SkipZigTest;
595 }587 }
596
597 try testing.expect(rotr(u0, 0b0, @as(usize, 3)) == 0b0);588 try testing.expect(rotr(u0, 0b0, @as(usize, 3)) == 0b0);
598 try testing.expect(rotr(u5, 0b00001, @as(usize, 0)) == 0b00001);589 try testing.expect(rotr(u5, 0b00001, @as(usize, 0)) == 0b00001);
599 try testing.expect(rotr(u6, 0b000001, @as(usize, 7)) == 0b100000);590 try testing.expect(rotr(u6, 0b000001, @as(usize, 7)) == 0b100000);
...@@ -634,13 +625,10 @@ pub fn rotl(comptime T: type, x: T, r: anytype) T {...@@ -634,13 +625,10 @@ pub fn rotl(comptime T: type, x: T, r: anytype) T {
634}625}
635626
636test "rotl" {627test "rotl" {
637 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
638
639 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {628 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
640 // https://github.com/ziglang/zig/issues/12012629 // https://github.com/ziglang/zig/issues/12012
641 return error.SkipZigTest;630 return error.SkipZigTest;
642 }631 }
643
644 try testing.expect(rotl(u0, 0b0, @as(usize, 3)) == 0b0);632 try testing.expect(rotl(u0, 0b0, @as(usize, 3)) == 0b0);
645 try testing.expect(rotl(u5, 0b00001, @as(usize, 0)) == 0b00001);633 try testing.expect(rotl(u5, 0b00001, @as(usize, 0)) == 0b00001);
646 try testing.expect(rotl(u6, 0b000001, @as(usize, 7)) == 0b000010);634 try testing.expect(rotl(u6, 0b000001, @as(usize, 7)) == 0b000010);
...@@ -764,8 +752,6 @@ pub fn divTrunc(comptime T: type, numerator: T, denominator: T) !T {...@@ -764,8 +752,6 @@ pub fn divTrunc(comptime T: type, numerator: T, denominator: T) !T {
764}752}
765753
766test "divTrunc" {754test "divTrunc" {
767 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
768
769 try testDivTrunc();755 try testDivTrunc();
770 try comptime testDivTrunc();756 try comptime testDivTrunc();
771}757}
...@@ -790,8 +776,6 @@ pub fn divFloor(comptime T: type, numerator: T, denominator: T) !T {...@@ -790,8 +776,6 @@ pub fn divFloor(comptime T: type, numerator: T, denominator: T) !T {
790}776}
791777
792test "divFloor" {778test "divFloor" {
793 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
794
795 try testDivFloor();779 try testDivFloor();
796 try comptime testDivFloor();780 try comptime testDivFloor();
797}781}
...@@ -829,8 +813,6 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {...@@ -829,8 +813,6 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T {
829}813}
830814
831test "divCeil" {815test "divCeil" {
832 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
833
834 try testDivCeil();816 try testDivCeil();
835 try comptime testDivCeil();817 try comptime testDivCeil();
836}818}
...@@ -875,8 +857,6 @@ pub fn divExact(comptime T: type, numerator: T, denominator: T) !T {...@@ -875,8 +857,6 @@ pub fn divExact(comptime T: type, numerator: T, denominator: T) !T {
875}857}
876858
877test "divExact" {859test "divExact" {
878 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
879
880 try testDivExact();860 try testDivExact();
881 try comptime testDivExact();861 try comptime testDivExact();
882}862}
...@@ -907,8 +887,6 @@ test "mod" {...@@ -907,8 +887,6 @@ test "mod" {
907 try comptime testMod();887 try comptime testMod();
908}888}
909fn testMod() !void {889fn testMod() !void {
910 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
911
912 try testing.expect((mod(i32, -5, 3) catch unreachable) == 1);890 try testing.expect((mod(i32, -5, 3) catch unreachable) == 1);
913 try testing.expect((mod(i32, 5, 3) catch unreachable) == 2);891 try testing.expect((mod(i32, 5, 3) catch unreachable) == 2);
914 try testing.expectError(error.NegativeDenominator, mod(i32, 10, -1));892 try testing.expectError(error.NegativeDenominator, mod(i32, 10, -1));
...@@ -931,8 +909,6 @@ pub fn rem(comptime T: type, numerator: T, denominator: T) !T {...@@ -931,8 +909,6 @@ pub fn rem(comptime T: type, numerator: T, denominator: T) !T {
931}909}
932910
933test "rem" {911test "rem" {
934 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
935
936 try testRem();912 try testRem();
937 try comptime testRem();913 try comptime testRem();
938}914}
...@@ -1285,8 +1261,6 @@ pub fn lerp(a: anytype, b: anytype, t: anytype) @TypeOf(a, b, t) {...@@ -1285,8 +1261,6 @@ pub fn lerp(a: anytype, b: anytype, t: anytype) @TypeOf(a, b, t) {
1285}1261}
12861262
1287test "lerp" {1263test "lerp" {
1288 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1289
1290 try testing.expectEqual(@as(f64, 75), lerp(50, 100, 0.5));1264 try testing.expectEqual(@as(f64, 75), lerp(50, 100, 0.5));
1291 try testing.expectEqual(@as(f32, 43.75), lerp(50, 25, 0.25));1265 try testing.expectEqual(@as(f32, 43.75), lerp(50, 25, 0.25));
1292 try testing.expectEqual(@as(f64, -31.25), lerp(-50, 25, 0.25));1266 try testing.expectEqual(@as(f64, -31.25), lerp(-50, 25, 0.25));
lib/std/math/big/int_test.zig+13-160
...@@ -71,8 +71,6 @@ test "big.int set negative minimum" {...@@ -71,8 +71,6 @@ test "big.int set negative minimum" {
71}71}
7272
73test "big.int set double-width maximum then zero" {73test "big.int set double-width maximum then zero" {
74 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
75
76 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));74 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));
77 defer a.deinit();75 defer a.deinit();
78 try a.set(@as(DoubleLimb, 0));76 try a.set(@as(DoubleLimb, 0));
...@@ -246,8 +244,6 @@ test "big.int fits" {...@@ -246,8 +244,6 @@ test "big.int fits" {
246}244}
247245
248test "big.int string set" {246test "big.int string set" {
249 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
250
251 var a = try Managed.init(testing.allocator);247 var a = try Managed.init(testing.allocator);
252 defer a.deinit();248 defer a.deinit();
253249
...@@ -264,8 +260,6 @@ test "big.int string negative" {...@@ -264,8 +260,6 @@ test "big.int string negative" {
264}260}
265261
266test "big.int string set number with underscores" {262test "big.int string set number with underscores" {
267 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
268
269 var a = try Managed.init(testing.allocator);263 var a = try Managed.init(testing.allocator);
270 defer a.deinit();264 defer a.deinit();
271265
...@@ -274,8 +268,6 @@ test "big.int string set number with underscores" {...@@ -274,8 +268,6 @@ test "big.int string set number with underscores" {
274}268}
275269
276test "big.int string set case insensitive number" {270test "big.int string set case insensitive number" {
277 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
278
279 var a = try Managed.init(testing.allocator);271 var a = try Managed.init(testing.allocator);
280 defer a.deinit();272 defer a.deinit();
281273
...@@ -326,8 +318,6 @@ test "big.int twos complement limit set" {...@@ -326,8 +318,6 @@ test "big.int twos complement limit set" {
326}318}
327319
328test "big.int string to" {320test "big.int string to" {
329 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
330
331 var a = try Managed.initSet(testing.allocator, 120317241209124781241290847124);321 var a = try Managed.initSet(testing.allocator, 120317241209124781241290847124);
332 defer a.deinit();322 defer a.deinit();
333323
...@@ -368,8 +358,6 @@ test "big.int string to base 16" {...@@ -368,8 +358,6 @@ test "big.int string to base 16" {
368}358}
369359
370test "big.int neg string to" {360test "big.int neg string to" {
371 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
372
373 var a = try Managed.initSet(testing.allocator, -123907434);361 var a = try Managed.initSet(testing.allocator, -123907434);
374 defer a.deinit();362 defer a.deinit();
375363
...@@ -392,8 +380,6 @@ test "big.int zero string to" {...@@ -392,8 +380,6 @@ test "big.int zero string to" {
392}380}
393381
394test "big.int clone" {382test "big.int clone" {
395 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
396
397 var a = try Managed.initSet(testing.allocator, 1234);383 var a = try Managed.initSet(testing.allocator, 1234);
398 defer a.deinit();384 defer a.deinit();
399 var b = try a.clone();385 var b = try a.clone();
...@@ -531,8 +517,6 @@ test "big.int add multi-single" {...@@ -531,8 +517,6 @@ test "big.int add multi-single" {
531}517}
532518
533test "big.int add multi-multi" {519test "big.int add multi-multi" {
534 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
535
536 var op1: u128 = 0xefefefef7f7f7f7f;520 var op1: u128 = 0xefefefef7f7f7f7f;
537 var op2: u128 = 0xfefefefe9f9f9f9f;521 var op2: u128 = 0xfefefefe9f9f9f9f;
538 var a = try Managed.initSet(testing.allocator, op1);522 var a = try Managed.initSet(testing.allocator, op1);
...@@ -634,8 +618,6 @@ test "big.int addWrap single-single, unsigned" {...@@ -634,8 +618,6 @@ test "big.int addWrap single-single, unsigned" {
634}618}
635619
636test "big.int subWrap single-single, unsigned" {620test "big.int subWrap single-single, unsigned" {
637 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
638
639 var a = try Managed.initSet(testing.allocator, 0);621 var a = try Managed.initSet(testing.allocator, 0);
640 defer a.deinit();622 defer a.deinit();
641623
...@@ -649,8 +631,6 @@ test "big.int subWrap single-single, unsigned" {...@@ -649,8 +631,6 @@ test "big.int subWrap single-single, unsigned" {
649}631}
650632
651test "big.int addWrap multi-multi, unsigned, limb aligned" {633test "big.int addWrap multi-multi, unsigned, limb aligned" {
652 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
653
654 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));634 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));
655 defer a.deinit();635 defer a.deinit();
656636
...@@ -703,8 +683,6 @@ test "big.int subWrap single-single, signed" {...@@ -703,8 +683,6 @@ test "big.int subWrap single-single, signed" {
703}683}
704684
705test "big.int addWrap multi-multi, signed, limb aligned" {685test "big.int addWrap multi-multi, signed, limb aligned" {
706 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
707
708 var a = try Managed.initSet(testing.allocator, maxInt(SignedDoubleLimb));686 var a = try Managed.initSet(testing.allocator, maxInt(SignedDoubleLimb));
709 defer a.deinit();687 defer a.deinit();
710688
...@@ -755,8 +733,6 @@ test "big.int subSat single-single, unsigned" {...@@ -755,8 +733,6 @@ test "big.int subSat single-single, unsigned" {
755}733}
756734
757test "big.int addSat multi-multi, unsigned, limb aligned" {735test "big.int addSat multi-multi, unsigned, limb aligned" {
758 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
759
760 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));736 var a = try Managed.initSet(testing.allocator, maxInt(DoubleLimb));
761 defer a.deinit();737 defer a.deinit();
762738
...@@ -842,8 +818,6 @@ test "big.int sub single-single" {...@@ -842,8 +818,6 @@ test "big.int sub single-single" {
842}818}
843819
844test "big.int sub multi-single" {820test "big.int sub multi-single" {
845 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
846
847 var a = try Managed.initSet(testing.allocator, maxInt(Limb) + 1);821 var a = try Managed.initSet(testing.allocator, maxInt(Limb) + 1);
848 defer a.deinit();822 defer a.deinit();
849 var b = try Managed.initSet(testing.allocator, 1);823 var b = try Managed.initSet(testing.allocator, 1);
...@@ -857,8 +831,6 @@ test "big.int sub multi-single" {...@@ -857,8 +831,6 @@ test "big.int sub multi-single" {
857}831}
858832
859test "big.int sub multi-multi" {833test "big.int sub multi-multi" {
860 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
861
862 var op1: u128 = 0xefefefefefefefefefefefef;834 var op1: u128 = 0xefefefefefefefefefefefef;
863 var op2: u128 = 0xabababababababababababab;835 var op2: u128 = 0xabababababababababababab;
864836
...@@ -943,10 +915,7 @@ test "big.int mul multi-single" {...@@ -943,10 +915,7 @@ test "big.int mul multi-single" {
943}915}
944916
945test "big.int mul multi-multi" {917test "big.int mul multi-multi" {
946 switch (builtin.zig_backend) {918 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
947 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
948 else => {},
949 }
950919
951 var op1: u256 = 0x998888efefefefefefefef;920 var op1: u256 = 0x998888efefefefefefefef;
952 var op2: u256 = 0x333000abababababababab;921 var op2: u256 = 0x333000abababababababab;
...@@ -963,8 +932,6 @@ test "big.int mul multi-multi" {...@@ -963,8 +932,6 @@ test "big.int mul multi-multi" {
963}932}
964933
965test "big.int mul alias r with a" {934test "big.int mul alias r with a" {
966 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
967
968 var a = try Managed.initSet(testing.allocator, maxInt(Limb));935 var a = try Managed.initSet(testing.allocator, maxInt(Limb));
969 defer a.deinit();936 defer a.deinit();
970 var b = try Managed.initSet(testing.allocator, 2);937 var b = try Managed.initSet(testing.allocator, 2);
...@@ -976,8 +943,6 @@ test "big.int mul alias r with a" {...@@ -976,8 +943,6 @@ test "big.int mul alias r with a" {
976}943}
977944
978test "big.int mul alias r with b" {945test "big.int mul alias r with b" {
979 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
980
981 var a = try Managed.initSet(testing.allocator, maxInt(Limb));946 var a = try Managed.initSet(testing.allocator, maxInt(Limb));
982 defer a.deinit();947 defer a.deinit();
983 var b = try Managed.initSet(testing.allocator, 2);948 var b = try Managed.initSet(testing.allocator, 2);
...@@ -989,8 +954,6 @@ test "big.int mul alias r with b" {...@@ -989,8 +954,6 @@ test "big.int mul alias r with b" {
989}954}
990955
991test "big.int mul alias r with a and b" {956test "big.int mul alias r with a and b" {
992 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
993
994 var a = try Managed.initSet(testing.allocator, maxInt(Limb));957 var a = try Managed.initSet(testing.allocator, maxInt(Limb));
995 defer a.deinit();958 defer a.deinit();
996959
...@@ -1026,8 +989,6 @@ test "big.int mul 0*0" {...@@ -1026,8 +989,6 @@ test "big.int mul 0*0" {
1026}989}
1027990
1028test "big.int mul large" {991test "big.int mul large" {
1029 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1030
1031 var a = try Managed.initCapacity(testing.allocator, 50);992 var a = try Managed.initCapacity(testing.allocator, 50);
1032 defer a.deinit();993 defer a.deinit();
1033 var b = try Managed.initCapacity(testing.allocator, 100);994 var b = try Managed.initCapacity(testing.allocator, 100);
...@@ -1075,10 +1036,7 @@ test "big.int mulWrap single-single signed" {...@@ -1075,10 +1036,7 @@ test "big.int mulWrap single-single signed" {
1075}1036}
10761037
1077test "big.int mulWrap multi-multi unsigned" {1038test "big.int mulWrap multi-multi unsigned" {
1078 switch (builtin.zig_backend) {1039 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1079 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1080 else => {},
1081 }
10821040
1083 var op1: u256 = 0x998888efefefefefefefef;1041 var op1: u256 = 0x998888efefefefefefefef;
1084 var op2: u256 = 0x333000abababababababab;1042 var op2: u256 = 0x333000abababababababab;
...@@ -1095,10 +1053,7 @@ test "big.int mulWrap multi-multi unsigned" {...@@ -1095,10 +1053,7 @@ test "big.int mulWrap multi-multi unsigned" {
1095}1053}
10961054
1097test "big.int mulWrap multi-multi signed" {1055test "big.int mulWrap multi-multi signed" {
1098 switch (builtin.zig_backend) {1056 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1099 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1100 else => {},
1101 }
11021057
1103 var a = try Managed.initSet(testing.allocator, maxInt(SignedDoubleLimb) - 1);1058 var a = try Managed.initSet(testing.allocator, maxInt(SignedDoubleLimb) - 1);
1104 defer a.deinit();1059 defer a.deinit();
...@@ -1113,8 +1068,6 @@ test "big.int mulWrap multi-multi signed" {...@@ -1113,8 +1068,6 @@ test "big.int mulWrap multi-multi signed" {
1113}1068}
11141069
1115test "big.int mulWrap large" {1070test "big.int mulWrap large" {
1116 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1117
1118 var a = try Managed.initCapacity(testing.allocator, 50);1071 var a = try Managed.initCapacity(testing.allocator, 50);
1119 defer a.deinit();1072 defer a.deinit();
1120 var b = try Managed.initCapacity(testing.allocator, 100);1073 var b = try Managed.initCapacity(testing.allocator, 100);
...@@ -1171,8 +1124,6 @@ test "big.int div single-half with rem" {...@@ -1171,8 +1124,6 @@ test "big.int div single-half with rem" {
1171}1124}
11721125
1173test "big.int div single-single no rem" {1126test "big.int div single-single no rem" {
1174 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1175
1176 // assumes usize is <= 64 bits.1127 // assumes usize is <= 64 bits.
1177 var a = try Managed.initSet(testing.allocator, 1 << 52);1128 var a = try Managed.initSet(testing.allocator, 1 << 52);
1178 defer a.deinit();1129 defer a.deinit();
...@@ -1190,8 +1141,6 @@ test "big.int div single-single no rem" {...@@ -1190,8 +1141,6 @@ test "big.int div single-single no rem" {
1190}1141}
11911142
1192test "big.int div single-single with rem" {1143test "big.int div single-single with rem" {
1193 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1194
1195 var a = try Managed.initSet(testing.allocator, (1 << 52) | (1 << 33));1144 var a = try Managed.initSet(testing.allocator, (1 << 52) | (1 << 33));
1196 defer a.deinit();1145 defer a.deinit();
1197 var b = try Managed.initSet(testing.allocator, (1 << 35));1146 var b = try Managed.initSet(testing.allocator, (1 << 35));
...@@ -1208,8 +1157,6 @@ test "big.int div single-single with rem" {...@@ -1208,8 +1157,6 @@ test "big.int div single-single with rem" {
1208}1157}
12091158
1210test "big.int div multi-single no rem" {1159test "big.int div multi-single no rem" {
1211 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1212
1213 var op1: u128 = 0xffffeeeeddddcccc;1160 var op1: u128 = 0xffffeeeeddddcccc;
1214 var op2: u128 = 34;1161 var op2: u128 = 34;
12151162
...@@ -1229,8 +1176,6 @@ test "big.int div multi-single no rem" {...@@ -1229,8 +1176,6 @@ test "big.int div multi-single no rem" {
1229}1176}
12301177
1231test "big.int div multi-single with rem" {1178test "big.int div multi-single with rem" {
1232 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1233
1234 var op1: u128 = 0xffffeeeeddddcccf;1179 var op1: u128 = 0xffffeeeeddddcccf;
1235 var op2: u128 = 34;1180 var op2: u128 = 34;
12361181
...@@ -1250,8 +1195,6 @@ test "big.int div multi-single with rem" {...@@ -1250,8 +1195,6 @@ test "big.int div multi-single with rem" {
1250}1195}
12511196
1252test "big.int div multi>2-single" {1197test "big.int div multi>2-single" {
1253 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1254
1255 var op1: u128 = 0xfefefefefefefefefefefefefefefefe;1198 var op1: u128 = 0xfefefefefefefefefefefefefefefefe;
1256 var op2: u128 = 0xefab8;1199 var op2: u128 = 0xefab8;
12571200
...@@ -1271,8 +1214,6 @@ test "big.int div multi>2-single" {...@@ -1271,8 +1214,6 @@ test "big.int div multi>2-single" {
1271}1214}
12721215
1273test "big.int div single-single q < r" {1216test "big.int div single-single q < r" {
1274 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1275
1276 var a = try Managed.initSet(testing.allocator, 0x0078f432);1217 var a = try Managed.initSet(testing.allocator, 0x0078f432);
1277 defer a.deinit();1218 defer a.deinit();
1278 var b = try Managed.initSet(testing.allocator, 0x01000000);1219 var b = try Managed.initSet(testing.allocator, 0x01000000);
...@@ -1317,10 +1258,7 @@ test "big.int div q=0 alias" {...@@ -1317,10 +1258,7 @@ test "big.int div q=0 alias" {
1317}1258}
13181259
1319test "big.int div multi-multi q < r" {1260test "big.int div multi-multi q < r" {
1320 switch (builtin.zig_backend) {1261 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1321 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1322 else => {},
1323 }
13241262
1325 const op1 = 0x1ffffffff0078f432;1263 const op1 = 0x1ffffffff0078f432;
1326 const op2 = 0x1ffffffff01000000;1264 const op2 = 0x1ffffffff01000000;
...@@ -1436,8 +1374,6 @@ test "big.int div trunc single-single -/-" {...@@ -1436,8 +1374,6 @@ test "big.int div trunc single-single -/-" {
1436}1374}
14371375
1438test "big.int divTrunc #15535" {1376test "big.int divTrunc #15535" {
1439 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1440
1441 var one = try Managed.initSet(testing.allocator, 1);1377 var one = try Managed.initSet(testing.allocator, 1);
1442 defer one.deinit();1378 defer one.deinit();
1443 var x = try Managed.initSet(testing.allocator, std.math.pow(u128, 2, 64));1379 var x = try Managed.initSet(testing.allocator, std.math.pow(u128, 2, 64));
...@@ -1451,8 +1387,6 @@ test "big.int divTrunc #15535" {...@@ -1451,8 +1387,6 @@ test "big.int divTrunc #15535" {
1451}1387}
14521388
1453test "big.int divFloor #10932" {1389test "big.int divFloor #10932" {
1454 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1455
1456 var a = try Managed.init(testing.allocator);1390 var a = try Managed.init(testing.allocator);
1457 defer a.deinit();1391 defer a.deinit();
14581392
...@@ -1477,8 +1411,6 @@ test "big.int divFloor #10932" {...@@ -1477,8 +1411,6 @@ test "big.int divFloor #10932" {
1477}1411}
14781412
1479test "big.int divFloor #11166" {1413test "big.int divFloor #11166" {
1480 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1481
1482 var a = try Managed.init(testing.allocator);1414 var a = try Managed.init(testing.allocator);
1483 defer a.deinit();1415 defer a.deinit();
14841416
...@@ -1506,8 +1438,6 @@ test "big.int divFloor #11166" {...@@ -1506,8 +1438,6 @@ test "big.int divFloor #11166" {
1506}1438}
15071439
1508test "big.int gcd #10932" {1440test "big.int gcd #10932" {
1509 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1510
1511 var a = try Managed.init(testing.allocator);1441 var a = try Managed.init(testing.allocator);
1512 defer a.deinit();1442 defer a.deinit();
15131443
...@@ -1642,8 +1572,6 @@ test "big.int div floor single-single -/-" {...@@ -1642,8 +1572,6 @@ test "big.int div floor single-single -/-" {
1642}1572}
16431573
1644test "big.int div floor no remainder negative quotient" {1574test "big.int div floor no remainder negative quotient" {
1645 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1646
1647 const u: i32 = -0x80000000;1575 const u: i32 = -0x80000000;
1648 const v: i32 = 1;1576 const v: i32 = 1;
16491577
...@@ -1701,10 +1629,7 @@ test "big.int div floor positive close to zero" {...@@ -1701,10 +1629,7 @@ test "big.int div floor positive close to zero" {
1701}1629}
17021630
1703test "big.int div multi-multi with rem" {1631test "big.int div multi-multi with rem" {
1704 switch (builtin.zig_backend) {1632 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1705 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1706 else => {},
1707 }
17081633
1709 var a = try Managed.initSet(testing.allocator, 0x8888999911110000ffffeeeeddddccccbbbbaaaa9999);1634 var a = try Managed.initSet(testing.allocator, 0x8888999911110000ffffeeeeddddccccbbbbaaaa9999);
1710 defer a.deinit();1635 defer a.deinit();
...@@ -1722,10 +1647,7 @@ test "big.int div multi-multi with rem" {...@@ -1722,10 +1647,7 @@ test "big.int div multi-multi with rem" {
1722}1647}
17231648
1724test "big.int div multi-multi no rem" {1649test "big.int div multi-multi no rem" {
1725 switch (builtin.zig_backend) {1650 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1726 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1727 else => {},
1728 }
17291651
1730 var a = try Managed.initSet(testing.allocator, 0x8888999911110000ffffeeeedb4fec200ee3a4286361);1652 var a = try Managed.initSet(testing.allocator, 0x8888999911110000ffffeeeedb4fec200ee3a4286361);
1731 defer a.deinit();1653 defer a.deinit();
...@@ -1743,10 +1665,7 @@ test "big.int div multi-multi no rem" {...@@ -1743,10 +1665,7 @@ test "big.int div multi-multi no rem" {
1743}1665}
17441666
1745test "big.int div multi-multi (2 branch)" {1667test "big.int div multi-multi (2 branch)" {
1746 switch (builtin.zig_backend) {1668 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1747 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1748 else => {},
1749 }
17501669
1751 var a = try Managed.initSet(testing.allocator, 0x866666665555555588888887777777761111111111111111);1670 var a = try Managed.initSet(testing.allocator, 0x866666665555555588888887777777761111111111111111);
1752 defer a.deinit();1671 defer a.deinit();
...@@ -1764,10 +1683,7 @@ test "big.int div multi-multi (2 branch)" {...@@ -1764,10 +1683,7 @@ test "big.int div multi-multi (2 branch)" {
1764}1683}
17651684
1766test "big.int div multi-multi (3.1/3.3 branch)" {1685test "big.int div multi-multi (3.1/3.3 branch)" {
1767 switch (builtin.zig_backend) {1686 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1768 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1769 else => {},
1770 }
17711687
1772 var a = try Managed.initSet(testing.allocator, 0x11111111111111111111111111111111111111111111111111111111111111);1688 var a = try Managed.initSet(testing.allocator, 0x11111111111111111111111111111111111111111111111111111111111111);
1773 defer a.deinit();1689 defer a.deinit();
...@@ -1785,10 +1701,7 @@ test "big.int div multi-multi (3.1/3.3 branch)" {...@@ -1785,10 +1701,7 @@ test "big.int div multi-multi (3.1/3.3 branch)" {
1785}1701}
17861702
1787test "big.int div multi-single zero-limb trailing" {1703test "big.int div multi-single zero-limb trailing" {
1788 switch (builtin.zig_backend) {1704 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1789 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1790 else => {},
1791 }
17921705
1793 var a = try Managed.initSet(testing.allocator, 0x60000000000000000000000000000000000000000000000000000000000000000);1706 var a = try Managed.initSet(testing.allocator, 0x60000000000000000000000000000000000000000000000000000000000000000);
1794 defer a.deinit();1707 defer a.deinit();
...@@ -1808,10 +1721,7 @@ test "big.int div multi-single zero-limb trailing" {...@@ -1808,10 +1721,7 @@ test "big.int div multi-single zero-limb trailing" {
1808}1721}
18091722
1810test "big.int div multi-multi zero-limb trailing (with rem)" {1723test "big.int div multi-multi zero-limb trailing (with rem)" {
1811 switch (builtin.zig_backend) {1724 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1812 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1813 else => {},
1814 }
18151725
1816 var a = try Managed.initSet(testing.allocator, 0x86666666555555558888888777777776111111111111111100000000000000000000000000000000);1726 var a = try Managed.initSet(testing.allocator, 0x86666666555555558888888777777776111111111111111100000000000000000000000000000000);
1817 defer a.deinit();1727 defer a.deinit();
...@@ -1832,10 +1742,7 @@ test "big.int div multi-multi zero-limb trailing (with rem)" {...@@ -1832,10 +1742,7 @@ test "big.int div multi-multi zero-limb trailing (with rem)" {
1832}1742}
18331743
1834test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-limb count > divisor zero-limb count" {1744test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-limb count > divisor zero-limb count" {
1835 switch (builtin.zig_backend) {1745 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1836 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1837 else => {},
1838 }
18391746
1840 var a = try Managed.initSet(testing.allocator, 0x8666666655555555888888877777777611111111111111110000000000000000);1747 var a = try Managed.initSet(testing.allocator, 0x8666666655555555888888877777777611111111111111110000000000000000);
1841 defer a.deinit();1748 defer a.deinit();
...@@ -1856,10 +1763,7 @@ test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-li...@@ -1856,10 +1763,7 @@ test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-li
1856}1763}
18571764
1858test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-limb count < divisor zero-limb count" {1765test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-limb count < divisor zero-limb count" {
1859 switch (builtin.zig_backend) {1766 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1860 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1861 else => {},
1862 }
18631767
1864 var a = try Managed.initSet(testing.allocator, 0x86666666555555558888888777777776111111111111111100000000000000000000000000000000);1768 var a = try Managed.initSet(testing.allocator, 0x86666666555555558888888777777776111111111111111100000000000000000000000000000000);
1865 defer a.deinit();1769 defer a.deinit();
...@@ -1882,8 +1786,6 @@ test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-li...@@ -1882,8 +1786,6 @@ test "big.int div multi-multi zero-limb trailing (with rem) and dividend zero-li
1882}1786}
18831787
1884test "big.int div multi-multi fuzz case #1" {1788test "big.int div multi-multi fuzz case #1" {
1885 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1886
1887 var a = try Managed.init(testing.allocator);1789 var a = try Managed.init(testing.allocator);
1888 defer a.deinit();1790 defer a.deinit();
1889 var b = try Managed.init(testing.allocator);1791 var b = try Managed.init(testing.allocator);
...@@ -1908,8 +1810,6 @@ test "big.int div multi-multi fuzz case #1" {...@@ -1908,8 +1810,6 @@ test "big.int div multi-multi fuzz case #1" {
1908}1810}
19091811
1910test "big.int div multi-multi fuzz case #2" {1812test "big.int div multi-multi fuzz case #2" {
1911 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1912
1913 var a = try Managed.init(testing.allocator);1813 var a = try Managed.init(testing.allocator);
1914 defer a.deinit();1814 defer a.deinit();
1915 var b = try Managed.init(testing.allocator);1815 var b = try Managed.init(testing.allocator);
...@@ -1982,8 +1882,6 @@ test "big.int truncate multi to multi unsigned" {...@@ -1982,8 +1882,6 @@ test "big.int truncate multi to multi unsigned" {
1982}1882}
19831883
1984test "big.int truncate multi to multi signed" {1884test "big.int truncate multi to multi signed" {
1985 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1986
1987 var a = try Managed.initSet(testing.allocator, 3 << @bitSizeOf(Limb));1885 var a = try Managed.initSet(testing.allocator, 3 << @bitSizeOf(Limb));
1988 defer a.deinit();1886 defer a.deinit();
19891887
...@@ -1993,8 +1891,6 @@ test "big.int truncate multi to multi signed" {...@@ -1993,8 +1891,6 @@ test "big.int truncate multi to multi signed" {
1993}1891}
19941892
1995test "big.int truncate negative multi to single" {1893test "big.int truncate negative multi to single" {
1996 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1997
1998 var a = try Managed.initSet(testing.allocator, -@as(SignedDoubleLimb, maxInt(Limb) + 1));1894 var a = try Managed.initSet(testing.allocator, -@as(SignedDoubleLimb, maxInt(Limb) + 1));
1999 defer a.deinit();1895 defer a.deinit();
20001896
...@@ -2101,8 +1997,6 @@ test "big.int shift-right multi" {...@@ -2101,8 +1997,6 @@ test "big.int shift-right multi" {
2101}1997}
21021998
2103test "big.int shift-left single" {1999test "big.int shift-left single" {
2104 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2105
2106 var a = try Managed.initSet(testing.allocator, 0xffff);2000 var a = try Managed.initSet(testing.allocator, 0xffff);
2107 defer a.deinit();2001 defer a.deinit();
2108 try a.shiftLeft(&a, 16);2002 try a.shiftLeft(&a, 16);
...@@ -2147,8 +2041,6 @@ test "big.int sat shift-left simple unsigned" {...@@ -2147,8 +2041,6 @@ test "big.int sat shift-left simple unsigned" {
2147}2041}
21482042
2149test "big.int sat shift-left simple unsigned no sat" {2043test "big.int sat shift-left simple unsigned no sat" {
2150 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2151
2152 var a = try Managed.initSet(testing.allocator, 1);2044 var a = try Managed.initSet(testing.allocator, 1);
2153 defer a.deinit();2045 defer a.deinit();
2154 try a.shiftLeftSat(&a, 16, .unsigned, 21);2046 try a.shiftLeftSat(&a, 16, .unsigned, 21);
...@@ -2205,8 +2097,6 @@ test "big.int sat shift-left signed simple positive" {...@@ -2205,8 +2097,6 @@ test "big.int sat shift-left signed simple positive" {
2205}2097}
22062098
2207test "big.int sat shift-left signed multi positive" {2099test "big.int sat shift-left signed multi positive" {
2208 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2209
2210 var x: SignedDoubleLimb = 1;2100 var x: SignedDoubleLimb = 1;
2211 const shift = @bitSizeOf(SignedDoubleLimb) - 1;2101 const shift = @bitSizeOf(SignedDoubleLimb) - 1;
22122102
...@@ -2218,8 +2108,6 @@ test "big.int sat shift-left signed multi positive" {...@@ -2218,8 +2108,6 @@ test "big.int sat shift-left signed multi positive" {
2218}2108}
22192109
2220test "big.int sat shift-left signed multi negative" {2110test "big.int sat shift-left signed multi negative" {
2221 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2222
2223 var x: SignedDoubleLimb = -1;2111 var x: SignedDoubleLimb = -1;
2224 const shift = @bitSizeOf(SignedDoubleLimb) - 1;2112 const shift = @bitSizeOf(SignedDoubleLimb) - 1;
22252113
...@@ -2406,8 +2294,6 @@ test "big.int bitwise xor simple" {...@@ -2406,8 +2294,6 @@ test "big.int bitwise xor simple" {
2406}2294}
24072295
2408test "big.int bitwise xor multi-limb" {2296test "big.int bitwise xor multi-limb" {
2409 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2410
2411 var x: DoubleLimb = maxInt(Limb) + 1;2297 var x: DoubleLimb = maxInt(Limb) + 1;
2412 var y: DoubleLimb = maxInt(Limb);2298 var y: DoubleLimb = maxInt(Limb);
2413 var a = try Managed.initSet(testing.allocator, x);2299 var a = try Managed.initSet(testing.allocator, x);
...@@ -2582,8 +2468,6 @@ test "big.int var args" {...@@ -2582,8 +2468,6 @@ test "big.int var args" {
2582}2468}
25832469
2584test "big.int gcd non-one small" {2470test "big.int gcd non-one small" {
2585 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2586
2587 var a = try Managed.initSet(testing.allocator, 17);2471 var a = try Managed.initSet(testing.allocator, 17);
2588 defer a.deinit();2472 defer a.deinit();
2589 var b = try Managed.initSet(testing.allocator, 97);2473 var b = try Managed.initSet(testing.allocator, 97);
...@@ -2597,8 +2481,6 @@ test "big.int gcd non-one small" {...@@ -2597,8 +2481,6 @@ test "big.int gcd non-one small" {
2597}2481}
25982482
2599test "big.int gcd non-one medium" {2483test "big.int gcd non-one medium" {
2600 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2601
2602 var a = try Managed.initSet(testing.allocator, 4864);2484 var a = try Managed.initSet(testing.allocator, 4864);
2603 defer a.deinit();2485 defer a.deinit();
2604 var b = try Managed.initSet(testing.allocator, 3458);2486 var b = try Managed.initSet(testing.allocator, 3458);
...@@ -2612,8 +2494,6 @@ test "big.int gcd non-one medium" {...@@ -2612,8 +2494,6 @@ test "big.int gcd non-one medium" {
2612}2494}
26132495
2614test "big.int gcd non-one large" {2496test "big.int gcd non-one large" {
2615 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2616
2617 var a = try Managed.initSet(testing.allocator, 0xffffffffffffffff);2497 var a = try Managed.initSet(testing.allocator, 0xffffffffffffffff);
2618 defer a.deinit();2498 defer a.deinit();
2619 var b = try Managed.initSet(testing.allocator, 0xffffffffffffffff7777);2499 var b = try Managed.initSet(testing.allocator, 0xffffffffffffffff7777);
...@@ -2627,10 +2507,7 @@ test "big.int gcd non-one large" {...@@ -2627,10 +2507,7 @@ test "big.int gcd non-one large" {
2627}2507}
26282508
2629test "big.int gcd large multi-limb result" {2509test "big.int gcd large multi-limb result" {
2630 switch (builtin.zig_backend) {2510 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
2631 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
2632 else => {},
2633 }
26342511
2635 var a = try Managed.initSet(testing.allocator, 0x12345678123456781234567812345678123456781234567812345678);2512 var a = try Managed.initSet(testing.allocator, 0x12345678123456781234567812345678123456781234567812345678);
2636 defer a.deinit();2513 defer a.deinit();
...@@ -2646,8 +2523,6 @@ test "big.int gcd large multi-limb result" {...@@ -2646,8 +2523,6 @@ test "big.int gcd large multi-limb result" {
2646}2523}
26472524
2648test "big.int gcd one large" {2525test "big.int gcd one large" {
2649 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2650
2651 var a = try Managed.initSet(testing.allocator, 1897056385327307);2526 var a = try Managed.initSet(testing.allocator, 1897056385327307);
2652 defer a.deinit();2527 defer a.deinit();
2653 var b = try Managed.initSet(testing.allocator, 2251799813685248);2528 var b = try Managed.initSet(testing.allocator, 2251799813685248);
...@@ -2672,8 +2547,6 @@ test "big.int mutable to managed" {...@@ -2672,8 +2547,6 @@ test "big.int mutable to managed" {
2672}2547}
26732548
2674test "big.int const to managed" {2549test "big.int const to managed" {
2675 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2676
2677 var a = try Managed.initSet(testing.allocator, 123423453456);2550 var a = try Managed.initSet(testing.allocator, 123423453456);
2678 defer a.deinit();2551 defer a.deinit();
26792552
...@@ -2684,8 +2557,6 @@ test "big.int const to managed" {...@@ -2684,8 +2557,6 @@ test "big.int const to managed" {
2684}2557}
26852558
2686test "big.int pow" {2559test "big.int pow" {
2687 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2688
2689 {2560 {
2690 var a = try Managed.initSet(testing.allocator, -3);2561 var a = try Managed.initSet(testing.allocator, -3);
2691 defer a.deinit();2562 defer a.deinit();
...@@ -2741,8 +2612,6 @@ test "big.int pow" {...@@ -2741,8 +2612,6 @@ test "big.int pow" {
2741}2612}
27422613
2743test "big.int sqrt" {2614test "big.int sqrt" {
2744 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2745
2746 var r = try Managed.init(testing.allocator);2615 var r = try Managed.init(testing.allocator);
2747 defer r.deinit();2616 defer r.deinit();
2748 var a = try Managed.init(testing.allocator);2617 var a = try Managed.init(testing.allocator);
...@@ -2773,8 +2642,6 @@ test "big.int sqrt" {...@@ -2773,8 +2642,6 @@ test "big.int sqrt" {
2773}2642}
27742643
2775test "big.int regression test for 1 limb overflow with alias" {2644test "big.int regression test for 1 limb overflow with alias" {
2776 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2777
2778 // Note these happen to be two consecutive Fibonacci sequence numbers, the2645 // Note these happen to be two consecutive Fibonacci sequence numbers, the
2779 // first two whose sum exceeds 2**64.2646 // first two whose sum exceeds 2**64.
2780 var a = try Managed.initSet(testing.allocator, 7540113804746346429);2647 var a = try Managed.initSet(testing.allocator, 7540113804746346429);
...@@ -2789,8 +2656,6 @@ test "big.int regression test for 1 limb overflow with alias" {...@@ -2789,8 +2656,6 @@ test "big.int regression test for 1 limb overflow with alias" {
2789}2656}
27902657
2791test "big.int regression test for realloc with alias" {2658test "big.int regression test for realloc with alias" {
2792 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2793
2794 // Note these happen to be two consecutive Fibonacci sequence numbers, the2659 // Note these happen to be two consecutive Fibonacci sequence numbers, the
2795 // second of which is the first such number to exceed 2**192.2660 // second of which is the first such number to exceed 2**192.
2796 var a = try Managed.initSet(testing.allocator, 5611500259351924431073312796924978741056961814867751431689);2661 var a = try Managed.initSet(testing.allocator, 5611500259351924431073312796924978741056961814867751431689);
...@@ -2805,8 +2670,6 @@ test "big.int regression test for realloc with alias" {...@@ -2805,8 +2670,6 @@ test "big.int regression test for realloc with alias" {
2805}2670}
28062671
2807test "big int popcount" {2672test "big int popcount" {
2808 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2809
2810 var a = try Managed.init(testing.allocator);2673 var a = try Managed.init(testing.allocator);
2811 defer a.deinit();2674 defer a.deinit();
28122675
...@@ -2887,8 +2750,6 @@ fn popCountTest(val: *const Managed, bit_count: usize, expected: usize) !void {...@@ -2887,8 +2750,6 @@ fn popCountTest(val: *const Managed, bit_count: usize, expected: usize) !void {
2887}2750}
28882751
2889test "big int conversion read/write twos complement" {2752test "big int conversion read/write twos complement" {
2890 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2891
2892 var a = try Managed.initSet(testing.allocator, (1 << 493) - 1);2753 var a = try Managed.initSet(testing.allocator, (1 << 493) - 1);
2893 defer a.deinit();2754 defer a.deinit();
2894 var b = try Managed.initSet(testing.allocator, (1 << 493) - 1);2755 var b = try Managed.initSet(testing.allocator, (1 << 493) - 1);
...@@ -2987,8 +2848,6 @@ test "big int write twos complement +/- zero" {...@@ -2987,8 +2848,6 @@ test "big int write twos complement +/- zero" {
2987}2848}
29882849
2989test "big int conversion write twos complement with padding" {2850test "big int conversion write twos complement with padding" {
2990 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2991
2992 var a = try Managed.initSet(testing.allocator, 0x01_ffffffff_ffffffff_ffffffff);2851 var a = try Managed.initSet(testing.allocator, 0x01_ffffffff_ffffffff_ffffffff);
2993 defer a.deinit();2852 defer a.deinit();
29942853
...@@ -3172,8 +3031,6 @@ fn byteSwapTest(comptime T: type, comptime input: comptime_int, comptime expecte...@@ -3172,8 +3031,6 @@ fn byteSwapTest(comptime T: type, comptime input: comptime_int, comptime expecte
3172}3031}
31733032
3174test "big int byte swap" {3033test "big int byte swap" {
3175 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3176
3177 var a = try Managed.initSet(testing.allocator, 0x01_ffffffff_ffffffff_ffffffff);3034 var a = try Managed.initSet(testing.allocator, 0x01_ffffffff_ffffffff_ffffffff);
3178 defer a.deinit();3035 defer a.deinit();
31793036
...@@ -3218,8 +3075,6 @@ test "big int byte swap" {...@@ -3218,8 +3075,6 @@ test "big int byte swap" {
3218}3075}
32193076
3220test "big.int mul multi-multi alias r with a and b" {3077test "big.int mul multi-multi alias r with a and b" {
3221 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3222
3223 var a = try Managed.initSet(testing.allocator, 2 * maxInt(Limb));3078 var a = try Managed.initSet(testing.allocator, 2 * maxInt(Limb));
3224 defer a.deinit();3079 defer a.deinit();
32253080
...@@ -3236,8 +3091,6 @@ test "big.int mul multi-multi alias r with a and b" {...@@ -3236,8 +3091,6 @@ test "big.int mul multi-multi alias r with a and b" {
3236}3091}
32373092
3238test "big.int sqr multi alias r with a" {3093test "big.int sqr multi alias r with a" {
3239 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3240
3241 var a = try Managed.initSet(testing.allocator, 2 * maxInt(Limb));3094 var a = try Managed.initSet(testing.allocator, 2 * maxInt(Limb));
3242 defer a.deinit();3095 defer a.deinit();
32433096
lib/std/math/big/rational.zig-35
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("../../std.zig");1const std = @import("../../std.zig");
2const builtin = @import("builtin");
3const debug = std.debug;2const debug = std.debug;
4const math = std.math;3const math = std.math;
5const mem = std.mem;4const mem = std.mem;
...@@ -494,8 +493,6 @@ fn extractLowBits(a: Int, comptime T: type) T {...@@ -494,8 +493,6 @@ fn extractLowBits(a: Int, comptime T: type) T {
494}493}
495494
496test "big.rational extractLowBits" {495test "big.rational extractLowBits" {
497 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
498
499 var a = try Int.initSet(testing.allocator, 0x11112222333344441234567887654321);496 var a = try Int.initSet(testing.allocator, 0x11112222333344441234567887654321);
500 defer a.deinit();497 defer a.deinit();
501498
...@@ -516,8 +513,6 @@ test "big.rational extractLowBits" {...@@ -516,8 +513,6 @@ test "big.rational extractLowBits" {
516}513}
517514
518test "big.rational set" {515test "big.rational set" {
519 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
520
521 var a = try Rational.init(testing.allocator);516 var a = try Rational.init(testing.allocator);
522 defer a.deinit();517 defer a.deinit();
523518
...@@ -547,8 +542,6 @@ test "big.rational set" {...@@ -547,8 +542,6 @@ test "big.rational set" {
547}542}
548543
549test "big.rational setFloat" {544test "big.rational setFloat" {
550 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
551
552 var a = try Rational.init(testing.allocator);545 var a = try Rational.init(testing.allocator);
553 defer a.deinit();546 defer a.deinit();
554547
...@@ -574,8 +567,6 @@ test "big.rational setFloat" {...@@ -574,8 +567,6 @@ test "big.rational setFloat" {
574}567}
575568
576test "big.rational setFloatString" {569test "big.rational setFloatString" {
577 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
578
579 var a = try Rational.init(testing.allocator);570 var a = try Rational.init(testing.allocator);
580 defer a.deinit();571 defer a.deinit();
581572
...@@ -587,8 +578,6 @@ test "big.rational setFloatString" {...@@ -587,8 +578,6 @@ test "big.rational setFloatString" {
587}578}
588579
589test "big.rational toFloat" {580test "big.rational toFloat" {
590 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
591
592 var a = try Rational.init(testing.allocator);581 var a = try Rational.init(testing.allocator);
593 defer a.deinit();582 defer a.deinit();
594583
...@@ -602,8 +591,6 @@ test "big.rational toFloat" {...@@ -602,8 +591,6 @@ test "big.rational toFloat" {
602}591}
603592
604test "big.rational set/to Float round-trip" {593test "big.rational set/to Float round-trip" {
605 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
606
607 var a = try Rational.init(testing.allocator);594 var a = try Rational.init(testing.allocator);
608 defer a.deinit();595 defer a.deinit();
609 var prng = std.rand.DefaultPrng.init(0x5EED);596 var prng = std.rand.DefaultPrng.init(0x5EED);
...@@ -617,8 +604,6 @@ test "big.rational set/to Float round-trip" {...@@ -617,8 +604,6 @@ test "big.rational set/to Float round-trip" {
617}604}
618605
619test "big.rational copy" {606test "big.rational copy" {
620 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
621
622 var a = try Rational.init(testing.allocator);607 var a = try Rational.init(testing.allocator);
623 defer a.deinit();608 defer a.deinit();
624609
...@@ -649,8 +634,6 @@ test "big.rational copy" {...@@ -649,8 +634,6 @@ test "big.rational copy" {
649}634}
650635
651test "big.rational negate" {636test "big.rational negate" {
652 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
653
654 var a = try Rational.init(testing.allocator);637 var a = try Rational.init(testing.allocator);
655 defer a.deinit();638 defer a.deinit();
656639
...@@ -668,8 +651,6 @@ test "big.rational negate" {...@@ -668,8 +651,6 @@ test "big.rational negate" {
668}651}
669652
670test "big.rational abs" {653test "big.rational abs" {
671 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
672
673 var a = try Rational.init(testing.allocator);654 var a = try Rational.init(testing.allocator);
674 defer a.deinit();655 defer a.deinit();
675656
...@@ -687,8 +668,6 @@ test "big.rational abs" {...@@ -687,8 +668,6 @@ test "big.rational abs" {
687}668}
688669
689test "big.rational swap" {670test "big.rational swap" {
690 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
691
692 var a = try Rational.init(testing.allocator);671 var a = try Rational.init(testing.allocator);
693 defer a.deinit();672 defer a.deinit();
694 var b = try Rational.init(testing.allocator);673 var b = try Rational.init(testing.allocator);
...@@ -713,8 +692,6 @@ test "big.rational swap" {...@@ -713,8 +692,6 @@ test "big.rational swap" {
713}692}
714693
715test "big.rational order" {694test "big.rational order" {
716 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
717
718 var a = try Rational.init(testing.allocator);695 var a = try Rational.init(testing.allocator);
719 defer a.deinit();696 defer a.deinit();
720 var b = try Rational.init(testing.allocator);697 var b = try Rational.init(testing.allocator);
...@@ -730,8 +707,6 @@ test "big.rational order" {...@@ -730,8 +707,6 @@ test "big.rational order" {
730}707}
731708
732test "big.rational order/orderAbs with negative" {709test "big.rational order/orderAbs with negative" {
733 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
734
735 var a = try Rational.init(testing.allocator);710 var a = try Rational.init(testing.allocator);
736 defer a.deinit();711 defer a.deinit();
737 var b = try Rational.init(testing.allocator);712 var b = try Rational.init(testing.allocator);
...@@ -744,8 +719,6 @@ test "big.rational order/orderAbs with negative" {...@@ -744,8 +719,6 @@ test "big.rational order/orderAbs with negative" {
744}719}
745720
746test "big.rational add single-limb" {721test "big.rational add single-limb" {
747 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
748
749 var a = try Rational.init(testing.allocator);722 var a = try Rational.init(testing.allocator);
750 defer a.deinit();723 defer a.deinit();
751 var b = try Rational.init(testing.allocator);724 var b = try Rational.init(testing.allocator);
...@@ -761,8 +734,6 @@ test "big.rational add single-limb" {...@@ -761,8 +734,6 @@ test "big.rational add single-limb" {
761}734}
762735
763test "big.rational add" {736test "big.rational add" {
764 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
765
766 var a = try Rational.init(testing.allocator);737 var a = try Rational.init(testing.allocator);
767 defer a.deinit();738 defer a.deinit();
768 var b = try Rational.init(testing.allocator);739 var b = try Rational.init(testing.allocator);
...@@ -779,8 +750,6 @@ test "big.rational add" {...@@ -779,8 +750,6 @@ test "big.rational add" {
779}750}
780751
781test "big.rational sub" {752test "big.rational sub" {
782 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
783
784 var a = try Rational.init(testing.allocator);753 var a = try Rational.init(testing.allocator);
785 defer a.deinit();754 defer a.deinit();
786 var b = try Rational.init(testing.allocator);755 var b = try Rational.init(testing.allocator);
...@@ -797,8 +766,6 @@ test "big.rational sub" {...@@ -797,8 +766,6 @@ test "big.rational sub" {
797}766}
798767
799test "big.rational mul" {768test "big.rational mul" {
800 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
801
802 var a = try Rational.init(testing.allocator);769 var a = try Rational.init(testing.allocator);
803 defer a.deinit();770 defer a.deinit();
804 var b = try Rational.init(testing.allocator);771 var b = try Rational.init(testing.allocator);
...@@ -815,8 +782,6 @@ test "big.rational mul" {...@@ -815,8 +782,6 @@ test "big.rational mul" {
815}782}
816783
817test "big.rational div" {784test "big.rational div" {
818 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
819
820 {785 {
821 var a = try Rational.init(testing.allocator);786 var a = try Rational.init(testing.allocator);
822 defer a.deinit();787 defer a.deinit();
lib/std/math/ilogb.zig-9
...@@ -6,7 +6,6 @@...@@ -6,7 +6,6 @@
6// https://git.musl-libc.org/cgit/musl/tree/src/math/ilogb.c6// https://git.musl-libc.org/cgit/musl/tree/src/math/ilogb.c
77
8const std = @import("../std.zig");8const std = @import("../std.zig");
9const builtin = @import("builtin");
10const math = std.math;9const math = std.math;
11const expect = std.testing.expect;10const expect = std.testing.expect;
12const maxInt = std.math.maxInt;11const maxInt = std.math.maxInt;
...@@ -109,8 +108,6 @@ test "64" {...@@ -109,8 +108,6 @@ test "64" {
109}108}
110109
111test "80" {110test "80" {
112 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
113
114 try expect(ilogbX(f80, 0.0) == fp_ilogb0);111 try expect(ilogbX(f80, 0.0) == fp_ilogb0);
115 try expect(ilogbX(f80, 0.5) == -1);112 try expect(ilogbX(f80, 0.5) == -1);
116 try expect(ilogbX(f80, 0.8923) == -1);113 try expect(ilogbX(f80, 0.8923) == -1);
...@@ -125,8 +122,6 @@ test "80" {...@@ -125,8 +122,6 @@ test "80" {
125}122}
126123
127test "128" {124test "128" {
128 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
129
130 try expect(ilogbX(f128, 0.0) == fp_ilogb0);125 try expect(ilogbX(f128, 0.0) == fp_ilogb0);
131 try expect(ilogbX(f128, 0.5) == -1);126 try expect(ilogbX(f128, 0.5) == -1);
132 try expect(ilogbX(f128, 0.8923) == -1);127 try expect(ilogbX(f128, 0.8923) == -1);
...@@ -162,8 +157,6 @@ test "64 special" {...@@ -162,8 +157,6 @@ test "64 special" {
162}157}
163158
164test "80 special" {159test "80 special" {
165 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
166
167 try expect(ilogbX(f80, math.inf(f80)) == maxInt(i32));160 try expect(ilogbX(f80, math.inf(f80)) == maxInt(i32));
168 try expect(ilogbX(f80, -math.inf(f80)) == maxInt(i32));161 try expect(ilogbX(f80, -math.inf(f80)) == maxInt(i32));
169 try expect(ilogbX(f80, 0.0) == minInt(i32));162 try expect(ilogbX(f80, 0.0) == minInt(i32));
...@@ -171,8 +164,6 @@ test "80 special" {...@@ -171,8 +164,6 @@ test "80 special" {
171}164}
172165
173test "128 special" {166test "128 special" {
174 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
175
176 try expect(ilogbX(f128, math.inf(f128)) == maxInt(i32));167 try expect(ilogbX(f128, math.inf(f128)) == maxInt(i32));
177 try expect(ilogbX(f128, -math.inf(f128)) == maxInt(i32));168 try expect(ilogbX(f128, -math.inf(f128)) == maxInt(i32));
178 try expect(ilogbX(f128, 0.0) == minInt(i32));169 try expect(ilogbX(f128, 0.0) == minInt(i32));
lib/std/math/ldexp.zig-1
...@@ -67,7 +67,6 @@ pub fn ldexp(x: anytype, n: i32) @TypeOf(x) {...@@ -67,7 +67,6 @@ pub fn ldexp(x: anytype, n: i32) @TypeOf(x) {
67}67}
6868
69test "math.ldexp" {69test "math.ldexp" {
70 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
7170
72 // subnormals71 // subnormals
73 try expect(ldexp(@as(f16, 0x1.1FFp14), -14 - 9 - 15) == math.floatTrueMin(f16));72 try expect(ldexp(@as(f16, 0x1.1FFp14), -14 - 9 - 15) == math.floatTrueMin(f16));
lib/std/math/log10.zig+1-1
...@@ -170,11 +170,11 @@ test "log10_int vs old implementation" {...@@ -170,11 +170,11 @@ test "log10_int vs old implementation" {
170test "log10_int close to powers of 10" {170test "log10_int close to powers of 10" {
171 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO171 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
172 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO172 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
173 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
173 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO174 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
174 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO175 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
175 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO176 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
176 if (builtin.zig_backend == .stage2_llvm and comptime builtin.target.isWasm()) return error.SkipZigTest; // TODO177 if (builtin.zig_backend == .stage2_llvm and comptime builtin.target.isWasm()) return error.SkipZigTest; // TODO
177 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
178178
179 const int_types = .{ u8, u16, u32, u64, u128, u256, u512 };179 const int_types = .{ u8, u16, u32, u64, u128, u256, u512 };
180 const max_log_values: [7]usize = .{ 2, 4, 9, 19, 38, 77, 154 };180 const max_log_values: [7]usize = .{ 2, 4, 9, 19, 38, 77, 154 };
lib/std/math/log_int.zig-2
...@@ -56,8 +56,6 @@ pub fn log_int(comptime T: type, base: T, x: T) Log2Int(T) {...@@ -56,8 +56,6 @@ pub fn log_int(comptime T: type, base: T, x: T) Log2Int(T) {
56}56}
5757
58test "math.log_int" {58test "math.log_int" {
59 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
60
61 // Test all unsigned integers with 2, 3, ..., 64 bits.59 // Test all unsigned integers with 2, 3, ..., 64 bits.
62 // We cannot test 0 or 1 bits since base must be > 1.60 // We cannot test 0 or 1 bits since base must be > 1.
63 inline for (2..64 + 1) |bits| {61 inline for (2..64 + 1) |bits| {
lib/std/math/nextafter.zig-2
...@@ -103,8 +103,6 @@ fn nextAfterFloat(comptime T: type, x: T, y: T) T {...@@ -103,8 +103,6 @@ fn nextAfterFloat(comptime T: type, x: T, y: T) T {
103}103}
104104
105test "math.nextAfter.int" {105test "math.nextAfter.int" {
106 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
107
108 try expect(nextAfter(i0, 0, 0) == 0);106 try expect(nextAfter(i0, 0, 0) == 0);
109 try expect(nextAfter(u0, 0, 0) == 0);107 try expect(nextAfter(u0, 0, 0) == 0);
110 try expect(nextAfter(i1, 0, 0) == 0);108 try expect(nextAfter(i1, 0, 0) == 0);
lib/std/math/scalbn.zig-2
...@@ -7,8 +7,6 @@ const expect = std.testing.expect;...@@ -7,8 +7,6 @@ const expect = std.testing.expect;
7pub const scalbn = @import("ldexp.zig").ldexp;7pub const scalbn = @import("ldexp.zig").ldexp;
88
9test "math.scalbn" {9test "math.scalbn" {
10 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
11
12 // Verify we are using base 2.10 // Verify we are using base 2.
13 try expect(scalbn(@as(f16, 1.5), 4) == 24.0);11 try expect(scalbn(@as(f16, 1.5), 4) == 24.0);
14 try expect(scalbn(@as(f32, 1.5), 4) == 24.0);12 try expect(scalbn(@as(f32, 1.5), 4) == 24.0);
lib/std/mem.zig+4-20
...@@ -315,8 +315,6 @@ pub fn zeroes(comptime T: type) T {...@@ -315,8 +315,6 @@ pub fn zeroes(comptime T: type) T {
315}315}
316316
317test "zeroes" {317test "zeroes" {
318 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
319
320 const C_struct = extern struct {318 const C_struct = extern struct {
321 x: u32,319 x: u32,
322 y: u32 align(128),320 y: u32 align(128),
...@@ -1025,8 +1023,6 @@ pub fn indexOfSentinel(comptime T: type, comptime sentinel: T, p: [*:sentinel]co...@@ -1025,8 +1023,6 @@ pub fn indexOfSentinel(comptime T: type, comptime sentinel: T, p: [*:sentinel]co
1025}1023}
10261024
1027test "indexOfSentinel vector paths" {1025test "indexOfSentinel vector paths" {
1028 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1029
1030 const Types = [_]type{ u8, u16, u32, u64 };1026 const Types = [_]type{ u8, u16, u32, u64 };
1031 const allocator = std.testing.allocator;1027 const allocator = std.testing.allocator;
10321028
...@@ -1741,8 +1737,6 @@ pub fn readIntSlice(comptime T: type, bytes: []const u8, endian: Endian) T {...@@ -1741,8 +1737,6 @@ pub fn readIntSlice(comptime T: type, bytes: []const u8, endian: Endian) T {
1741}1737}
17421738
1743test "comptime read/write int" {1739test "comptime read/write int" {
1744 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
1745
1746 comptime {1740 comptime {
1747 var bytes: [2]u8 = undefined;1741 var bytes: [2]u8 = undefined;
1748 writeIntLittle(u16, &bytes, 0x1234);1742 writeIntLittle(u16, &bytes, 0x1234);
...@@ -1758,10 +1752,7 @@ test "comptime read/write int" {...@@ -1758,10 +1752,7 @@ test "comptime read/write int" {
1758}1752}
17591753
1760test "readIntBig and readIntLittle" {1754test "readIntBig and readIntLittle" {
1761 switch (builtin.zig_backend) {1755 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
1762 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
1763 else => {},
1764 }
17651756
1766 try testing.expect(readIntSliceBig(u0, &[_]u8{}) == 0x0);1757 try testing.expect(readIntSliceBig(u0, &[_]u8{}) == 0x0);
1767 try testing.expect(readIntSliceLittle(u0, &[_]u8{}) == 0x0);1758 try testing.expect(readIntSliceLittle(u0, &[_]u8{}) == 0x0);
...@@ -2062,10 +2053,7 @@ pub fn writeVarPackedInt(bytes: []u8, bit_offset: usize, bit_count: usize, value...@@ -2062,10 +2053,7 @@ pub fn writeVarPackedInt(bytes: []u8, bit_offset: usize, bit_count: usize, value
2062}2053}
20632054
2064test "writeIntBig and writeIntLittle" {2055test "writeIntBig and writeIntLittle" {
2065 switch (builtin.zig_backend) {2056 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
2066 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
2067 else => {},
2068 }
20692057
2070 var buf0: [0]u8 = undefined;2058 var buf0: [0]u8 = undefined;
2071 var buf1: [1]u8 = undefined;2059 var buf1: [1]u8 = undefined;
...@@ -3309,8 +3297,6 @@ test "testStringEquality" {...@@ -3309,8 +3297,6 @@ test "testStringEquality" {
3309}3297}
33103298
3311test "testReadInt" {3299test "testReadInt" {
3312 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
3313
3314 try testReadIntImpl();3300 try testReadIntImpl();
3315 try comptime testReadIntImpl();3301 try comptime testReadIntImpl();
3316}3302}
...@@ -4664,10 +4650,8 @@ pub fn alignInSlice(slice: anytype, comptime new_alignment: usize) ?AlignedSlice...@@ -4664,10 +4650,8 @@ pub fn alignInSlice(slice: anytype, comptime new_alignment: usize) ?AlignedSlice
4664}4650}
46654651
4666test "read/write(Var)PackedInt" {4652test "read/write(Var)PackedInt" {
4667 switch (builtin.zig_backend) {4653 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
4668 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,4654
4669 else => {},
4670 }
4671 switch (builtin.cpu.arch) {4655 switch (builtin.cpu.arch) {
4672 // This test generates too much code to execute on WASI.4656 // This test generates too much code to execute on WASI.
4673 // LLVM backend fails with "too many locals: locals exceed maximum"4657 // LLVM backend fails with "too many locals: locals exceed maximum"
lib/std/multi_array_list.zig-16
...@@ -583,8 +583,6 @@ pub fn MultiArrayList(comptime T: type) type {...@@ -583,8 +583,6 @@ pub fn MultiArrayList(comptime T: type) type {
583}583}
584584
585test "basic usage" {585test "basic usage" {
586 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
587
588 const ally = testing.allocator;586 const ally = testing.allocator;
589587
590 const Foo = struct {588 const Foo = struct {
...@@ -679,8 +677,6 @@ test "basic usage" {...@@ -679,8 +677,6 @@ test "basic usage" {
679// This was observed to fail on aarch64 with LLVM 11, when the capacityInBytes677// This was observed to fail on aarch64 with LLVM 11, when the capacityInBytes
680// function used the @reduce code path.678// function used the @reduce code path.
681test "regression test for @reduce bug" {679test "regression test for @reduce bug" {
682 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
683
684 const ally = testing.allocator;680 const ally = testing.allocator;
685 var list = MultiArrayList(struct {681 var list = MultiArrayList(struct {
686 tag: std.zig.Token.Tag,682 tag: std.zig.Token.Tag,
...@@ -758,8 +754,6 @@ test "regression test for @reduce bug" {...@@ -758,8 +754,6 @@ test "regression test for @reduce bug" {
758}754}
759755
760test "ensure capacity on empty list" {756test "ensure capacity on empty list" {
761 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
762
763 const ally = testing.allocator;757 const ally = testing.allocator;
764758
765 const Foo = struct {759 const Foo = struct {
...@@ -795,8 +789,6 @@ test "ensure capacity on empty list" {...@@ -795,8 +789,6 @@ test "ensure capacity on empty list" {
795}789}
796790
797test "insert elements" {791test "insert elements" {
798 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
799
800 const ally = testing.allocator;792 const ally = testing.allocator;
801793
802 const Foo = struct {794 const Foo = struct {
...@@ -816,8 +808,6 @@ test "insert elements" {...@@ -816,8 +808,6 @@ test "insert elements" {
816}808}
817809
818test "union" {810test "union" {
819 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
820
821 const ally = testing.allocator;811 const ally = testing.allocator;
822812
823 const Foo = union(enum) {813 const Foo = union(enum) {
...@@ -873,8 +863,6 @@ test "union" {...@@ -873,8 +863,6 @@ test "union" {
873}863}
874864
875test "sorting a span" {865test "sorting a span" {
876 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
877
878 var list: MultiArrayList(struct { score: u32, chr: u8 }) = .{};866 var list: MultiArrayList(struct { score: u32, chr: u8 }) = .{};
879 defer list.deinit(testing.allocator);867 defer list.deinit(testing.allocator);
880868
...@@ -915,8 +903,6 @@ test "sorting a span" {...@@ -915,8 +903,6 @@ test "sorting a span" {
915}903}
916904
917test "0 sized struct field" {905test "0 sized struct field" {
918 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
919
920 const ally = testing.allocator;906 const ally = testing.allocator;
921907
922 const Foo = struct {908 const Foo = struct {
...@@ -944,8 +930,6 @@ test "0 sized struct field" {...@@ -944,8 +930,6 @@ test "0 sized struct field" {
944}930}
945931
946test "0 sized struct" {932test "0 sized struct" {
947 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
948
949 const ally = testing.allocator;933 const ally = testing.allocator;
950934
951 const Foo = struct {935 const Foo = struct {
lib/std/net/test.zig-6
...@@ -5,7 +5,6 @@ const mem = std.mem;...@@ -5,7 +5,6 @@ const mem = std.mem;
5const testing = std.testing;5const testing = std.testing;
66
7test "parse and render IPv6 addresses" {7test "parse and render IPv6 addresses" {
8 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
9 if (builtin.os.tag == .wasi) return error.SkipZigTest;8 if (builtin.os.tag == .wasi) return error.SkipZigTest;
109
11 var buffer: [100]u8 = undefined;10 var buffer: [100]u8 = undefined;
...@@ -71,7 +70,6 @@ test "invalid but parseable IPv6 scope ids" {...@@ -71,7 +70,6 @@ test "invalid but parseable IPv6 scope ids" {
71}70}
7271
73test "parse and render IPv4 addresses" {72test "parse and render IPv4 addresses" {
74 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
75 if (builtin.os.tag == .wasi) return error.SkipZigTest;73 if (builtin.os.tag == .wasi) return error.SkipZigTest;
7674
77 var buffer: [18]u8 = undefined;75 var buffer: [18]u8 = undefined;
...@@ -111,8 +109,6 @@ test "parse and render UNIX addresses" {...@@ -111,8 +109,6 @@ test "parse and render UNIX addresses" {
111test "resolve DNS" {109test "resolve DNS" {
112 if (builtin.os.tag == .wasi) return error.SkipZigTest;110 if (builtin.os.tag == .wasi) return error.SkipZigTest;
113111
114 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
115
116 if (builtin.os.tag == .windows) {112 if (builtin.os.tag == .windows) {
117 _ = try std.os.windows.WSAStartup(2, 2);113 _ = try std.os.windows.WSAStartup(2, 2);
118 }114 }
...@@ -295,8 +291,6 @@ test "listen on a unix socket, send bytes, receive bytes" {...@@ -295,8 +291,6 @@ test "listen on a unix socket, send bytes, receive bytes" {
295 if (builtin.single_threaded) return error.SkipZigTest;291 if (builtin.single_threaded) return error.SkipZigTest;
296 if (!net.has_unix_sockets) return error.SkipZigTest;292 if (!net.has_unix_sockets) return error.SkipZigTest;
297293
298 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
299
300 if (builtin.os.tag == .windows) {294 if (builtin.os.tag == .windows) {
301 _ = try std.os.windows.WSAStartup(2, 2);295 _ = try std.os.windows.WSAStartup(2, 2);
302 }296 }
lib/std/once.zig-2
...@@ -46,8 +46,6 @@ fn incr() void {...@@ -46,8 +46,6 @@ fn incr() void {
46}46}
4747
48test "Once executes its function just once" {48test "Once executes its function just once" {
49 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
50
51 if (builtin.single_threaded) {49 if (builtin.single_threaded) {
52 global_once.call();50 global_once.call();
53 global_once.call();51 global_once.call();
lib/std/os/linux/io_uring.zig-30
...@@ -1741,8 +1741,6 @@ test "readv" {...@@ -1741,8 +1741,6 @@ test "readv" {
1741test "writev/fsync/readv" {1741test "writev/fsync/readv" {
1742 if (builtin.os.tag != .linux) return error.SkipZigTest;1742 if (builtin.os.tag != .linux) return error.SkipZigTest;
17431743
1744 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1745
1746 var ring = IO_Uring.init(4, 0) catch |err| switch (err) {1744 var ring = IO_Uring.init(4, 0) catch |err| switch (err) {
1747 error.SystemOutdated => return error.SkipZigTest,1745 error.SystemOutdated => return error.SkipZigTest,
1748 error.PermissionDenied => return error.SkipZigTest,1746 error.PermissionDenied => return error.SkipZigTest,
...@@ -1813,8 +1811,6 @@ test "writev/fsync/readv" {...@@ -1813,8 +1811,6 @@ test "writev/fsync/readv" {
1813test "write/read" {1811test "write/read" {
1814 if (builtin.os.tag != .linux) return error.SkipZigTest;1812 if (builtin.os.tag != .linux) return error.SkipZigTest;
18151813
1816 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1817
1818 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {1814 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
1819 error.SystemOutdated => return error.SkipZigTest,1815 error.SystemOutdated => return error.SkipZigTest,
1820 error.PermissionDenied => return error.SkipZigTest,1816 error.PermissionDenied => return error.SkipZigTest,
...@@ -1862,8 +1858,6 @@ test "write/read" {...@@ -1862,8 +1858,6 @@ test "write/read" {
1862test "splice/read" {1858test "splice/read" {
1863 if (builtin.os.tag != .linux) return error.SkipZigTest;1859 if (builtin.os.tag != .linux) return error.SkipZigTest;
18641860
1865 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1866
1867 var ring = IO_Uring.init(4, 0) catch |err| switch (err) {1861 var ring = IO_Uring.init(4, 0) catch |err| switch (err) {
1868 error.SystemOutdated => return error.SkipZigTest,1862 error.SystemOutdated => return error.SkipZigTest,
1869 error.PermissionDenied => return error.SkipZigTest,1863 error.PermissionDenied => return error.SkipZigTest,
...@@ -1935,8 +1929,6 @@ test "splice/read" {...@@ -1935,8 +1929,6 @@ test "splice/read" {
1935test "write_fixed/read_fixed" {1929test "write_fixed/read_fixed" {
1936 if (builtin.os.tag != .linux) return error.SkipZigTest;1930 if (builtin.os.tag != .linux) return error.SkipZigTest;
19371931
1938 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1939
1940 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {1932 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
1941 error.SystemOutdated => return error.SkipZigTest,1933 error.SystemOutdated => return error.SkipZigTest,
1942 error.PermissionDenied => return error.SkipZigTest,1934 error.PermissionDenied => return error.SkipZigTest,
...@@ -2002,8 +1994,6 @@ test "write_fixed/read_fixed" {...@@ -2002,8 +1994,6 @@ test "write_fixed/read_fixed" {
2002test "openat" {1994test "openat" {
2003 if (builtin.os.tag != .linux) return error.SkipZigTest;1995 if (builtin.os.tag != .linux) return error.SkipZigTest;
20041996
2005 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2006
2007 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {1997 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2008 error.SystemOutdated => return error.SkipZigTest,1998 error.SystemOutdated => return error.SkipZigTest,
2009 error.PermissionDenied => return error.SkipZigTest,1999 error.PermissionDenied => return error.SkipZigTest,
...@@ -2055,8 +2045,6 @@ test "openat" {...@@ -2055,8 +2045,6 @@ test "openat" {
2055test "close" {2045test "close" {
2056 if (builtin.os.tag != .linux) return error.SkipZigTest;2046 if (builtin.os.tag != .linux) return error.SkipZigTest;
20572047
2058 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2059
2060 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2048 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2061 error.SystemOutdated => return error.SkipZigTest,2049 error.SystemOutdated => return error.SkipZigTest,
2062 error.PermissionDenied => return error.SkipZigTest,2050 error.PermissionDenied => return error.SkipZigTest,
...@@ -2216,8 +2204,6 @@ test "sendmsg/recvmsg" {...@@ -2216,8 +2204,6 @@ test "sendmsg/recvmsg" {
2216test "timeout (after a relative time)" {2204test "timeout (after a relative time)" {
2217 if (builtin.os.tag != .linux) return error.SkipZigTest;2205 if (builtin.os.tag != .linux) return error.SkipZigTest;
22182206
2219 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2220
2221 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2207 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2222 error.SystemOutdated => return error.SkipZigTest,2208 error.SystemOutdated => return error.SkipZigTest,
2223 error.PermissionDenied => return error.SkipZigTest,2209 error.PermissionDenied => return error.SkipZigTest,
...@@ -2282,8 +2268,6 @@ test "timeout (after a number of completions)" {...@@ -2282,8 +2268,6 @@ test "timeout (after a number of completions)" {
2282test "timeout_remove" {2268test "timeout_remove" {
2283 if (builtin.os.tag != .linux) return error.SkipZigTest;2269 if (builtin.os.tag != .linux) return error.SkipZigTest;
22842270
2285 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2286
2287 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {2271 var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
2288 error.SystemOutdated => return error.SkipZigTest,2272 error.SystemOutdated => return error.SkipZigTest,
2289 error.PermissionDenied => return error.SkipZigTest,2273 error.PermissionDenied => return error.SkipZigTest,
...@@ -2392,8 +2376,6 @@ test "accept/connect/recv/link_timeout" {...@@ -2392,8 +2376,6 @@ test "accept/connect/recv/link_timeout" {
2392test "fallocate" {2376test "fallocate" {
2393 if (builtin.os.tag != .linux) return error.SkipZigTest;2377 if (builtin.os.tag != .linux) return error.SkipZigTest;
23942378
2395 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2396
2397 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2379 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2398 error.SystemOutdated => return error.SkipZigTest,2380 error.SystemOutdated => return error.SkipZigTest,
2399 error.PermissionDenied => return error.SkipZigTest,2381 error.PermissionDenied => return error.SkipZigTest,
...@@ -2440,8 +2422,6 @@ test "fallocate" {...@@ -2440,8 +2422,6 @@ test "fallocate" {
2440test "statx" {2422test "statx" {
2441 if (builtin.os.tag != .linux) return error.SkipZigTest;2423 if (builtin.os.tag != .linux) return error.SkipZigTest;
24422424
2443 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2444
2445 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2425 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2446 error.SystemOutdated => return error.SkipZigTest,2426 error.SystemOutdated => return error.SkipZigTest,
2447 error.PermissionDenied => return error.SkipZigTest,2427 error.PermissionDenied => return error.SkipZigTest,
...@@ -2698,8 +2678,6 @@ test "shutdown" {...@@ -2698,8 +2678,6 @@ test "shutdown" {
2698test "renameat" {2678test "renameat" {
2699 if (builtin.os.tag != .linux) return error.SkipZigTest;2679 if (builtin.os.tag != .linux) return error.SkipZigTest;
27002680
2701 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2702
2703 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2681 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2704 error.SystemOutdated => return error.SkipZigTest,2682 error.SystemOutdated => return error.SkipZigTest,
2705 error.PermissionDenied => return error.SkipZigTest,2683 error.PermissionDenied => return error.SkipZigTest,
...@@ -2769,8 +2747,6 @@ test "renameat" {...@@ -2769,8 +2747,6 @@ test "renameat" {
2769test "unlinkat" {2747test "unlinkat" {
2770 if (builtin.os.tag != .linux) return error.SkipZigTest;2748 if (builtin.os.tag != .linux) return error.SkipZigTest;
27712749
2772 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2773
2774 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2750 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2775 error.SystemOutdated => return error.SkipZigTest,2751 error.SystemOutdated => return error.SkipZigTest,
2776 error.PermissionDenied => return error.SkipZigTest,2752 error.PermissionDenied => return error.SkipZigTest,
...@@ -2823,8 +2799,6 @@ test "unlinkat" {...@@ -2823,8 +2799,6 @@ test "unlinkat" {
2823test "mkdirat" {2799test "mkdirat" {
2824 if (builtin.os.tag != .linux) return error.SkipZigTest;2800 if (builtin.os.tag != .linux) return error.SkipZigTest;
28252801
2826 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2827
2828 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2802 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2829 error.SystemOutdated => return error.SkipZigTest,2803 error.SystemOutdated => return error.SkipZigTest,
2830 error.PermissionDenied => return error.SkipZigTest,2804 error.PermissionDenied => return error.SkipZigTest,
...@@ -2869,8 +2843,6 @@ test "mkdirat" {...@@ -2869,8 +2843,6 @@ test "mkdirat" {
2869test "symlinkat" {2843test "symlinkat" {
2870 if (builtin.os.tag != .linux) return error.SkipZigTest;2844 if (builtin.os.tag != .linux) return error.SkipZigTest;
28712845
2872 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2873
2874 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2846 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2875 error.SystemOutdated => return error.SkipZigTest,2847 error.SystemOutdated => return error.SkipZigTest,
2876 error.PermissionDenied => return error.SkipZigTest,2848 error.PermissionDenied => return error.SkipZigTest,
...@@ -2919,8 +2891,6 @@ test "symlinkat" {...@@ -2919,8 +2891,6 @@ test "symlinkat" {
2919test "linkat" {2891test "linkat" {
2920 if (builtin.os.tag != .linux) return error.SkipZigTest;2892 if (builtin.os.tag != .linux) return error.SkipZigTest;
29212893
2922 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2923
2924 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {2894 var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
2925 error.SystemOutdated => return error.SkipZigTest,2895 error.SystemOutdated => return error.SkipZigTest,
2926 error.PermissionDenied => return error.SkipZigTest,2896 error.PermissionDenied => return error.SkipZigTest,
lib/std/os/linux/test.zig-6
...@@ -8,8 +8,6 @@ const expectEqual = std.testing.expectEqual;...@@ -8,8 +8,6 @@ const expectEqual = std.testing.expectEqual;
8const fs = std.fs;8const fs = std.fs;
99
10test "fallocate" {10test "fallocate" {
11 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
12
13 var tmp = std.testing.tmpDir(.{});11 var tmp = std.testing.tmpDir(.{});
14 defer tmp.cleanup();12 defer tmp.cleanup();
1513
...@@ -71,8 +69,6 @@ test "timer" {...@@ -71,8 +69,6 @@ test "timer" {
71}69}
7270
73test "statx" {71test "statx" {
74 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
75
76 var tmp = std.testing.tmpDir(.{});72 var tmp = std.testing.tmpDir(.{});
77 defer tmp.cleanup();73 defer tmp.cleanup();
7874
...@@ -111,8 +107,6 @@ test "user and group ids" {...@@ -111,8 +107,6 @@ test "user and group ids" {
111}107}
112108
113test "fadvise" {109test "fadvise" {
114 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
115
116 var tmp = std.testing.tmpDir(.{});110 var tmp = std.testing.tmpDir(.{});
117 defer tmp.cleanup();111 defer tmp.cleanup();
118112
lib/std/os/test.zig-51
...@@ -88,8 +88,6 @@ test "chdir smoke test" {...@@ -88,8 +88,6 @@ test "chdir smoke test" {
88test "open smoke test" {88test "open smoke test" {
89 if (native_os == .wasi) return error.SkipZigTest;89 if (native_os == .wasi) return error.SkipZigTest;
9090
91 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
92
93 // TODO verify file attributes using `fstat`91 // TODO verify file attributes using `fstat`
9492
95 var tmp = tmpDir(.{});93 var tmp = tmpDir(.{});
...@@ -144,8 +142,6 @@ test "open smoke test" {...@@ -144,8 +142,6 @@ test "open smoke test" {
144test "openat smoke test" {142test "openat smoke test" {
145 if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;143 if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;
146144
147 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
148
149 // TODO verify file attributes using `fstatat`145 // TODO verify file attributes using `fstatat`
150146
151 var tmp = tmpDir(.{});147 var tmp = tmpDir(.{});
...@@ -280,8 +276,6 @@ test "link with relative paths" {...@@ -280,8 +276,6 @@ test "link with relative paths" {
280test "linkat with different directories" {276test "linkat with different directories" {
281 if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;277 if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;
282278
283 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
284
285 switch (native_os) {279 switch (native_os) {
286 .wasi, .linux, .solaris, .illumos => {},280 .wasi, .linux, .solaris, .illumos => {},
287 else => return error.SkipZigTest,281 else => return error.SkipZigTest,
...@@ -327,8 +321,6 @@ test "fstatat" {...@@ -327,8 +321,6 @@ test "fstatat" {
327 // enable when `fstat` and `fstatat` are implemented on Windows321 // enable when `fstat` and `fstatat` are implemented on Windows
328 if (native_os == .windows) return error.SkipZigTest;322 if (native_os == .windows) return error.SkipZigTest;
329323
330 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
331
332 var tmp = tmpDir(.{});324 var tmp = tmpDir(.{});
333 defer tmp.cleanup();325 defer tmp.cleanup();
334326
...@@ -348,8 +340,6 @@ test "fstatat" {...@@ -348,8 +340,6 @@ test "fstatat" {
348}340}
349341
350test "readlinkat" {342test "readlinkat" {
351 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
352
353 var tmp = tmpDir(.{});343 var tmp = tmpDir(.{});
354 defer tmp.cleanup();344 defer tmp.cleanup();
355345
...@@ -385,8 +375,6 @@ fn testThreadIdFn(thread_id: *Thread.Id) void {...@@ -385,8 +375,6 @@ fn testThreadIdFn(thread_id: *Thread.Id) void {
385test "std.Thread.getCurrentId" {375test "std.Thread.getCurrentId" {
386 if (builtin.single_threaded) return error.SkipZigTest;376 if (builtin.single_threaded) return error.SkipZigTest;
387377
388 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
389
390 var thread_current_id: Thread.Id = undefined;378 var thread_current_id: Thread.Id = undefined;
391 const thread = try Thread.spawn(.{}, testThreadIdFn, .{&thread_current_id});379 const thread = try Thread.spawn(.{}, testThreadIdFn, .{&thread_current_id});
392 thread.join();380 thread.join();
...@@ -429,9 +417,6 @@ test "cpu count" {...@@ -429,9 +417,6 @@ test "cpu count" {
429417
430test "thread local storage" {418test "thread local storage" {
431 if (builtin.single_threaded) return error.SkipZigTest;419 if (builtin.single_threaded) return error.SkipZigTest;
432
433 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
434
435 const thread1 = try Thread.spawn(.{}, testTls, .{});420 const thread1 = try Thread.spawn(.{}, testTls, .{});
436 const thread2 = try Thread.spawn(.{}, testTls, .{});421 const thread2 = try Thread.spawn(.{}, testTls, .{});
437 try testTls();422 try testTls();
...@@ -519,8 +504,6 @@ fn iter_fn(info: *dl_phdr_info, size: usize, counter: *usize) IterFnError!void {...@@ -519,8 +504,6 @@ fn iter_fn(info: *dl_phdr_info, size: usize, counter: *usize) IterFnError!void {
519test "dl_iterate_phdr" {504test "dl_iterate_phdr" {
520 if (builtin.object_format != .elf) return error.SkipZigTest;505 if (builtin.object_format != .elf) return error.SkipZigTest;
521506
522 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
523
524 var counter: usize = 0;507 var counter: usize = 0;
525 try os.dl_iterate_phdr(&counter, IterFnError, iter_fn);508 try os.dl_iterate_phdr(&counter, IterFnError, iter_fn);
526 try expect(counter != 0);509 try expect(counter != 0);
...@@ -583,8 +566,6 @@ test "mmap" {...@@ -583,8 +566,6 @@ test "mmap" {
583 if (native_os == .windows or native_os == .wasi)566 if (native_os == .windows or native_os == .wasi)
584 return error.SkipZigTest;567 return error.SkipZigTest;
585568
586 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
587
588 var tmp = tmpDir(.{});569 var tmp = tmpDir(.{});
589 defer tmp.cleanup();570 defer tmp.cleanup();
590571
...@@ -695,8 +676,6 @@ test "fcntl" {...@@ -695,8 +676,6 @@ test "fcntl" {
695 if (native_os == .windows or native_os == .wasi)676 if (native_os == .windows or native_os == .wasi)
696 return error.SkipZigTest;677 return error.SkipZigTest;
697678
698 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
699
700 var tmp = tmpDir(.{});679 var tmp = tmpDir(.{});
701 defer tmp.cleanup();680 defer tmp.cleanup();
702681
...@@ -737,8 +716,6 @@ test "sync" {...@@ -737,8 +716,6 @@ test "sync" {
737 if (native_os != .linux)716 if (native_os != .linux)
738 return error.SkipZigTest;717 return error.SkipZigTest;
739718
740 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
741
742 var tmp = tmpDir(.{});719 var tmp = tmpDir(.{});
743 defer tmp.cleanup();720 defer tmp.cleanup();
744721
...@@ -759,8 +736,6 @@ test "fsync" {...@@ -759,8 +736,6 @@ test "fsync" {
759 else => return error.SkipZigTest,736 else => return error.SkipZigTest,
760 }737 }
761738
762 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
763
764 var tmp = tmpDir(.{});739 var tmp = tmpDir(.{});
765 defer tmp.cleanup();740 defer tmp.cleanup();
766741
...@@ -780,8 +755,6 @@ test "getrlimit and setrlimit" {...@@ -780,8 +755,6 @@ test "getrlimit and setrlimit" {
780 return error.SkipZigTest;755 return error.SkipZigTest;
781 }756 }
782757
783 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
784
785 inline for (std.meta.fields(os.rlimit_resource)) |field| {758 inline for (std.meta.fields(os.rlimit_resource)) |field| {
786 const resource = @as(os.rlimit_resource, @enumFromInt(field.value));759 const resource = @as(os.rlimit_resource, @enumFromInt(field.value));
787 const limit = try os.getrlimit(resource);760 const limit = try os.getrlimit(resource);
...@@ -824,8 +797,6 @@ test "sigaction" {...@@ -824,8 +797,6 @@ test "sigaction" {
824 if (native_os == .wasi or native_os == .windows)797 if (native_os == .wasi or native_os == .windows)
825 return error.SkipZigTest;798 return error.SkipZigTest;
826799
827 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
828
829 // https://github.com/ziglang/zig/issues/7427800 // https://github.com/ziglang/zig/issues/7427
830 if (native_os == .linux and builtin.target.cpu.arch == .x86)801 if (native_os == .linux and builtin.target.cpu.arch == .x86)
831 return error.SkipZigTest;802 return error.SkipZigTest;
...@@ -903,8 +874,6 @@ test "dup & dup2" {...@@ -903,8 +874,6 @@ test "dup & dup2" {
903 else => return error.SkipZigTest,874 else => return error.SkipZigTest,
904 }875 }
905876
906 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
907
908 var tmp = tmpDir(.{});877 var tmp = tmpDir(.{});
909 defer tmp.cleanup();878 defer tmp.cleanup();
910879
...@@ -934,8 +903,6 @@ test "dup & dup2" {...@@ -934,8 +903,6 @@ test "dup & dup2" {
934test "writev longer than IOV_MAX" {903test "writev longer than IOV_MAX" {
935 if (native_os == .windows or native_os == .wasi) return error.SkipZigTest;904 if (native_os == .windows or native_os == .wasi) return error.SkipZigTest;
936905
937 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
938
939 var tmp = tmpDir(.{});906 var tmp = tmpDir(.{});
940 defer tmp.cleanup();907 defer tmp.cleanup();
941908
...@@ -953,8 +920,6 @@ test "POSIX file locking with fcntl" {...@@ -953,8 +920,6 @@ test "POSIX file locking with fcntl" {
953 return error.SkipZigTest;920 return error.SkipZigTest;
954 }921 }
955922
956 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
957
958 if (true) {923 if (true) {
959 // https://github.com/ziglang/zig/issues/11074924 // https://github.com/ziglang/zig/issues/11074
960 return error.SkipZigTest;925 return error.SkipZigTest;
...@@ -1017,8 +982,6 @@ test "POSIX file locking with fcntl" {...@@ -1017,8 +982,6 @@ test "POSIX file locking with fcntl" {
1017test "rename smoke test" {982test "rename smoke test" {
1018 if (native_os == .wasi) return error.SkipZigTest;983 if (native_os == .wasi) return error.SkipZigTest;
1019984
1020 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1021
1022 var tmp = tmpDir(.{});985 var tmp = tmpDir(.{});
1023 defer tmp.cleanup();986 defer tmp.cleanup();
1024987
...@@ -1075,8 +1038,6 @@ test "rename smoke test" {...@@ -1075,8 +1038,6 @@ test "rename smoke test" {
1075test "access smoke test" {1038test "access smoke test" {
1076 if (native_os == .wasi) return error.SkipZigTest;1039 if (native_os == .wasi) return error.SkipZigTest;
10771040
1078 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1079
1080 var tmp = tmpDir(.{});1041 var tmp = tmpDir(.{});
1081 defer tmp.cleanup();1042 defer tmp.cleanup();
10821043
...@@ -1141,8 +1102,6 @@ test "timerfd" {...@@ -1141,8 +1102,6 @@ test "timerfd" {
1141}1102}
11421103
1143test "isatty" {1104test "isatty" {
1144 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1145
1146 var tmp = tmpDir(.{});1105 var tmp = tmpDir(.{});
1147 defer tmp.cleanup();1106 defer tmp.cleanup();
11481107
...@@ -1155,8 +1114,6 @@ test "isatty" {...@@ -1155,8 +1114,6 @@ test "isatty" {
1155test "read with empty buffer" {1114test "read with empty buffer" {
1156 if (native_os == .wasi) return error.SkipZigTest;1115 if (native_os == .wasi) return error.SkipZigTest;
11571116
1158 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1159
1160 var tmp = tmpDir(.{});1117 var tmp = tmpDir(.{});
1161 defer tmp.cleanup();1118 defer tmp.cleanup();
11621119
...@@ -1182,8 +1139,6 @@ test "read with empty buffer" {...@@ -1182,8 +1139,6 @@ test "read with empty buffer" {
1182test "pread with empty buffer" {1139test "pread with empty buffer" {
1183 if (native_os == .wasi) return error.SkipZigTest;1140 if (native_os == .wasi) return error.SkipZigTest;
11841141
1185 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1186
1187 var tmp = tmpDir(.{});1142 var tmp = tmpDir(.{});
1188 defer tmp.cleanup();1143 defer tmp.cleanup();
11891144
...@@ -1209,8 +1164,6 @@ test "pread with empty buffer" {...@@ -1209,8 +1164,6 @@ test "pread with empty buffer" {
1209test "write with empty buffer" {1164test "write with empty buffer" {
1210 if (native_os == .wasi) return error.SkipZigTest;1165 if (native_os == .wasi) return error.SkipZigTest;
12111166
1212 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1213
1214 var tmp = tmpDir(.{});1167 var tmp = tmpDir(.{});
1215 defer tmp.cleanup();1168 defer tmp.cleanup();
12161169
...@@ -1236,8 +1189,6 @@ test "write with empty buffer" {...@@ -1236,8 +1189,6 @@ test "write with empty buffer" {
1236test "pwrite with empty buffer" {1189test "pwrite with empty buffer" {
1237 if (native_os == .wasi) return error.SkipZigTest;1190 if (native_os == .wasi) return error.SkipZigTest;
12381191
1239 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1240
1241 var tmp = tmpDir(.{});1192 var tmp = tmpDir(.{});
1242 defer tmp.cleanup();1193 defer tmp.cleanup();
12431194
...@@ -1263,8 +1214,6 @@ test "pwrite with empty buffer" {...@@ -1263,8 +1214,6 @@ test "pwrite with empty buffer" {
1263test "fchmodat smoke test" {1214test "fchmodat smoke test" {
1264 if (!std.fs.has_executable_bit) return error.SkipZigTest;1215 if (!std.fs.has_executable_bit) return error.SkipZigTest;
12651216
1266 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1267
1268 var tmp = tmpDir(.{});1217 var tmp = tmpDir(.{});
1269 defer tmp.cleanup();1218 defer tmp.cleanup();
12701219
lib/std/os/windows.zig-2
...@@ -2491,8 +2491,6 @@ pub fn ntToWin32Namespace(path: []const u16) !PathSpace {...@@ -2491,8 +2491,6 @@ pub fn ntToWin32Namespace(path: []const u16) !PathSpace {
2491}2491}
24922492
2493test "ntToWin32Namespace" {2493test "ntToWin32Namespace" {
2494 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
2495
2496 const L = std.unicode.utf8ToUtf16LeStringLiteral;2494 const L = std.unicode.utf8ToUtf16LeStringLiteral;
24972495
2498 try testNtToWin32Namespace(L("UNC"), L("\\??\\UNC"));2496 try testNtToWin32Namespace(L("UNC"), L("\\??\\UNC"));
lib/std/priority_dequeue.zig-2
...@@ -705,8 +705,6 @@ test "std.PriorityDequeue: fromOwnedSlice trivial case 1" {...@@ -705,8 +705,6 @@ test "std.PriorityDequeue: fromOwnedSlice trivial case 1" {
705}705}
706706
707test "std.PriorityDequeue: fromOwnedSlice" {707test "std.PriorityDequeue: fromOwnedSlice" {
708 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
709
710 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };708 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
711 const queue_items = try testing.allocator.dupe(u32, items[0..]);709 const queue_items = try testing.allocator.dupe(u32, items[0..]);
712 var queue = PDQ.fromOwnedSlice(testing.allocator, queue_items[0..], {});710 var queue = PDQ.fromOwnedSlice(testing.allocator, queue_items[0..], {});
lib/std/priority_queue.zig-2
...@@ -385,8 +385,6 @@ test "std.PriorityQueue: fromOwnedSlice trivial case 1" {...@@ -385,8 +385,6 @@ test "std.PriorityQueue: fromOwnedSlice trivial case 1" {
385}385}
386386
387test "std.PriorityQueue: fromOwnedSlice" {387test "std.PriorityQueue: fromOwnedSlice" {
388 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
389
390 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };388 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
391 const heap_items = try testing.allocator.dupe(u32, items[0..]);389 const heap_items = try testing.allocator.dupe(u32, items[0..]);
392 var queue = PQlt.fromOwnedSlice(testing.allocator, heap_items[0..], {});390 var queue = PQlt.fromOwnedSlice(testing.allocator, heap_items[0..], {});
lib/std/rand/Xoshiro256.zig+1-4
...@@ -90,10 +90,7 @@ pub fn fill(self: *Xoshiro256, buf: []u8) void {...@@ -90,10 +90,7 @@ pub fn fill(self: *Xoshiro256, buf: []u8) void {
90}90}
9191
92test "xoroshiro sequence" {92test "xoroshiro sequence" {
93 switch (@import("builtin").zig_backend) {93 if (@import("builtin").zig_backend == .stage2_c) return error.SkipZigTest;
94 .stage2_c, .stage2_x86_64 => return error.SkipZigTest,
95 else => {},
96 }
9794
98 var r = Xoshiro256.init(0);95 var r = Xoshiro256.init(0);
9996
lib/std/rand/test.zig-11
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("../std.zig");1const std = @import("../std.zig");
2const builtin = @import("builtin");
3const math = std.math;2const math = std.math;
4const DefaultPrng = std.rand.DefaultPrng;3const DefaultPrng = std.rand.DefaultPrng;
5const Random = std.rand.Random;4const Random = std.rand.Random;
...@@ -158,8 +157,6 @@ fn testRandomEnumValue() !void {...@@ -158,8 +157,6 @@ fn testRandomEnumValue() !void {
158}157}
159158
160test "Random intLessThan" {159test "Random intLessThan" {
161 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
162
163 @setEvalBranchQuota(10000);160 @setEvalBranchQuota(10000);
164 try testRandomIntLessThan();161 try testRandomIntLessThan();
165 try comptime testRandomIntLessThan();162 try comptime testRandomIntLessThan();
...@@ -202,8 +199,6 @@ fn testRandomIntLessThan() !void {...@@ -202,8 +199,6 @@ fn testRandomIntLessThan() !void {
202}199}
203200
204test "Random intAtMost" {201test "Random intAtMost" {
205 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
206
207 @setEvalBranchQuota(10000);202 @setEvalBranchQuota(10000);
208 try testRandomIntAtMost();203 try testRandomIntAtMost();
209 try comptime testRandomIntAtMost();204 try comptime testRandomIntAtMost();
...@@ -244,8 +239,6 @@ fn testRandomIntAtMost() !void {...@@ -244,8 +239,6 @@ fn testRandomIntAtMost() !void {
244}239}
245240
246test "Random Biased" {241test "Random Biased" {
247 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
248
249 var prng = DefaultPrng.init(0);242 var prng = DefaultPrng.init(0);
250 const random = prng.random();243 const random = prng.random();
251 // Not thoroughly checking the logic here.244 // Not thoroughly checking the logic here.
...@@ -443,8 +436,6 @@ fn testRangeBias(r: Random, start: i8, end: i8, biased: bool) !void {...@@ -443,8 +436,6 @@ fn testRangeBias(r: Random, start: i8, end: i8, biased: bool) !void {
443}436}
444437
445test "CSPRNG" {438test "CSPRNG" {
446 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
447
448 var secret_seed: [DefaultCsprng.secret_seed_length]u8 = undefined;439 var secret_seed: [DefaultCsprng.secret_seed_length]u8 = undefined;
449 std.crypto.random.bytes(&secret_seed);440 std.crypto.random.bytes(&secret_seed);
450 var csprng = DefaultCsprng.init(secret_seed);441 var csprng = DefaultCsprng.init(secret_seed);
...@@ -456,8 +447,6 @@ test "CSPRNG" {...@@ -456,8 +447,6 @@ test "CSPRNG" {
456}447}
457448
458test "Random weightedIndex" {449test "Random weightedIndex" {
459 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
460
461 // Make sure weightedIndex works for various integers and floats450 // Make sure weightedIndex works for various integers and floats
462 inline for (.{ u64, i4, f32, f64 }) |T| {451 inline for (.{ u64, i4, f32, f64 }) |T| {
463 var prng = DefaultPrng.init(0);452 var prng = DefaultPrng.init(0);
lib/std/segmented_list.zig-2
...@@ -409,8 +409,6 @@ pub fn SegmentedList(comptime T: type, comptime prealloc_item_count: usize) type...@@ -409,8 +409,6 @@ pub fn SegmentedList(comptime T: type, comptime prealloc_item_count: usize) type
409}409}
410410
411test "SegmentedList basic usage" {411test "SegmentedList basic usage" {
412 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
413
414 try testSegmentedList(0);412 try testSegmentedList(0);
415 try testSegmentedList(1);413 try testSegmentedList(1);
416 try testSegmentedList(2);414 try testSegmentedList(2);
lib/std/simd.zig-9
...@@ -196,13 +196,10 @@ pub fn extract(...@@ -196,13 +196,10 @@ pub fn extract(
196}196}
197197
198test "vector patterns" {198test "vector patterns" {
199 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
200
201 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {199 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
202 // https://github.com/ziglang/zig/issues/12012200 // https://github.com/ziglang/zig/issues/12012
203 return error.SkipZigTest;201 return error.SkipZigTest;
204 }202 }
205
206 const base = @Vector(4, u32){ 10, 20, 30, 40 };203 const base = @Vector(4, u32){ 10, 20, 30, 40 };
207 const other_base = @Vector(4, u32){ 55, 66, 77, 88 };204 const other_base = @Vector(4, u32){ 55, 66, 77, 88 };
208205
...@@ -272,8 +269,6 @@ pub fn reverseOrder(vec: anytype) @TypeOf(vec) {...@@ -272,8 +269,6 @@ pub fn reverseOrder(vec: anytype) @TypeOf(vec) {
272}269}
273270
274test "vector shifting" {271test "vector shifting" {
275 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
276
277 const base = @Vector(4, u32){ 10, 20, 30, 40 };272 const base = @Vector(4, u32){ 10, 20, 30, 40 };
278273
279 try std.testing.expectEqual([4]u32{ 30, 40, 999, 999 }, shiftElementsLeft(base, 2, 999));274 try std.testing.expectEqual([4]u32{ 30, 40, 999, 999 }, shiftElementsLeft(base, 2, 999));
...@@ -338,8 +333,6 @@ pub fn countElementsWithValue(vec: anytype, value: std.meta.Child(@TypeOf(vec)))...@@ -338,8 +333,6 @@ pub fn countElementsWithValue(vec: anytype, value: std.meta.Child(@TypeOf(vec)))
338}333}
339334
340test "vector searching" {335test "vector searching" {
341 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
342
343 const base = @Vector(8, u32){ 6, 4, 7, 4, 4, 2, 3, 7 };336 const base = @Vector(8, u32){ 6, 4, 7, 4, 4, 2, 3, 7 };
344337
345 try std.testing.expectEqual(@as(?u3, 1), firstIndexOfValue(base, 4));338 try std.testing.expectEqual(@as(?u3, 1), firstIndexOfValue(base, 4));
...@@ -431,8 +424,6 @@ pub fn prefixScan(comptime op: std.builtin.ReduceOp, comptime hop: isize, vec: a...@@ -431,8 +424,6 @@ pub fn prefixScan(comptime op: std.builtin.ReduceOp, comptime hop: isize, vec: a
431}424}
432425
433test "vector prefix scan" {426test "vector prefix scan" {
434 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
435
436 if (comptime builtin.cpu.arch.isMIPS()) {427 if (comptime builtin.cpu.arch.isMIPS()) {
437 return error.SkipZigTest;428 return error.SkipZigTest;
438 }429 }
lib/std/sort.zig-11
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
1const std = @import("std.zig");1const std = @import("std.zig");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const builtin = @import("builtin");
4const testing = std.testing;3const testing = std.testing;
5const mem = std.mem;4const mem = std.mem;
6const math = std.math;5const math = std.math;
...@@ -177,8 +176,6 @@ const IdAndValue = struct {...@@ -177,8 +176,6 @@ const IdAndValue = struct {
177};176};
178177
179test "stable sort" {178test "stable sort" {
180 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
181
182 const expected = [_]IdAndValue{179 const expected = [_]IdAndValue{
183 IdAndValue{ .id = 0, .value = 0 },180 IdAndValue{ .id = 0, .value = 0 },
184 IdAndValue{ .id = 1, .value = 0 },181 IdAndValue{ .id = 1, .value = 0 },
...@@ -226,8 +223,6 @@ test "stable sort" {...@@ -226,8 +223,6 @@ test "stable sort" {
226}223}
227224
228test "sort" {225test "sort" {
229 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
230
231 const u8cases = [_][]const []const u8{226 const u8cases = [_][]const []const u8{
232 &[_][]const u8{227 &[_][]const u8{
233 "",228 "",
...@@ -306,8 +301,6 @@ test "sort" {...@@ -306,8 +301,6 @@ test "sort" {
306}301}
307302
308test "sort descending" {303test "sort descending" {
309 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
310
311 const rev_cases = [_][]const []const i32{304 const rev_cases = [_][]const []const i32{
312 &[_][]const i32{305 &[_][]const i32{
313 &[_]i32{},306 &[_]i32{},
...@@ -347,8 +340,6 @@ test "sort descending" {...@@ -347,8 +340,6 @@ test "sort descending" {
347}340}
348341
349test "sort with context in the middle of a slice" {342test "sort with context in the middle of a slice" {
350 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
351
352 const Context = struct {343 const Context = struct {
353 items: []i32,344 items: []i32,
354345
...@@ -388,8 +379,6 @@ test "sort with context in the middle of a slice" {...@@ -388,8 +379,6 @@ test "sort with context in the middle of a slice" {
388}379}
389380
390test "sort fuzz testing" {381test "sort fuzz testing" {
391 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
392
393 var prng = std.rand.DefaultPrng.init(0x12345678);382 var prng = std.rand.DefaultPrng.init(0x12345678);
394 const random = prng.random();383 const random = prng.random();
395 const test_case_count = 10;384 const test_case_count = 10;
lib/std/time.zig-4
...@@ -122,8 +122,6 @@ pub fn nanoTimestamp() i128 {...@@ -122,8 +122,6 @@ pub fn nanoTimestamp() i128 {
122}122}
123123
124test "timestamp" {124test "timestamp" {
125 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
126
127 const margin = ns_per_ms * 50;125 const margin = ns_per_ms * 50;
128126
129 const time_0 = milliTimestamp();127 const time_0 = milliTimestamp();
...@@ -321,8 +319,6 @@ pub const Timer = struct {...@@ -321,8 +319,6 @@ pub const Timer = struct {
321};319};
322320
323test "Timer + Instant" {321test "Timer + Instant" {
324 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
325
326 const margin = ns_per_ms * 150;322 const margin = ns_per_ms * 150;
327323
328 var timer = try Timer.start();324 var timer = try Timer.start();
lib/std/treap.zig-2
...@@ -350,8 +350,6 @@ const TestTreap = Treap(u64, std.math.order);...@@ -350,8 +350,6 @@ const TestTreap = Treap(u64, std.math.order);
350const TestNode = TestTreap.Node;350const TestNode = TestTreap.Node;
351351
352test "std.Treap: insert, find, replace, remove" {352test "std.Treap: insert, find, replace, remove" {
353 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
354
355 var treap = TestTreap{};353 var treap = TestTreap{};
356 var nodes: [10]TestNode = undefined;354 var nodes: [10]TestNode = undefined;
357355
lib/std/unicode.zig-41
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
1const std = @import("./std.zig");1const std = @import("./std.zig");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const builtin = @import("builtin");
4const testing = std.testing;3const testing = std.testing;
5const mem = std.mem;4const mem = std.mem;
65
...@@ -497,15 +496,11 @@ fn testUtf16CountCodepoints() !void {...@@ -497,15 +496,11 @@ fn testUtf16CountCodepoints() !void {
497}496}
498497
499test "utf16 count codepoints" {498test "utf16 count codepoints" {
500 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
501
502 try testUtf16CountCodepoints();499 try testUtf16CountCodepoints();
503 try comptime testUtf16CountCodepoints();500 try comptime testUtf16CountCodepoints();
504}501}
505502
506test "utf8 encode" {503test "utf8 encode" {
507 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
508
509 try comptime testUtf8Encode();504 try comptime testUtf8Encode();
510 try testUtf8Encode();505 try testUtf8Encode();
511}506}
...@@ -532,8 +527,6 @@ fn testUtf8Encode() !void {...@@ -532,8 +527,6 @@ fn testUtf8Encode() !void {
532}527}
533528
534test "utf8 encode error" {529test "utf8 encode error" {
535 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
536
537 try comptime testUtf8EncodeError();530 try comptime testUtf8EncodeError();
538 try testUtf8EncodeError();531 try testUtf8EncodeError();
539}532}
...@@ -550,8 +543,6 @@ fn testErrorEncode(codePoint: u21, array: []u8, expectedErr: anyerror) !void {...@@ -550,8 +543,6 @@ fn testErrorEncode(codePoint: u21, array: []u8, expectedErr: anyerror) !void {
550}543}
551544
552test "utf8 iterator on ascii" {545test "utf8 iterator on ascii" {
553 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
554
555 try comptime testUtf8IteratorOnAscii();546 try comptime testUtf8IteratorOnAscii();
556 try testUtf8IteratorOnAscii();547 try testUtf8IteratorOnAscii();
557}548}
...@@ -572,8 +563,6 @@ fn testUtf8IteratorOnAscii() !void {...@@ -572,8 +563,6 @@ fn testUtf8IteratorOnAscii() !void {
572}563}
573564
574test "utf8 view bad" {565test "utf8 view bad" {
575 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
576
577 try comptime testUtf8ViewBad();566 try comptime testUtf8ViewBad();
578 try testUtf8ViewBad();567 try testUtf8ViewBad();
579}568}
...@@ -584,8 +573,6 @@ fn testUtf8ViewBad() !void {...@@ -584,8 +573,6 @@ fn testUtf8ViewBad() !void {
584}573}
585574
586test "utf8 view ok" {575test "utf8 view ok" {
587 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
588
589 try comptime testUtf8ViewOk();576 try comptime testUtf8ViewOk();
590 try testUtf8ViewOk();577 try testUtf8ViewOk();
591}578}
...@@ -606,8 +593,6 @@ fn testUtf8ViewOk() !void {...@@ -606,8 +593,6 @@ fn testUtf8ViewOk() !void {
606}593}
607594
608test "validate slice" {595test "validate slice" {
609 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
610
611 try comptime testValidateSlice();596 try comptime testValidateSlice();
612 try testValidateSlice();597 try testValidateSlice();
613598
...@@ -648,8 +633,6 @@ fn testValidateSlice() !void {...@@ -648,8 +633,6 @@ fn testValidateSlice() !void {
648}633}
649634
650test "valid utf8" {635test "valid utf8" {
651 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
652
653 try comptime testValidUtf8();636 try comptime testValidUtf8();
654 try testValidUtf8();637 try testValidUtf8();
655}638}
...@@ -669,8 +652,6 @@ fn testValidUtf8() !void {...@@ -669,8 +652,6 @@ fn testValidUtf8() !void {
669}652}
670653
671test "invalid utf8 continuation bytes" {654test "invalid utf8 continuation bytes" {
672 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
673
674 try comptime testInvalidUtf8ContinuationBytes();655 try comptime testInvalidUtf8ContinuationBytes();
675 try testInvalidUtf8ContinuationBytes();656 try testInvalidUtf8ContinuationBytes();
676}657}
...@@ -703,8 +684,6 @@ fn testInvalidUtf8ContinuationBytes() !void {...@@ -703,8 +684,6 @@ fn testInvalidUtf8ContinuationBytes() !void {
703}684}
704685
705test "overlong utf8 codepoint" {686test "overlong utf8 codepoint" {
706 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
707
708 try comptime testOverlongUtf8Codepoint();687 try comptime testOverlongUtf8Codepoint();
709 try testOverlongUtf8Codepoint();688 try testOverlongUtf8Codepoint();
710}689}
...@@ -718,8 +697,6 @@ fn testOverlongUtf8Codepoint() !void {...@@ -718,8 +697,6 @@ fn testOverlongUtf8Codepoint() !void {
718}697}
719698
720test "misc invalid utf8" {699test "misc invalid utf8" {
721 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
722
723 try comptime testMiscInvalidUtf8();700 try comptime testMiscInvalidUtf8();
724 try testMiscInvalidUtf8();701 try testMiscInvalidUtf8();
725}702}
...@@ -735,8 +712,6 @@ fn testMiscInvalidUtf8() !void {...@@ -735,8 +712,6 @@ fn testMiscInvalidUtf8() !void {
735}712}
736713
737test "utf8 iterator peeking" {714test "utf8 iterator peeking" {
738 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
739
740 try comptime testUtf8Peeking();715 try comptime testUtf8Peeking();
741 try testUtf8Peeking();716 try testUtf8Peeking();
742}717}
...@@ -821,8 +796,6 @@ pub fn utf16leToUtf8(utf8: []u8, utf16le: []const u16) !usize {...@@ -821,8 +796,6 @@ pub fn utf16leToUtf8(utf8: []u8, utf16le: []const u16) !usize {
821}796}
822797
823test "utf16leToUtf8" {798test "utf16leToUtf8" {
824 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
825
826 var utf16le: [2]u16 = undefined;799 var utf16le: [2]u16 = undefined;
827 const utf16le_as_bytes = mem.sliceAsBytes(utf16le[0..]);800 const utf16le_as_bytes = mem.sliceAsBytes(utf16le[0..]);
828801
...@@ -935,8 +908,6 @@ pub fn utf8ToUtf16Le(utf16le: []u16, utf8: []const u8) !usize {...@@ -935,8 +908,6 @@ pub fn utf8ToUtf16Le(utf16le: []u16, utf8: []const u8) !usize {
935}908}
936909
937test "utf8ToUtf16Le" {910test "utf8ToUtf16Le" {
938 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
939
940 var utf16le: [2]u16 = [_]u16{0} ** 2;911 var utf16le: [2]u16 = [_]u16{0} ** 2;
941 {912 {
942 const length = try utf8ToUtf16Le(utf16le[0..], "𐐷");913 const length = try utf8ToUtf16Le(utf16le[0..], "𐐷");
...@@ -955,8 +926,6 @@ test "utf8ToUtf16Le" {...@@ -955,8 +926,6 @@ test "utf8ToUtf16Le" {
955}926}
956927
957test "utf8ToUtf16LeWithNull" {928test "utf8ToUtf16LeWithNull" {
958 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
959
960 {929 {
961 const utf16 = try utf8ToUtf16LeWithNull(testing.allocator, "𐐷");930 const utf16 = try utf8ToUtf16LeWithNull(testing.allocator, "𐐷");
962 defer testing.allocator.free(utf16);931 defer testing.allocator.free(utf16);
...@@ -1015,8 +984,6 @@ fn testCalcUtf16LeLen() !void {...@@ -1015,8 +984,6 @@ fn testCalcUtf16LeLen() !void {
1015}984}
1016985
1017test "calculate utf16 string length of given utf8 string in u16" {986test "calculate utf16 string length of given utf8 string in u16" {
1018 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1019
1020 try testCalcUtf16LeLen();987 try testCalcUtf16LeLen();
1021 try comptime testCalcUtf16LeLen();988 try comptime testCalcUtf16LeLen();
1022}989}
...@@ -1050,8 +1017,6 @@ pub fn fmtUtf16le(utf16le: []const u16) std.fmt.Formatter(formatUtf16le) {...@@ -1050,8 +1017,6 @@ pub fn fmtUtf16le(utf16le: []const u16) std.fmt.Formatter(formatUtf16le) {
1050}1017}
10511018
1052test "fmtUtf16le" {1019test "fmtUtf16le" {
1053 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1054
1055 const expectFmt = std.testing.expectFmt;1020 const expectFmt = std.testing.expectFmt;
1056 try expectFmt("", "{}", .{fmtUtf16le(utf8ToUtf16LeStringLiteral(""))});1021 try expectFmt("", "{}", .{fmtUtf16le(utf8ToUtf16LeStringLiteral(""))});
1057 try expectFmt("foo", "{}", .{fmtUtf16le(utf8ToUtf16LeStringLiteral("foo"))});1022 try expectFmt("foo", "{}", .{fmtUtf16le(utf8ToUtf16LeStringLiteral("foo"))});
...@@ -1065,8 +1030,6 @@ test "fmtUtf16le" {...@@ -1065,8 +1030,6 @@ test "fmtUtf16le" {
1065}1030}
10661031
1067test "utf8ToUtf16LeStringLiteral" {1032test "utf8ToUtf16LeStringLiteral" {
1068 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1069
1070 {1033 {
1071 const bytes = [_:0]u16{1034 const bytes = [_:0]u16{
1072 mem.nativeToLittle(u16, 0x41),1035 mem.nativeToLittle(u16, 0x41),
...@@ -1127,8 +1090,6 @@ fn testUtf8CountCodepoints() !void {...@@ -1127,8 +1090,6 @@ fn testUtf8CountCodepoints() !void {
1127}1090}
11281091
1129test "utf8 count codepoints" {1092test "utf8 count codepoints" {
1130 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1131
1132 try testUtf8CountCodepoints();1093 try testUtf8CountCodepoints();
1133 try comptime testUtf8CountCodepoints();1094 try comptime testUtf8CountCodepoints();
1134}1095}
...@@ -1145,8 +1106,6 @@ fn testUtf8ValidCodepoint() !void {...@@ -1145,8 +1106,6 @@ fn testUtf8ValidCodepoint() !void {
1145}1106}
11461107
1147test "utf8 valid codepoint" {1108test "utf8 valid codepoint" {
1148 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1149
1150 try testUtf8ValidCodepoint();1109 try testUtf8ValidCodepoint();
1151 try comptime testUtf8ValidCodepoint();1110 try comptime testUtf8ValidCodepoint();
1152}1111}
lib/std/zig/CrossTarget.zig-2
...@@ -785,8 +785,6 @@ fn parseOs(result: *CrossTarget, diags: *ParseOptions.Diagnostics, text: []const...@@ -785,8 +785,6 @@ fn parseOs(result: *CrossTarget, diags: *ParseOptions.Diagnostics, text: []const
785}785}
786786
787test "CrossTarget.parse" {787test "CrossTarget.parse" {
788 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
789
790 if (builtin.target.isGnuLibC()) {788 if (builtin.target.isGnuLibC()) {
791 var cross_target = try CrossTarget.parse(.{});789 var cross_target = try CrossTarget.parse(.{});
792 cross_target.setGnuLibCVersion(2, 1, 1);790 cross_target.setGnuLibCVersion(2, 1, 1);
lib/std/zig/Parse.zig-2
...@@ -4102,7 +4102,5 @@ const TokenIndex = Ast.TokenIndex;...@@ -4102,7 +4102,5 @@ const TokenIndex = Ast.TokenIndex;
4102const Token = std.zig.Token;4102const Token = std.zig.Token;
41034103
4104test {4104test {
4105 if (@import("builtin").zig_backend == .stage2_x86_64) return error.SkipZigTest;
4106
4107 _ = @import("parser_test.zig");4105 _ = @import("parser_test.zig");
4108}4106}
lib/std/zig/fmt.zig-3
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const mem = std.mem;2const mem = std.mem;
43
5/// Print the string as a Zig identifier escaping it with @"" syntax if needed.4/// Print the string as a Zig identifier escaping it with @"" syntax if needed.
...@@ -96,8 +95,6 @@ pub fn fmtEscapes(bytes: []const u8) std.fmt.Formatter(stringEscape) {...@@ -96,8 +95,6 @@ pub fn fmtEscapes(bytes: []const u8) std.fmt.Formatter(stringEscape) {
96}95}
9796
98test "escape invalid identifiers" {97test "escape invalid identifiers" {
99 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
100
101 const expectFmt = std.testing.expectFmt;98 const expectFmt = std.testing.expectFmt;
102 try expectFmt("@\"while\"", "{}", .{fmtId("while")});99 try expectFmt("@\"while\"", "{}", .{fmtId("while")});
103 try expectFmt("hello", "{}", .{fmtId("hello")});100 try expectFmt("hello", "{}", .{fmtId("hello")});
lib/std/zig/tokenizer.zig-11
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("../std.zig");1const std = @import("../std.zig");
2const builtin = @import("builtin");
32
4pub const Token = struct {3pub const Token = struct {
5 tag: Tag,4 tag: Tag,
...@@ -1450,8 +1449,6 @@ test "chars" {...@@ -1450,8 +1449,6 @@ test "chars" {
1450}1449}
14511450
1452test "invalid token characters" {1451test "invalid token characters" {
1453 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1454
1455 try testTokenize("#", &.{.invalid});1452 try testTokenize("#", &.{.invalid});
1456 try testTokenize("`", &.{.invalid});1453 try testTokenize("`", &.{.invalid});
1457 try testTokenize("'c", &.{.invalid});1454 try testTokenize("'c", &.{.invalid});
...@@ -1481,8 +1478,6 @@ test "utf8" {...@@ -1481,8 +1478,6 @@ test "utf8" {
1481}1478}
14821479
1483test "invalid utf8" {1480test "invalid utf8" {
1484 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1485
1486 try testTokenize("//\x80", &.{1481 try testTokenize("//\x80", &.{
1487 .invalid,1482 .invalid,
1488 });1483 });
...@@ -1573,8 +1568,6 @@ test "pipe and then invalid" {...@@ -1573,8 +1568,6 @@ test "pipe and then invalid" {
1573}1568}
15741569
1575test "line comment and doc comment" {1570test "line comment and doc comment" {
1576 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1577
1578 try testTokenize("//", &.{});1571 try testTokenize("//", &.{});
1579 try testTokenize("// a / b", &.{});1572 try testTokenize("// a / b", &.{});
1580 try testTokenize("// /", &.{});1573 try testTokenize("// /", &.{});
...@@ -1649,8 +1642,6 @@ test "range literals" {...@@ -1649,8 +1642,6 @@ test "range literals" {
1649}1642}
16501643
1651test "number literals decimal" {1644test "number literals decimal" {
1652 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1653
1654 try testTokenize("0", &.{.number_literal});1645 try testTokenize("0", &.{.number_literal});
1655 try testTokenize("1", &.{.number_literal});1646 try testTokenize("1", &.{.number_literal});
1656 try testTokenize("2", &.{.number_literal});1647 try testTokenize("2", &.{.number_literal});
...@@ -1899,8 +1890,6 @@ test "invalid token with unfinished escape right before eof" {...@@ -1899,8 +1890,6 @@ test "invalid token with unfinished escape right before eof" {
1899}1890}
19001891
1901test "saturating operators" {1892test "saturating operators" {
1902 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1903
1904 try testTokenize("<<", &.{.angle_bracket_angle_bracket_left});1893 try testTokenize("<<", &.{.angle_bracket_angle_bracket_left});
1905 try testTokenize("<<|", &.{.angle_bracket_angle_bracket_left_pipe});1894 try testTokenize("<<|", &.{.angle_bracket_angle_bracket_left_pipe});
1906 try testTokenize("<<|=", &.{.angle_bracket_angle_bracket_left_pipe_equal});1895 try testTokenize("<<|=", &.{.angle_bracket_angle_bracket_left_pipe_equal});
src/arch/x86_64/CodeGen.zig+97-158
...@@ -2895,16 +2895,13 @@ fn airIntCast(self: *Self, inst: Air.Inst.Index) !void {...@@ -2895,16 +2895,13 @@ fn airIntCast(self: *Self, inst: Air.Inst.Index) !void {
2895 }.signedness;2895 }.signedness;
28962896
2897 const src_mcv = try self.resolveInst(ty_op.operand);2897 const src_mcv = try self.resolveInst(ty_op.operand);
2898 const src_storage_bits: u16 = switch (src_mcv) {2898 const src_storage_bits = switch (src_mcv) {
2899 .register, .register_offset => 64,2899 .register, .register_offset => 64,
2900 .register_pair => 128,2900 .load_frame => |frame_addr| self.getFrameAddrSize(frame_addr) * 8,
2901 .load_frame => |frame_addr| @intCast(self.getFrameAddrSize(frame_addr) * 8),
2902 else => src_int_info.bits,2901 else => src_int_info.bits,
2903 };2902 };
29042903
2905 const dst_mcv = if (dst_int_info.bits <= src_storage_bits and2904 const dst_mcv = if (dst_int_info.bits <= src_storage_bits and
2906 std.math.divCeil(u16, dst_int_info.bits, 64) catch unreachable ==
2907 std.math.divCeil(u32, src_storage_bits, 64) catch unreachable and
2908 self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) src_mcv else dst: {2905 self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) src_mcv else dst: {
2909 const dst_mcv = try self.allocRegOrMem(inst, true);2906 const dst_mcv = try self.allocRegOrMem(inst, true);
2910 try self.genCopy(min_ty, dst_mcv, src_mcv);2907 try self.genCopy(min_ty, dst_mcv, src_mcv);
...@@ -2979,21 +2976,8 @@ fn airTrunc(self: *Self, inst: Air.Inst.Index) !void {...@@ -2979,21 +2976,8 @@ fn airTrunc(self: *Self, inst: Air.Inst.Index) !void {
29792976
2980 const dst_mcv = if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv))2977 const dst_mcv = if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv))
2981 src_mcv2978 src_mcv
2982 else if (dst_abi_size <= 8)2979 else
2983 try self.copyToRegisterWithInstTracking(inst, dst_ty, src_mcv)2980 try self.copyToRegisterWithInstTracking(inst, dst_ty, src_mcv);
2984 else if (dst_abi_size <= 16) dst: {
2985 const dst_regs = try self.register_manager.allocRegs(
2986 2,
2987 .{ inst, inst },
2988 abi.RegisterClass.gp,
2989 );
2990 const dst_mcv: MCValue = .{ .register_pair = dst_regs };
2991 const dst_locks = self.register_manager.lockRegsAssumeUnused(2, dst_regs);
2992 defer for (dst_locks) |lock| self.register_manager.unlockReg(lock);
2993
2994 try self.genCopy(dst_ty, dst_mcv, src_mcv);
2995 break :dst dst_mcv;
2996 } else return self.fail("TODO implement trunc from {} to {}", .{ src_ty.fmt(mod), dst_ty.fmt(mod) });
29972981
2998 if (dst_ty.zigTypeTag(mod) == .Vector) {2982 if (dst_ty.zigTypeTag(mod) == .Vector) {
2999 assert(src_ty.zigTypeTag(mod) == .Vector and dst_ty.vectorLen(mod) == src_ty.vectorLen(mod));2983 assert(src_ty.zigTypeTag(mod) == .Vector and dst_ty.vectorLen(mod) == src_ty.vectorLen(mod));
...@@ -3064,15 +3048,14 @@ fn airTrunc(self: *Self, inst: Air.Inst.Index) !void {...@@ -3064,15 +3048,14 @@ fn airTrunc(self: *Self, inst: Air.Inst.Index) !void {
3064 break :result dst_mcv;3048 break :result dst_mcv;
3065 }3049 }
30663050
3051 if (dst_abi_size > 8) {
3052 return self.fail("TODO implement trunc for abi sizes larger than 8", .{});
3053 }
3054
3067 // when truncating a `u16` to `u5`, for example, those top 3 bits in the result3055 // when truncating a `u16` to `u5`, for example, those top 3 bits in the result
3068 // have to be removed. this only happens if the dst if not a power-of-two size.3056 // have to be removed. this only happens if the dst if not a power-of-two size.
3069 if (dst_abi_size <= 8) {3057 if (self.regExtraBits(dst_ty) > 0)
3070 if (self.regExtraBits(dst_ty) > 0) try self.truncateRegister(dst_ty, dst_mcv.register.to64());3058 try self.truncateRegister(dst_ty, dst_mcv.register.to64());
3071 } else if (dst_abi_size <= 16) {
3072 const dst_info = dst_ty.intInfo(mod);
3073 const high_ty = try mod.intType(dst_info.signedness, dst_info.bits - 64);
3074 if (self.regExtraBits(high_ty) > 0) try self.truncateRegister(high_ty, dst_mcv.register_pair[1].to64());
3075 }
30763059
3077 break :result dst_mcv;3060 break :result dst_mcv;
3078 };3061 };
...@@ -3395,7 +3378,7 @@ fn airMulSat(self: *Self, inst: Air.Inst.Index) !void {...@@ -3395,7 +3378,7 @@ fn airMulSat(self: *Self, inst: Air.Inst.Index) !void {
3395 const cc: Condition = if (ty.isSignedInt(mod)) cc: {3378 const cc: Condition = if (ty.isSignedInt(mod)) cc: {
3396 try self.genSetReg(limit_reg, ty, lhs_mcv);3379 try self.genSetReg(limit_reg, ty, lhs_mcv);
3397 try self.genBinOpMir(.{ ._, .xor }, ty, limit_mcv, rhs_mcv);3380 try self.genBinOpMir(.{ ._, .xor }, ty, limit_mcv, rhs_mcv);
3398 try self.genShiftBinOpMir(.{ ._r, .sa }, ty, limit_mcv, .{ .immediate = reg_bits - 1 });3381 try self.genShiftBinOpMir(.{ ._, .sa }, ty, limit_mcv, .{ .immediate = reg_bits - 1 });
3399 try self.genBinOpMir(.{ ._, .xor }, ty, limit_mcv, .{3382 try self.genBinOpMir(.{ ._, .xor }, ty, limit_mcv, .{
3400 .immediate = (@as(u64, 1) << @intCast(reg_bits - 1)) - 1,3383 .immediate = (@as(u64, 1) << @intCast(reg_bits - 1)) - 1,
3401 });3384 });
...@@ -3663,10 +3646,7 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void {...@@ -3663,10 +3646,7 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void {
3663 },3646 },
3664 else => {3647 else => {
3665 // For now, this is the only supported multiply that doesn't fit in a register.3648 // For now, this is the only supported multiply that doesn't fit in a register.
3666 if (dst_info.bits > 128 or src_bits != 64)3649 assert(dst_info.bits <= 128 and src_bits == 64);
3667 return self.fail("TODO implement airWithOverflow from {} to {}", .{
3668 src_ty.fmt(mod), dst_ty.fmt(mod),
3669 });
36703650
3671 const frame_index =3651 const frame_index =
3672 try self.allocFrameIndex(FrameAlloc.initType(tuple_ty, mod));3652 try self.allocFrameIndex(FrameAlloc.initType(tuple_ty, mod));
...@@ -3818,13 +3798,11 @@ fn airShlSat(self: *Self, inst: Air.Inst.Index) !void {...@@ -3818,13 +3798,11 @@ fn airShlSat(self: *Self, inst: Air.Inst.Index) !void {
3818}3798}
38193799
3820fn airOptionalPayload(self: *Self, inst: Air.Inst.Index) !void {3800fn airOptionalPayload(self: *Self, inst: Air.Inst.Index) !void {
3821 const mod = self.bin_file.options.module.?;
3822 const ty_op = self.air.instructions.items(.data)[inst].ty_op;3801 const ty_op = self.air.instructions.items(.data)[inst].ty_op;
3823 const result: MCValue = result: {3802 const result: MCValue = result: {
3824 const pl_ty = self.typeOfIndex(inst);3803 const pl_ty = self.typeOfIndex(inst);
3825 if (!pl_ty.hasRuntimeBitsIgnoreComptime(mod)) break :result .none;
3826
3827 const opt_mcv = try self.resolveInst(ty_op.operand);3804 const opt_mcv = try self.resolveInst(ty_op.operand);
3805
3828 if (self.reuseOperand(inst, ty_op.operand, 0, opt_mcv)) {3806 if (self.reuseOperand(inst, ty_op.operand, 0, opt_mcv)) {
3829 switch (opt_mcv) {3807 switch (opt_mcv) {
3830 .register => |reg| try self.truncateRegister(pl_ty, reg),3808 .register => |reg| try self.truncateRegister(pl_ty, reg),
...@@ -4444,46 +4422,42 @@ fn airPtrElemVal(self: *Self, inst: Air.Inst.Index) !void {...@@ -4444,46 +4422,42 @@ fn airPtrElemVal(self: *Self, inst: Air.Inst.Index) !void {
4444 // this is identical to the `airPtrElemPtr` codegen expect here an4422 // this is identical to the `airPtrElemPtr` codegen expect here an
4445 // additional `mov` is needed at the end to get the actual value4423 // additional `mov` is needed at the end to get the actual value
44464424
4447 const result = result: {4425 const elem_ty = ptr_ty.elemType2(mod);
4448 const elem_ty = ptr_ty.elemType2(mod);4426 const elem_abi_size: u32 = @intCast(elem_ty.abiSize(mod));
4449 if (!elem_ty.hasRuntimeBitsIgnoreComptime(mod)) break :result .none;4427 const index_ty = self.typeOf(bin_op.rhs);
44504428 const index_mcv = try self.resolveInst(bin_op.rhs);
4451 const elem_abi_size: u32 = @intCast(elem_ty.abiSize(mod));4429 const index_lock = switch (index_mcv) {
4452 const index_ty = self.typeOf(bin_op.rhs);4430 .register => |reg| self.register_manager.lockRegAssumeUnused(reg),
4453 const index_mcv = try self.resolveInst(bin_op.rhs);4431 else => null,
4454 const index_lock = switch (index_mcv) {4432 };
4455 .register => |reg| self.register_manager.lockRegAssumeUnused(reg),4433 defer if (index_lock) |lock| self.register_manager.unlockReg(lock);
4456 else => null,
4457 };
4458 defer if (index_lock) |lock| self.register_manager.unlockReg(lock);
44594434
4460 const offset_reg = try self.elemOffset(index_ty, index_mcv, elem_abi_size);4435 const offset_reg = try self.elemOffset(index_ty, index_mcv, elem_abi_size);
4461 const offset_lock = self.register_manager.lockRegAssumeUnused(offset_reg);4436 const offset_lock = self.register_manager.lockRegAssumeUnused(offset_reg);
4462 defer self.register_manager.unlockReg(offset_lock);4437 defer self.register_manager.unlockReg(offset_lock);
44634438
4464 const ptr_mcv = try self.resolveInst(bin_op.lhs);4439 const ptr_mcv = try self.resolveInst(bin_op.lhs);
4465 const elem_ptr_reg = if (ptr_mcv.isRegister() and self.liveness.operandDies(inst, 0))4440 const elem_ptr_reg = if (ptr_mcv.isRegister() and self.liveness.operandDies(inst, 0))
4466 ptr_mcv.register4441 ptr_mcv.register
4467 else4442 else
4468 try self.copyToTmpRegister(ptr_ty, ptr_mcv);4443 try self.copyToTmpRegister(ptr_ty, ptr_mcv);
4469 const elem_ptr_lock = self.register_manager.lockRegAssumeUnused(elem_ptr_reg);4444 const elem_ptr_lock = self.register_manager.lockRegAssumeUnused(elem_ptr_reg);
4470 defer self.register_manager.unlockReg(elem_ptr_lock);4445 defer self.register_manager.unlockReg(elem_ptr_lock);
4471 try self.asmRegisterRegister(4446 try self.asmRegisterRegister(
4472 .{ ._, .add },4447 .{ ._, .add },
4473 elem_ptr_reg,4448 elem_ptr_reg,
4474 offset_reg,4449 offset_reg,
4475 );4450 );
44764451
4477 const dst_mcv = try self.allocRegOrMem(inst, true);4452 const dst_mcv = try self.allocRegOrMem(inst, true);
4478 const dst_lock = switch (dst_mcv) {4453 const dst_lock = switch (dst_mcv) {
4479 .register => |reg| self.register_manager.lockRegAssumeUnused(reg),4454 .register => |reg| self.register_manager.lockRegAssumeUnused(reg),
4480 else => null,4455 else => null,
4481 };
4482 defer if (dst_lock) |lock| self.register_manager.unlockReg(lock);
4483 try self.load(dst_mcv, ptr_ty, .{ .register = elem_ptr_reg });
4484 break :result dst_mcv;
4485 };4456 };
4486 return self.finishAir(inst, result, .{ bin_op.lhs, bin_op.rhs, .none });4457 defer if (dst_lock) |lock| self.register_manager.unlockReg(lock);
4458 try self.load(dst_mcv, ptr_ty, .{ .register = elem_ptr_reg });
4459
4460 return self.finishAir(inst, dst_mcv, .{ bin_op.lhs, bin_op.rhs, .none });
4487}4461}
44884462
4489fn airPtrElemPtr(self: *Self, inst: Air.Inst.Index) !void {4463fn airPtrElemPtr(self: *Self, inst: Air.Inst.Index) !void {
...@@ -4963,7 +4937,7 @@ fn byteSwap(self: *Self, inst: Air.Inst.Index, src_ty: Type, src_mcv: MCValue, m...@@ -4963,7 +4937,7 @@ fn byteSwap(self: *Self, inst: Air.Inst.Index, src_ty: Type, src_mcv: MCValue, m
4963 const mod = self.bin_file.options.module.?;4937 const mod = self.bin_file.options.module.?;
4964 const ty_op = self.air.instructions.items(.data)[inst].ty_op;4938 const ty_op = self.air.instructions.items(.data)[inst].ty_op;
49654939
4966 if (src_ty.zigTypeTag(mod) == .Vector) return self.fail(4940 if (src_ty.zigTypeTag(mod) == .Vector or src_ty.abiSize(mod) > 8) return self.fail(
4967 "TODO implement byteSwap for {}",4941 "TODO implement byteSwap for {}",
4968 .{src_ty.fmt(mod)},4942 .{src_ty.fmt(mod)},
4969 );4943 );
...@@ -5814,17 +5788,15 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn...@@ -5814,17 +5788,15 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn
5814 const ptr_info = ptr_ty.ptrInfo(mod);5788 const ptr_info = ptr_ty.ptrInfo(mod);
58155789
5816 const val_ty = ptr_info.child.toType();5790 const val_ty = ptr_info.child.toType();
5817 if (!val_ty.hasRuntimeBitsIgnoreComptime(mod)) return;
5818 const val_abi_size: u32 = @intCast(val_ty.abiSize(mod));5791 const val_abi_size: u32 = @intCast(val_ty.abiSize(mod));
5819
5820 if (val_abi_size > 8) return self.fail("TODO implement packed load of {}", .{val_ty.fmt(mod)});
5821
5822 const limb_abi_size: u32 = @min(val_abi_size, 8);5792 const limb_abi_size: u32 = @min(val_abi_size, 8);
5823 const limb_abi_bits = limb_abi_size * 8;5793 const limb_abi_bits = limb_abi_size * 8;
5824 const val_byte_off: i32 = @intCast(ptr_info.packed_offset.bit_offset / limb_abi_bits * limb_abi_size);5794 const val_byte_off: i32 = @intCast(ptr_info.packed_offset.bit_offset / limb_abi_bits * limb_abi_size);
5825 const val_bit_off = ptr_info.packed_offset.bit_offset % limb_abi_bits;5795 const val_bit_off = ptr_info.packed_offset.bit_offset % limb_abi_bits;
5826 const val_extra_bits = self.regExtraBits(val_ty);5796 const val_extra_bits = self.regExtraBits(val_ty);
58275797
5798 if (val_abi_size > 8) return self.fail("TODO implement packed load of {}", .{val_ty.fmt(mod)});
5799
5828 const ptr_reg = try self.copyToTmpRegister(ptr_ty, ptr_mcv);5800 const ptr_reg = try self.copyToTmpRegister(ptr_ty, ptr_mcv);
5829 const ptr_lock = self.register_manager.lockRegAssumeUnused(ptr_reg);5801 const ptr_lock = self.register_manager.lockRegAssumeUnused(ptr_reg);
5830 defer self.register_manager.unlockReg(ptr_lock);5802 defer self.register_manager.unlockReg(ptr_lock);
...@@ -5887,7 +5859,6 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn...@@ -5887,7 +5859,6 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn
5887fn load(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) InnerError!void {5859fn load(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) InnerError!void {
5888 const mod = self.bin_file.options.module.?;5860 const mod = self.bin_file.options.module.?;
5889 const dst_ty = ptr_ty.childType(mod);5861 const dst_ty = ptr_ty.childType(mod);
5890 if (!dst_ty.hasRuntimeBitsIgnoreComptime(mod)) return;
5891 switch (ptr_mcv) {5862 switch (ptr_mcv) {
5892 .none,5863 .none,
5893 .unreach,5864 .unreach,
...@@ -5964,7 +5935,6 @@ fn packedStore(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) In...@@ -5964,7 +5935,6 @@ fn packedStore(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) In
5964 const mod = self.bin_file.options.module.?;5935 const mod = self.bin_file.options.module.?;
5965 const ptr_info = ptr_ty.ptrInfo(mod);5936 const ptr_info = ptr_ty.ptrInfo(mod);
5966 const src_ty = ptr_ty.childType(mod);5937 const src_ty = ptr_ty.childType(mod);
5967 if (!src_ty.hasRuntimeBitsIgnoreComptime(mod)) return;
59685938
5969 const limb_abi_size: u16 = @min(ptr_info.packed_offset.host_size, 8);5939 const limb_abi_size: u16 = @min(ptr_info.packed_offset.host_size, 8);
5970 const limb_abi_bits = limb_abi_size * 8;5940 const limb_abi_bits = limb_abi_size * 8;
...@@ -6036,7 +6006,6 @@ fn packedStore(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) In...@@ -6036,7 +6006,6 @@ fn packedStore(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) In
6036fn store(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) InnerError!void {6006fn store(self: *Self, ptr_ty: Type, ptr_mcv: MCValue, src_mcv: MCValue) InnerError!void {
6037 const mod = self.bin_file.options.module.?;6007 const mod = self.bin_file.options.module.?;
6038 const src_ty = ptr_ty.childType(mod);6008 const src_ty = ptr_ty.childType(mod);
6039 if (!src_ty.hasRuntimeBitsIgnoreComptime(mod)) return;
6040 switch (ptr_mcv) {6009 switch (ptr_mcv) {
6041 .none,6010 .none,
6042 .unreach,6011 .unreach,
...@@ -10507,44 +10476,39 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {...@@ -10507,44 +10476,39 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
10507 },10476 },
10508 else => return self.fail("invalid constraint: '{s}'", .{constraint}),10477 else => return self.fail("invalid constraint: '{s}'", .{constraint}),
10509 };10478 };
10510 const arg_mcv: MCValue = arg_mcv: {10479 const arg_maybe_reg: ?Register = if (mem.eql(u8, constraint[1..], "r"))
10511 const arg_maybe_reg: ?Register = if (mem.eql(u8, constraint[1..], "r"))10480 self.register_manager.tryAllocReg(maybe_inst, self.regClassForType(ty)) orelse
10512 self.register_manager.tryAllocReg(maybe_inst, self.regClassForType(ty)) orelse10481 return self.fail("ran out of registers lowering inline asm", .{})
10513 return self.fail("ran out of registers lowering inline asm", .{})10482 else if (mem.eql(u8, constraint[1..], "m"))
10514 else if (mem.eql(u8, constraint[1..], "m"))10483 if (output != .none) null else return self.fail(
10515 if (output != .none) null else return self.fail(10484 "memory constraint unsupported for asm result: '{s}'",
10516 "memory constraint unsupported for asm result: '{s}'",10485 .{constraint},
10517 .{constraint},10486 )
10518 )10487 else if (mem.eql(u8, constraint[1..], "g") or
10519 else if (mem.eql(u8, constraint[1..], "g") or10488 mem.eql(u8, constraint[1..], "rm") or mem.eql(u8, constraint[1..], "mr") or
10520 mem.eql(u8, constraint[1..], "rm") or mem.eql(u8, constraint[1..], "mr") or10489 mem.eql(u8, constraint[1..], "r,m") or mem.eql(u8, constraint[1..], "m,r"))
10521 mem.eql(u8, constraint[1..], "r,m") or mem.eql(u8, constraint[1..], "m,r"))10490 self.register_manager.tryAllocReg(maybe_inst, self.regClassForType(ty)) orelse
10522 self.register_manager.tryAllocReg(maybe_inst, self.regClassForType(ty)) orelse10491 if (output != .none)
10523 if (output != .none)10492 null
10524 null10493 else
10525 else10494 return self.fail("ran out of registers lowering inline asm", .{})
10526 return self.fail("ran out of registers lowering inline asm", .{})10495 else if (mem.startsWith(u8, constraint[1..], "{") and mem.endsWith(u8, constraint[1..], "}"))
10527 else if (mem.startsWith(u8, constraint[1..], "{") and mem.endsWith(u8, constraint[1..], "}"))10496 parseRegName(constraint[1 + "{".len .. constraint.len - "}".len]) orelse
10528 parseRegName(constraint[1 + "{".len .. constraint.len - "}".len]) orelse10497 return self.fail("invalid register constraint: '{s}'", .{constraint})
10529 return self.fail("invalid register constraint: '{s}'", .{constraint})10498 else
10530 else if (constraint.len == 2 and std.ascii.isDigit(constraint[1])) {10499 return self.fail("invalid constraint: '{s}'", .{constraint});
10531 const index = std.fmt.charToDigit(constraint[0], 10) catch unreachable;10500 const arg_mcv: MCValue = if (arg_maybe_reg) |reg| .{ .register = reg } else arg: {
10532 if (index >= args.items.len) return self.fail("constraint out of bounds: '{s}'", .{constraint});10501 const ptr_mcv = try self.resolveInst(output);
10533 break :arg_mcv args.items[index];10502 switch (ptr_mcv) {
10534 } else return self.fail("invalid constraint: '{s}'", .{constraint});10503 .immediate => |addr| if (math.cast(i32, @as(i64, @bitCast(addr)))) |_|
10535 break :arg_mcv if (arg_maybe_reg) |reg| .{ .register = reg } else arg: {10504 break :arg ptr_mcv.deref(),
10536 const ptr_mcv = try self.resolveInst(output);10505 .register, .register_offset, .lea_frame => break :arg ptr_mcv.deref(),
10537 switch (ptr_mcv) {10506 else => {},
10538 .immediate => |addr| if (math.cast(i32, @as(i64, @bitCast(addr)))) |_|10507 }
10539 break :arg ptr_mcv.deref(),10508 break :arg .{ .indirect = .{ .reg = try self.copyToTmpRegister(Type.usize, ptr_mcv) } };
10540 .register, .register_offset, .lea_frame => break :arg ptr_mcv.deref(),
10541 else => {},
10542 }
10543 break :arg .{ .indirect = .{ .reg = try self.copyToTmpRegister(Type.usize, ptr_mcv) } };
10544 };
10545 };10509 };
10546 if (arg_mcv.getReg()) |reg| if (RegisterManager.indexOfRegIntoTracked(reg)) |_| {10510 if (arg_mcv.getReg()) |reg| if (RegisterManager.indexOfRegIntoTracked(reg)) |_| {
10547 _ = self.register_manager.lockReg(reg);10511 _ = self.register_manager.lockRegAssumeUnused(reg);
10548 };10512 };
10549 if (!mem.eql(u8, name, "_"))10513 if (!mem.eql(u8, name, "_"))
10550 arg_map.putAssumeCapacityNoClobber(name, @intCast(args.items.len));10514 arg_map.putAssumeCapacityNoClobber(name, @intCast(args.items.len));
...@@ -10606,10 +10570,6 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {...@@ -10606,10 +10570,6 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
10606 try self.register_manager.getReg(reg, null);10570 try self.register_manager.getReg(reg, null);
10607 try self.genSetReg(reg, ty, input_mcv);10571 try self.genSetReg(reg, ty, input_mcv);
10608 break :arg .{ .register = reg };10572 break :arg .{ .register = reg };
10609 } else if (constraint.len == 1 and std.ascii.isDigit(constraint[0])) arg: {
10610 const index = std.fmt.charToDigit(constraint[0], 10) catch unreachable;
10611 if (index >= args.items.len) return self.fail("constraint out of bounds: '{s}'", .{constraint});
10612 break :arg args.items[index];
10613 } else return self.fail("invalid constraint: '{s}'", .{constraint});10573 } else return self.fail("invalid constraint: '{s}'", .{constraint});
10614 if (arg_mcv.getReg()) |reg| if (RegisterManager.indexOfRegIntoTracked(reg)) |_| {10574 if (arg_mcv.getReg()) |reg| if (RegisterManager.indexOfRegIntoTracked(reg)) |_| {
10615 _ = self.register_manager.lockReg(reg);10575 _ = self.register_manager.lockReg(reg);
...@@ -10735,7 +10695,7 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {...@@ -10735,7 +10695,7 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
10735 mnem_name[mnem_prefix.len .. mnem_name.len - mnem_suffix.len],10695 mnem_name[mnem_prefix.len .. mnem_name.len - mnem_suffix.len],
10736 ) orelse continue };10696 ) orelse continue };
10737 } else {10697 } else {
10738 assert(prefix != .none); // no combination of fixes produced a known mnemonic10698 assert(prefix != .none);
10739 return self.fail("invalid prefix for mnemonic: '{s} {s}'", .{10699 return self.fail("invalid prefix for mnemonic: '{s} {s}'", .{
10740 @tagName(prefix), mnem_str,10700 @tagName(prefix), mnem_str,
10741 });10701 });
...@@ -10966,7 +10926,6 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {...@@ -10966,7 +10926,6 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
1096610926
10967 if (output == .none) continue;10927 if (output == .none) continue;
10968 if (arg_mcv != .register) continue;10928 if (arg_mcv != .register) continue;
10969 if (constraint.len == 2 and std.ascii.isDigit(constraint[1])) continue;
10970 try self.store(self.typeOf(output), .{ .air_ref = output }, arg_mcv);10929 try self.store(self.typeOf(output), .{ .air_ref = output }, arg_mcv);
10971 }10930 }
1097210931
...@@ -11060,7 +11019,6 @@ fn moveStrategy(self: *Self, ty: Type, aligned: bool) !MoveStrategy {...@@ -11060,7 +11019,6 @@ fn moveStrategy(self: *Self, ty: Type, aligned: bool) !MoveStrategy {
11060 else => {},11019 else => {},
11061 },11020 },
11062 .Vector => switch (ty.childType(mod).zigTypeTag(mod)) {11021 .Vector => switch (ty.childType(mod).zigTypeTag(mod)) {
11063 .Bool => return .{ .move = .{ ._, .mov } },
11064 .Int => switch (ty.childType(mod).intInfo(mod).bits) {11022 .Int => switch (ty.childType(mod).intInfo(mod).bits) {
11065 8 => switch (ty.vectorLen(mod)) {11023 8 => switch (ty.vectorLen(mod)) {
11066 1 => if (self.hasFeature(.avx)) return .{ .vex_insert_extract = .{11024 1 => if (self.hasFeature(.avx)) return .{ .vex_insert_extract = .{
...@@ -11326,6 +11284,7 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr...@@ -11326,6 +11284,7 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr
11326 .none,11284 .none,
11327 .unreach,11285 .unreach,
11328 .dead,11286 .dead,
11287 .register_pair,
11329 .register_overflow,11288 .register_overflow,
11330 .reserved_frame,11289 .reserved_frame,
11331 => unreachable,11290 => unreachable,
...@@ -11429,7 +11388,6 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr...@@ -11429,7 +11388,6 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr
11429 },11388 },
11430 .x87, .mmx => unreachable,11389 .x87, .mmx => unreachable,
11431 },11390 },
11432 .register_pair => |src_regs| try self.genSetReg(dst_reg, ty, .{ .register = src_regs[0] }),
11433 .register_offset,11391 .register_offset,
11434 .indirect,11392 .indirect,
11435 .load_frame,11393 .load_frame,
...@@ -11563,13 +11521,10 @@ fn genSetMem(self: *Self, base: Memory.Base, disp: i32, ty: Type, src_mcv: MCVal...@@ -11563,13 +11521,10 @@ fn genSetMem(self: *Self, base: Memory.Base, disp: i32, ty: Type, src_mcv: MCVal
11563 .undef => {},11521 .undef => {},
11564 .immediate => |imm| switch (abi_size) {11522 .immediate => |imm| switch (abi_size) {
11565 1, 2, 4 => {11523 1, 2, 4 => {
11566 const immediate = switch (if (ty.isAbiInt(mod))11524 const immediate = if (ty.isSignedInt(mod))
11567 ty.intInfo(mod).signedness11525 Immediate.s(@truncate(@as(i64, @bitCast(imm))))
11568 else11526 else
11569 .unsigned) {11527 Immediate.u(@as(u32, @intCast(imm)));
11570 .signed => Immediate.s(@truncate(@as(i64, @bitCast(imm)))),
11571 .unsigned => Immediate.u(@as(u32, @intCast(imm))),
11572 };
11573 try self.asmMemoryImmediate(11528 try self.asmMemoryImmediate(
11574 .{ ._, .mov },11529 .{ ._, .mov },
11575 Memory.sib(Memory.PtrSize.fromSize(abi_size), .{ .base = base, .disp = disp }),11530 Memory.sib(Memory.PtrSize.fromSize(abi_size), .{ .base = base, .disp = disp }),
...@@ -11631,35 +11586,19 @@ fn genSetMem(self: *Self, base: Memory.Base, disp: i32, ty: Type, src_mcv: MCVal...@@ -11631,35 +11586,19 @@ fn genSetMem(self: *Self, base: Memory.Base, disp: i32, ty: Type, src_mcv: MCVal
11631 .{ .base = base, .disp = disp + @as(i32, @intCast(src_reg_i * 8)) },11586 .{ .base = base, .disp = disp + @as(i32, @intCast(src_reg_i * 8)) },
11632 ), registerAlias(src_reg, part_size));11587 ), registerAlias(src_reg, part_size));
11633 },11588 },
11634 .register_overflow => |ro| switch (ty.zigTypeTag(mod)) {11589 .register_overflow => |ro| {
11635 .Struct => {11590 try self.genSetMem(
11636 try self.genSetMem(11591 base,
11637 base,11592 disp + @as(i32, @intCast(ty.structFieldOffset(0, mod))),
11638 disp + @as(i32, @intCast(ty.structFieldOffset(0, mod))),11593 ty.structFieldType(0, mod),
11639 ty.structFieldType(0, mod),11594 .{ .register = ro.reg },
11640 .{ .register = ro.reg },11595 );
11641 );11596 try self.genSetMem(
11642 try self.genSetMem(11597 base,
11643 base,11598 disp + @as(i32, @intCast(ty.structFieldOffset(1, mod))),
11644 disp + @as(i32, @intCast(ty.structFieldOffset(1, mod))),11599 ty.structFieldType(1, mod),
11645 ty.structFieldType(1, mod),11600 .{ .eflags = ro.eflags },
11646 .{ .eflags = ro.eflags },11601 );
11647 );
11648 },
11649 .Optional => {
11650 assert(!ty.optionalReprIsPayload(mod));
11651 const child_ty = ty.optionalChild(mod);
11652 try self.genSetMem(base, disp, child_ty, .{ .register = ro.reg });
11653 try self.genSetMem(
11654 base,
11655 disp + @as(i32, @intCast(child_ty.abiSize(mod))),
11656 Type.bool,
11657 .{ .eflags = ro.eflags },
11658 );
11659 },
11660 else => return self.fail("TODO implement genSetMem for {s} of {}", .{
11661 @tagName(src_mcv), ty.fmt(mod),
11662 }),
11663 },11602 },
11664 .register_offset,11603 .register_offset,
11665 .memory,11604 .memory,
src/arch/x86_64/Encoding.zig+3-3
...@@ -232,7 +232,7 @@ pub const Mnemonic = enum {...@@ -232,7 +232,7 @@ pub const Mnemonic = enum {
232 cmp,232 cmp,
233 cmps, cmpsb, cmpsd, cmpsq, cmpsw,233 cmps, cmpsb, cmpsd, cmpsq, cmpsw,
234 cmpxchg, cmpxchg8b, cmpxchg16b,234 cmpxchg, cmpxchg8b, cmpxchg16b,
235 cpuid, cqo, cwd, cwde,235 cqo, cwd, cwde,
236 div,236 div,
237 idiv, imul, int3,237 idiv, imul, int3,
238 ja, jae, jb, jbe, jc, jrcxz, je, jg, jge, jl, jle, jna, jnae, jnb, jnbe,238 ja, jae, jb, jbe, jc, jrcxz, je, jg, jge, jl, jle, jna, jnae, jnb, jnbe,
...@@ -246,7 +246,7 @@ pub const Mnemonic = enum {...@@ -246,7 +246,7 @@ pub const Mnemonic = enum {
246 movsx, movsxd, movzx, mul,246 movsx, movsxd, movzx, mul,
247 neg, nop, not,247 neg, nop, not,
248 @"or",248 @"or",
249 pause, pop, popcnt, push,249 pop, popcnt, push,
250 rcl, rcr, ret, rol, ror,250 rcl, rcr, ret, rol, ror,
251 sal, sar, sbb,251 sal, sar, sbb,
252 scas, scasb, scasd, scasq, scasw,252 scas, scasb, scasd, scasq, scasw,
...@@ -258,7 +258,7 @@ pub const Mnemonic = enum {...@@ -258,7 +258,7 @@ pub const Mnemonic = enum {
258 stos, stosb, stosd, stosq, stosw,258 stos, stosb, stosd, stosq, stosw,
259 @"test", tzcnt,259 @"test", tzcnt,
260 ud2,260 ud2,
261 xadd, xchg, xgetbv, xor,261 xadd, xchg, xor,
262 // X87262 // X87
263 fabs, fchs, ffree, fisttp, fld, fst, fstp,263 fabs, fchs, ffree, fisttp, fld, fst, fstp,
264 // MMX264 // MMX
src/arch/x86_64/Mir.zig-6
...@@ -327,8 +327,6 @@ pub const Inst = struct {...@@ -327,8 +327,6 @@ pub const Inst = struct {
327 /// Compare and exchange327 /// Compare and exchange
328 /// Compare and exchange bytes328 /// Compare and exchange bytes
329 cmpxchg,329 cmpxchg,
330 /// CPU identification
331 cpuid,
332 /// Convert doubleword to quadword330 /// Convert doubleword to quadword
333 cqo,331 cqo,
334 /// Convert word to doubleword332 /// Convert word to doubleword
...@@ -388,8 +386,6 @@ pub const Inst = struct {...@@ -388,8 +386,6 @@ pub const Inst = struct {
388 /// Bitwise logical or of packed single-precision floating-point values386 /// Bitwise logical or of packed single-precision floating-point values
389 /// Bitwise logical or of packed double-precision floating-point values387 /// Bitwise logical or of packed double-precision floating-point values
390 @"or",388 @"or",
391 /// Spin loop hint
392 pause,
393 /// Pop389 /// Pop
394 pop,390 pop,
395 /// Return the count of number of bits set to 1391 /// Return the count of number of bits set to 1
...@@ -441,8 +437,6 @@ pub const Inst = struct {...@@ -441,8 +437,6 @@ pub const Inst = struct {
441 xadd,437 xadd,
442 /// Exchange register/memory with register438 /// Exchange register/memory with register
443 xchg,439 xchg,
444 /// Get value of extended control register
445 xgetbv,
446 /// Logical exclusive-or440 /// Logical exclusive-or
447 /// Bitwise logical xor of packed single-precision floating-point values441 /// Bitwise logical xor of packed single-precision floating-point values
448 /// Bitwise logical xor of packed double-precision floating-point values442 /// Bitwise logical xor of packed double-precision floating-point values
src/arch/x86_64/encodings.zig-6
...@@ -266,8 +266,6 @@ pub const table = [_]Entry{...@@ -266,8 +266,6 @@ pub const table = [_]Entry{
266 .{ .cmpxchg8b, .m, &.{ .m64 }, &.{ 0x0f, 0xc7 }, 1, .none, .none },266 .{ .cmpxchg8b, .m, &.{ .m64 }, &.{ 0x0f, 0xc7 }, 1, .none, .none },
267 .{ .cmpxchg16b, .m, &.{ .m128 }, &.{ 0x0f, 0xc7 }, 1, .long, .none },267 .{ .cmpxchg16b, .m, &.{ .m128 }, &.{ 0x0f, 0xc7 }, 1, .long, .none },
268268
269 .{ .cpuid, .np, &.{}, &.{ 0x0f, 0xa2 }, 0, .none, .none },
270
271 .{ .div, .m, &.{ .rm8 }, &.{ 0xf6 }, 6, .none, .none },269 .{ .div, .m, &.{ .rm8 }, &.{ 0xf6 }, 6, .none, .none },
272 .{ .div, .m, &.{ .rm8 }, &.{ 0xf6 }, 6, .rex, .none },270 .{ .div, .m, &.{ .rm8 }, &.{ 0xf6 }, 6, .rex, .none },
273 .{ .div, .m, &.{ .rm16 }, &.{ 0xf7 }, 6, .short, .none },271 .{ .div, .m, &.{ .rm16 }, &.{ 0xf7 }, 6, .short, .none },
...@@ -471,8 +469,6 @@ pub const table = [_]Entry{...@@ -471,8 +469,6 @@ pub const table = [_]Entry{
471 .{ .@"or", .rm, &.{ .r32, .rm32 }, &.{ 0x0b }, 0, .none, .none },469 .{ .@"or", .rm, &.{ .r32, .rm32 }, &.{ 0x0b }, 0, .none, .none },
472 .{ .@"or", .rm, &.{ .r64, .rm64 }, &.{ 0x0b }, 0, .long, .none },470 .{ .@"or", .rm, &.{ .r64, .rm64 }, &.{ 0x0b }, 0, .long, .none },
473471
474 .{ .pause, .np, &.{}, &.{ 0xf3, 0x90 }, 0, .none, .none },
475
476 .{ .pop, .o, &.{ .r16 }, &.{ 0x58 }, 0, .short, .none },472 .{ .pop, .o, &.{ .r16 }, &.{ 0x58 }, 0, .short, .none },
477 .{ .pop, .o, &.{ .r64 }, &.{ 0x58 }, 0, .none, .none },473 .{ .pop, .o, &.{ .r64 }, &.{ 0x58 }, 0, .none, .none },
478 .{ .pop, .m, &.{ .rm16 }, &.{ 0x8f }, 0, .short, .none },474 .{ .pop, .m, &.{ .rm16 }, &.{ 0x8f }, 0, .short, .none },
...@@ -809,8 +805,6 @@ pub const table = [_]Entry{...@@ -809,8 +805,6 @@ pub const table = [_]Entry{
809 .{ .xchg, .rm, &.{ .r32, .rm32 }, &.{ 0x87 }, 0, .none, .none },805 .{ .xchg, .rm, &.{ .r32, .rm32 }, &.{ 0x87 }, 0, .none, .none },
810 .{ .xchg, .rm, &.{ .r64, .rm64 }, &.{ 0x87 }, 0, .long, .none },806 .{ .xchg, .rm, &.{ .r64, .rm64 }, &.{ 0x87 }, 0, .long, .none },
811807
812 .{ .xgetbv, .np, &.{}, &.{ 0x0f, 0x01 }, 0, .none, .none },
813
814 .{ .xor, .zi, &.{ .al, .imm8 }, &.{ 0x34 }, 0, .none, .none },808 .{ .xor, .zi, &.{ .al, .imm8 }, &.{ 0x34 }, 0, .none, .none },
815 .{ .xor, .zi, &.{ .ax, .imm16 }, &.{ 0x35 }, 0, .short, .none },809 .{ .xor, .zi, &.{ .ax, .imm16 }, &.{ 0x35 }, 0, .short, .none },
816 .{ .xor, .zi, &.{ .eax, .imm32 }, &.{ 0x35 }, 0, .none, .none },810 .{ .xor, .zi, &.{ .eax, .imm32 }, &.{ 0x35 }, 0, .none, .none },
src/codegen.zig+2-2
...@@ -545,7 +545,7 @@ pub fn generateSymbol(...@@ -545,7 +545,7 @@ pub fn generateSymbol(
545545
546 if (layout.payload_size == 0) {546 if (layout.payload_size == 0) {
547 return generateSymbol(bin_file, src_loc, .{547 return generateSymbol(bin_file, src_loc, .{
548 .ty = typed_value.ty.unionTagTypeSafety(mod).?,548 .ty = typed_value.ty.unionTagType(mod).?,
549 .val = un.tag.toValue(),549 .val = un.tag.toValue(),
550 }, code, debug_output, reloc_info);550 }, code, debug_output, reloc_info);
551 }551 }
...@@ -553,7 +553,7 @@ pub fn generateSymbol(...@@ -553,7 +553,7 @@ pub fn generateSymbol(
553 // Check if we should store the tag first.553 // Check if we should store the tag first.
554 if (layout.tag_size > 0 and layout.tag_align.compare(.gte, layout.payload_align)) {554 if (layout.tag_size > 0 and layout.tag_align.compare(.gte, layout.payload_align)) {
555 switch (try generateSymbol(bin_file, src_loc, .{555 switch (try generateSymbol(bin_file, src_loc, .{
556 .ty = typed_value.ty.unionTagTypeSafety(mod).?,556 .ty = typed_value.ty.unionTagType(mod).?,
557 .val = un.tag.toValue(),557 .val = un.tag.toValue(),
558 }, code, debug_output, reloc_info)) {558 }, code, debug_output, reloc_info)) {
559 .ok => {},559 .ok => {},
test/behavior/basic.zig+1-1
...@@ -745,12 +745,12 @@ test "auto created variables have correct alignment" {...@@ -745,12 +745,12 @@ test "auto created variables have correct alignment" {
745745
746test "extern variable with non-pointer opaque type" {746test "extern variable with non-pointer opaque type" {
747 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO747 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
748 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
748 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO749 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
749 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO750 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
750 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO751 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
751 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO752 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
752 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;753 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
753 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
754754
755 @export(var_to_export, .{ .name = "opaque_extern_var" });755 @export(var_to_export, .{ .name = "opaque_extern_var" });
756 try expect(@as(*align(1) u32, @ptrCast(&opaque_extern_var)).* == 42);756 try expect(@as(*align(1) u32, @ptrCast(&opaque_extern_var)).* == 42);
test/behavior/bitcast.zig+1-2
...@@ -411,9 +411,8 @@ test "bitcast nan float does not modify signaling bit" {...@@ -411,9 +411,8 @@ test "bitcast nan float does not modify signaling bit" {
411 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO411 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
412 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO412 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
413 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO413 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
414 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
414 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;415 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
415 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
416
417 // TODO: https://github.com/ziglang/zig/issues/14366416 // TODO: https://github.com/ziglang/zig/issues/14366
418 if (builtin.zig_backend == .stage2_llvm and comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;417 if (builtin.zig_backend == .stage2_llvm and comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
419418
test/behavior/bugs/6781.zig+1-1
...@@ -64,11 +64,11 @@ pub const JournalHeader = packed struct {...@@ -64,11 +64,11 @@ pub const JournalHeader = packed struct {
64test "fixed" {64test "fixed" {
65 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO65 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
66 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO66 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
67 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
67 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO68 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
68 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO69 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO70 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
70 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;71 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
71 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
7272
73 var buffer align(@alignOf(JournalHeader)) = [_]u8{0} ** 65536;73 var buffer align(@alignOf(JournalHeader)) = [_]u8{0} ** 65536;
74 var entry = std.mem.bytesAsValue(JournalHeader, buffer[0..@sizeOf(JournalHeader)]);74 var entry = std.mem.bytesAsValue(JournalHeader, buffer[0..@sizeOf(JournalHeader)]);
test/behavior/bugs/920.zig+1-1
...@@ -57,11 +57,11 @@ const NormalDist = blk: {...@@ -57,11 +57,11 @@ const NormalDist = blk: {
57};57};
5858
59test "bug 920 fixed" {59test "bug 920 fixed" {
60 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
60 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO61 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
61 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO62 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
62 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO63 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
63 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;64 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
64 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
6565
66 const NormalDist1 = blk: {66 const NormalDist1 = blk: {
67 break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case);67 break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case);
test/behavior/cast.zig+4-3
...@@ -1606,8 +1606,8 @@ test "peer type resolution: const sentinel slice and mutable non-sentinel slice"...@@ -1606,8 +1606,8 @@ test "peer type resolution: const sentinel slice and mutable non-sentinel slice"
1606test "peer type resolution: float and comptime-known fixed-width integer" {1606test "peer type resolution: float and comptime-known fixed-width integer" {
1607 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1607 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1608 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1608 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1609 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1609 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1610 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1610 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
16111611
1612 const i: u8 = 100;1612 const i: u8 = 100;
1613 var f: f32 = 1.234;1613 var f: f32 = 1.234;
...@@ -2372,7 +2372,7 @@ test "@intFromBool on vector" {...@@ -2372,7 +2372,7 @@ test "@intFromBool on vector" {
2372}2372}
23732373
2374test "numeric coercions with undefined" {2374test "numeric coercions with undefined" {
2375 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;2375 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
23762376
2377 const from: i32 = undefined;2377 const from: i32 = undefined;
2378 var to: f32 = from;2378 var to: f32 = from;
...@@ -2383,6 +2383,7 @@ test "numeric coercions with undefined" {...@@ -2383,6 +2383,7 @@ test "numeric coercions with undefined" {
23832383
2384test "15-bit int to float" {2384test "15-bit int to float" {
2385 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;2385 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
2386 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
23862387
2387 var a: u15 = 42;2388 var a: u15 = 42;
2388 var b: f32 = @floatFromInt(a);2389 var b: f32 = @floatFromInt(a);
...@@ -2390,11 +2391,11 @@ test "15-bit int to float" {...@@ -2390,11 +2391,11 @@ test "15-bit int to float" {
2390}2391}
23912392
2392test "@as does not corrupt values with incompatible representations" {2393test "@as does not corrupt values with incompatible representations" {
2394 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
2393 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO2395 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
2394 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO2396 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
2395 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO2397 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2396 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;2398 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2397 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
23982399
2399 const x: f32 = @as(f16, blk: {2400 const x: f32 = @as(f16, blk: {
2400 if (false) {2401 if (false) {
test/behavior/cast_int.zig+1
...@@ -199,6 +199,7 @@ test "load non byte-sized value in union" {...@@ -199,6 +199,7 @@ test "load non byte-sized value in union" {
199 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;199 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
200 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;200 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
201 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;201 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
202 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
202 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;203 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
203204
204 // note: this bug is triggered by the == operator, expectEqual will hide it205 // note: this bug is triggered by the == operator, expectEqual will hide it
test/behavior/fn.zig+1-1
...@@ -425,8 +425,8 @@ test "implicit cast function to function ptr" {...@@ -425,8 +425,8 @@ test "implicit cast function to function ptr" {
425 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO425 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
426 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO426 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
427 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO427 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
428 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
428 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;429 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
429 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
430430
431 const S1 = struct {431 const S1 = struct {
432 export fn someFunctionThatReturnsAValue() c_int {432 export fn someFunctionThatReturnsAValue() c_int {
test/behavior/int128.zig+1
...@@ -66,6 +66,7 @@ test "int128" {...@@ -66,6 +66,7 @@ test "int128" {
6666
67test "truncate int128" {67test "truncate int128" {
68 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO68 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO70 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
70 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO71 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
71 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO72 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/packed-struct.zig+2-2
...@@ -659,12 +659,12 @@ test "optional pointer in packed struct" {...@@ -659,12 +659,12 @@ test "optional pointer in packed struct" {
659test "nested packed struct field access test" {659test "nested packed struct field access test" {
660 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO660 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
661 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO packed structs larger than 64 bits661 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO packed structs larger than 64 bits
662 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
662 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO663 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
663 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO664 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
664 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO665 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
665 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;666 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
666 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;667 //
667
668 const Vec2 = packed struct {668 const Vec2 = packed struct {
669 x: f32,669 x: f32,
670 y: f32,670 y: f32,
test/behavior/translate_c_macros.zig+1-1
...@@ -151,11 +151,11 @@ test "string and char literals that are not UTF-8 encoded. Issue #12784" {...@@ -151,11 +151,11 @@ test "string and char literals that are not UTF-8 encoded. Issue #12784" {
151151
152test "Macro that uses division operator. Issue #13162" {152test "Macro that uses division operator. Issue #13162" {
153 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO153 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
154 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
154 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO155 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
155 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO156 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
156 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO157 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
157 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;158 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
158 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
159159
160 try expectEqual(@as(c_int, 42), h.DIVIDE_CONSTANT(@as(c_int, 42_000)));160 try expectEqual(@as(c_int, 42), h.DIVIDE_CONSTANT(@as(c_int, 42_000)));
161 try expectEqual(@as(c_uint, 42), h.DIVIDE_CONSTANT(@as(c_uint, 42_000)));161 try expectEqual(@as(c_uint, 42), h.DIVIDE_CONSTANT(@as(c_uint, 42_000)));
test/behavior/tuple.zig+1-1
...@@ -370,8 +370,8 @@ test "tuple initialized with a runtime known value" {...@@ -370,8 +370,8 @@ test "tuple initialized with a runtime known value" {
370test "tuple of struct concatenation and coercion to array" {370test "tuple of struct concatenation and coercion to array" {
371 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;371 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
372 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;372 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
373 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
373 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO374 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
374 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
375375
376 const StructWithDefault = struct { value: f32 = 42 };376 const StructWithDefault = struct { value: f32 = 42 };
377 const SomeStruct = struct { array: [4]StructWithDefault };377 const SomeStruct = struct { array: [4]StructWithDefault };
test/behavior/vector.zig+1-1
...@@ -1329,8 +1329,8 @@ test "store to vector in slice" {...@@ -1329,8 +1329,8 @@ test "store to vector in slice" {
1329 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1329 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1330 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1330 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1331 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1331 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1332 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1332 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1333 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1333 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf) return error.SkipZigTest;
13341334
1335 var v = [_]@Vector(3, f32){1335 var v = [_]@Vector(3, f32){
1336 .{ 1, 1, 1 },1336 .{ 1, 1, 1 },
test/tests.zig+3-7
...@@ -985,9 +985,7 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step {...@@ -985,9 +985,7 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step {
985 continue;985 continue;
986986
987 // TODO get compiler-rt tests passing for self-hosted backends.987 // TODO get compiler-rt tests passing for self-hosted backends.
988 if ((test_target.target.getCpuArch() != .x86_64 or988 if (test_target.use_llvm == false and mem.eql(u8, options.name, "compiler-rt"))
989 test_target.target.getObjectFormat() != .elf) and
990 test_target.use_llvm == false and mem.eql(u8, options.name, "compiler-rt"))
991 continue;989 continue;
992990
993 // TODO get compiler-rt tests passing for wasm32-wasi991 // TODO get compiler-rt tests passing for wasm32-wasi
...@@ -1004,10 +1002,8 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step {...@@ -1004,10 +1002,8 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step {
1004 test_target.use_llvm == false and mem.eql(u8, options.name, "universal-libc"))1002 test_target.use_llvm == false and mem.eql(u8, options.name, "universal-libc"))
1005 continue;1003 continue;
10061004
1007 // TODO get std lib tests passing for other self-hosted backends.1005 // TODO get std lib tests passing for self-hosted backends.
1008 if ((test_target.target.getCpuArch() != .x86_64 or1006 if (test_target.use_llvm == false and mem.eql(u8, options.name, "std"))
1009 test_target.target.getObjectFormat() != .elf) and
1010 test_target.use_llvm == false and mem.eql(u8, options.name, "std"))
1011 continue;1007 continue;
10121008
1013 const want_this_mode = for (options.optimize_modes) |m| {1009 const want_this_mode = for (options.optimize_modes) |m| {
tools/lldb_pretty_printers.py+8-19
...@@ -355,28 +355,17 @@ class Module_Decl__Module_Decl_Index_SynthProvider:...@@ -355,28 +355,17 @@ class Module_Decl__Module_Decl_Index_SynthProvider:
355 def __init__(self, value, _=None): self.value = value355 def __init__(self, value, _=None): self.value = value
356 def update(self):356 def update(self):
357 try:357 try:
358 ip = InternPool_Find(self.value.thread)358 for frame in self.value.thread:
359 if not ip: return359 mod = frame.FindVariable('mod') or frame.FindVariable('module')
360 self.ptr = ip.GetChildMemberWithName('allocated_decls').GetChildAtIndex(self.value.unsigned).address_of.Clone('decl')360 if mod: break
361 else: return
362 self.ptr = mod.GetChildMemberWithName('allocated_decls').GetChildAtIndex(self.value.unsigned).address_of.Clone('decl')
361 except: pass363 except: pass
362 def has_children(self): return True364 def has_children(self): return True
363 def num_children(self): return 1365 def num_children(self): return 1
364 def get_child_index(self, name): return 0 if name == 'decl' else -1366 def get_child_index(self, name): return 0 if name == 'decl' else -1
365 def get_child_at_index(self, index): return self.ptr if index == 0 else None367 def get_child_at_index(self, index): return self.ptr if index == 0 else None
366368
367class Module_Namespace__Module_Namespace_Index_SynthProvider:
368 def __init__(self, value, _=None): self.value = value
369 def update(self):
370 try:
371 ip = InternPool_Find(self.value.thread)
372 if not ip: return
373 self.ptr = ip.GetChildMemberWithName('allocated_namespaces').GetChildAtIndex(self.value.unsigned).address_of.Clone('namespace')
374 except: pass
375 def has_children(self): return True
376 def num_children(self): return 1
377 def get_child_index(self, name): return 0 if name == 'namespace' else -1
378 def get_child_at_index(self, index): return self.ptr if index == 0 else None
379
380class TagOrPayloadPtr_SynthProvider:369class TagOrPayloadPtr_SynthProvider:
381 def __init__(self, value, _=None): self.value = value370 def __init__(self, value, _=None): self.value = value
382 def update(self):371 def update(self):
...@@ -451,9 +440,10 @@ class InternPool_Index_SynthProvider:...@@ -451,9 +440,10 @@ class InternPool_Index_SynthProvider:
451 for encoding_field in encoding_type.fields:440 for encoding_field in encoding_type.fields:
452 if encoding_field.name == 'data':441 if encoding_field.name == 'data':
453 if encoding_field.type.IsPointerType():442 if encoding_field.type.IsPointerType():
443 data_type = encoding_field.type.GetPointeeType()
454 extra_index = data.unsigned444 extra_index = data.unsigned
455 self.data = extra.GetChildAtIndex(extra_index).address_of.Cast(encoding_field.type).deref.Clone('data')445 self.data = extra.GetChildAtIndex(extra_index).Cast(data_type).Clone('data')
456 extra_index += encoding_field.type.GetPointeeType().num_fields446 extra_index += data_type.num_fields
457 else:447 else:
458 self.data = data.Cast(encoding_field.type).Clone('data')448 self.data = data.Cast(encoding_field.type).Clone('data')
459 elif encoding_field.name == 'trailing':449 elif encoding_field.name == 'trailing':
...@@ -710,7 +700,6 @@ def __lldb_init_module(debugger, _=None):...@@ -710,7 +700,6 @@ def __lldb_init_module(debugger, _=None):
710 add(debugger, category='zig.stage2', regex=True, type=MultiArrayList_Entry('Air\\.Inst'), identifier='TagAndPayload', synth=True, inline_children=True, summary=True)700 add(debugger, category='zig.stage2', regex=True, type=MultiArrayList_Entry('Air\\.Inst'), identifier='TagAndPayload', synth=True, inline_children=True, summary=True)
711 add(debugger, category='zig.stage2', regex=True, type='^Air\\.Inst\\.Data\\.Data__struct_[1-9][0-9]*$', inline_children=True, summary=True)701 add(debugger, category='zig.stage2', regex=True, type='^Air\\.Inst\\.Data\\.Data__struct_[1-9][0-9]*$', inline_children=True, summary=True)
712 add(debugger, category='zig.stage2', type='Module.Decl::Module.Decl.Index', synth=True)702 add(debugger, category='zig.stage2', type='Module.Decl::Module.Decl.Index', synth=True)
713 add(debugger, category='zig.stage2', type='Module.Namespace::Module.Namespace.Index', synth=True)
714 add(debugger, category='zig.stage2', type='Module.LazySrcLoc', identifier='zig_TaggedUnion', synth=True)703 add(debugger, category='zig.stage2', type='Module.LazySrcLoc', identifier='zig_TaggedUnion', synth=True)
715 add(debugger, category='zig.stage2', type='InternPool.Index', synth=True)704 add(debugger, category='zig.stage2', type='InternPool.Index', synth=True)
716 add(debugger, category='zig.stage2', type='InternPool.NullTerminatedString', summary=True)705 add(debugger, category='zig.stage2', type='InternPool.NullTerminatedString', summary=True)