From 83f300218f1a35a32d80e92179011db44ac83d05 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 7 Jun 2022 17:58:18 -0700 Subject: [PATCH] upgrade behavior test to stage2 fn ptr semantics --- test/behavior/bugs/920.zig | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) 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);