From 9dfd24a3345c83c9cd32d45bef3076bb94bc0eaa Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 30 Apr 2019 14:17:16 -0400 Subject: [PATCH] add test case to cover solved bug closes #2114 --- test/stage1/behavior.zig | 1 + test/stage1/behavior/bugs/2114.zig | 19 +++++++++++++++++++ test/stage1/behavior/bugs/2346.zig | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 test/stage1/behavior/bugs/2114.zig diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig index 85dd606872..bc3be172ab 100644 --- a/test/stage1/behavior.zig +++ b/test/stage1/behavior.zig @@ -24,6 +24,7 @@ comptime { _ = @import("behavior/bugs/1851.zig"); _ = @import("behavior/bugs/1914.zig"); _ = @import("behavior/bugs/2006.zig"); + _ = @import("behavior/bugs/2114.zig"); _ = @import("behavior/bugs/2346.zig"); _ = @import("behavior/bugs/394.zig"); _ = @import("behavior/bugs/421.zig"); diff --git a/test/stage1/behavior/bugs/2114.zig b/test/stage1/behavior/bugs/2114.zig new file mode 100644 index 0000000000..61ea2675b9 --- /dev/null +++ b/test/stage1/behavior/bugs/2114.zig @@ -0,0 +1,19 @@ +const std = @import("std"); +const expect = std.testing.expect; +const math = std.math; + +fn ctz(x: var) usize { + return @ctz(x); +} + +test "fixed" { + testClz(); + comptime testClz(); +} + +fn testClz() void { + expect(ctz(u128(0x40000000000000000000000000000000)) == 126); + expect(math.rotl(u128, u128(0x40000000000000000000000000000000), u8(1)) == u128(0x80000000000000000000000000000000)); + expect(ctz(u128(0x80000000000000000000000000000000)) == 127); + expect(ctz(math.rotl(u128, u128(0x40000000000000000000000000000000), u8(1))) == 127); +} diff --git a/test/stage1/behavior/bugs/2346.zig b/test/stage1/behavior/bugs/2346.zig index 3d76fc4bfe..c8cea34813 100644 --- a/test/stage1/behavior/bugs/2346.zig +++ b/test/stage1/behavior/bugs/2346.zig @@ -1,6 +1,6 @@ -test "" { +test "fixed" { const a: *void = undefined; const b: *[1]void = a; const c: *[0]u8 = undefined; const d: []u8 = c; -} \ No newline at end of file +}