authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-06-07 17:58:18-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-06-09 15:37:16-07:00
log83f300218f1a35a32d80e92179011db44ac83d05
treecd44229f67b8d4de83328039c1e5af29cbacf8de
parentbac132bc8fb320620ca5ad554ce515ccb7e4dad1

upgrade behavior test to stage2 fn ptr semantics


1 files changed, 17 insertions(+), 3 deletions(-)

test/behavior/bugs/920.zig+17-3
......@@ -1,14 +1,24 @@
1const builtin = @import("builtin");
12const std = @import("std");
23const Random = std.rand.Random;
34
5const zeroCaseFn = switch (builtin.zig_backend) {
6 .stage1 => fn (*Random, f64) f64,
7 else => *const fn (*Random, f64) f64,
8};
9const pdfFn = switch (builtin.zig_backend) {
10 .stage1 => fn (f64) f64,
11 else => *const fn (f64) f64,
12};
13
414const ZigTable = struct {
515 r: f64,
616 x: [257]f64,
717 f: [257]f64,
818
9 pdf: fn (f64) f64,
19 pdf: pdfFn,
1020 is_symmetric: bool,
11 zero_case: fn (*Random, f64) f64,
21 zero_case: zeroCaseFn,
1222};
1323
1424fn ZigTableGen(comptime is_symmetric: bool, comptime r: f64, comptime v: f64, comptime f: fn (f64) f64, comptime f_inv: fn (f64) f64, comptime zero_case: fn (*Random, f64) f64) ZigTable {
......@@ -56,7 +66,11 @@ const NormalDist = blk: {
5666};
5767
5868test "bug 920 fixed" {
59 if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO
69 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
70 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
71 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
72 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
73 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
6074
6175 const NormalDist1 = blk: {
6276 break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case);