diff --git a/test/stage2/wasm.zig b/test/stage2/wasm.zig index f746be99d2..b0099c392c 100644 --- a/test/stage2/wasm.zig +++ b/test/stage2/wasm.zig @@ -113,6 +113,13 @@ pub fn addCases(ctx: *TestContext) !void { \\} , "25\n"); + case.addCompareOutput( + \\pub export fn _start() i32 { + \\ var i: i32 = 2147483647; + \\ return i +% 1; + \\} + , "-2147483648\n"); + case.addCompareOutput( \\pub export fn _start() u32 { \\ var i: u32 = 5; @@ -133,6 +140,13 @@ pub fn addCases(ctx: *TestContext) !void { \\} , "15\n"); + case.addCompareOutput( + \\pub export fn _start() i32 { + \\ var i: i32 = -2147483648; + \\ return i -% 1; + \\} + , "2147483647\n"); + case.addCompareOutput( \\pub export fn _start() u32 { \\ var i: u32 = 5; @@ -157,6 +171,13 @@ pub fn addCases(ctx: *TestContext) !void { \\} , "350\n"); + case.addCompareOutput( + \\pub export fn _start() i32 { + \\ var i: i32 = 2147483647; + \\ return i *% 2; + \\} + , "-2\n"); + case.addCompareOutput( \\pub export fn _start() u32 { \\ var i: u32 = 352; @@ -612,4 +633,15 @@ pub fn addCases(ctx: *TestContext) !void { \\} , "42\n"); } + + { + var case = ctx.exe("wasm integer widening", wasi); + + case.addCompareOutput( + \\pub export fn _start() u64 { + \\ var x: u32 = 5; + \\ return x; + \\} + , "5\n"); + } }