diff --git a/test/behavior/bugs/920.zig b/test/behavior/bugs/920.zig index 19fce71549..7dae996dac 100644 --- a/test/behavior/bugs/920.zig +++ b/test/behavior/bugs/920.zig @@ -1,14 +1,24 @@ +const builtin = @import("builtin"); const std = @import("std"); const Random = std.rand.Random; +const zeroCaseFn = switch (builtin.zig_backend) { + .stage1 => fn (*Random, f64) f64, + else => *const fn (*Random, f64) f64, +}; +const pdfFn = switch (builtin.zig_backend) { + .stage1 => fn (f64) f64, + else => *const fn (f64) f64, +}; + const ZigTable = struct { r: f64, x: [257]f64, f: [257]f64, - pdf: fn (f64) f64, + pdf: pdfFn, is_symmetric: bool, - zero_case: fn (*Random, f64) f64, + zero_case: zeroCaseFn, }; fn ZigTableGen(comptime is_symmetric: bool, comptime r: f64, comptime v: f64, comptime f: fn (f64) f64, comptime f_inv: fn (f64) f64, comptime zero_case: fn (*Random, f64) f64) ZigTable { @@ -56,7 +66,11 @@ const NormalDist = blk: { }; test "bug 920 fixed" { - if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO const NormalDist1 = blk: { break :blk ZigTableGen(true, norm_r, norm_v, norm_f, norm_f_inv, norm_zero_case);