| ... | ... | @@ -113,6 +113,13 @@ pub fn addCases(ctx: *TestContext) !void { |
| 113 | 113 | \\} |
| 114 | 114 | , "25\n"); |
| 115 | 115 | |
| 116 | case.addCompareOutput( |
| 117 | \\pub export fn _start() i32 { |
| 118 | \\ var i: i32 = 2147483647; |
| 119 | \\ return i +% 1; |
| 120 | \\} |
| 121 | , "-2147483648\n"); |
| 122 | |
| 116 | 123 | case.addCompareOutput( |
| 117 | 124 | \\pub export fn _start() u32 { |
| 118 | 125 | \\ var i: u32 = 5; |
| ... | ... | @@ -133,6 +140,13 @@ pub fn addCases(ctx: *TestContext) !void { |
| 133 | 140 | \\} |
| 134 | 141 | , "15\n"); |
| 135 | 142 | |
| 143 | case.addCompareOutput( |
| 144 | \\pub export fn _start() i32 { |
| 145 | \\ var i: i32 = -2147483648; |
| 146 | \\ return i -% 1; |
| 147 | \\} |
| 148 | , "2147483647\n"); |
| 149 | |
| 136 | 150 | case.addCompareOutput( |
| 137 | 151 | \\pub export fn _start() u32 { |
| 138 | 152 | \\ var i: u32 = 5; |
| ... | ... | @@ -157,6 +171,13 @@ pub fn addCases(ctx: *TestContext) !void { |
| 157 | 171 | \\} |
| 158 | 172 | , "350\n"); |
| 159 | 173 | |
| 174 | case.addCompareOutput( |
| 175 | \\pub export fn _start() i32 { |
| 176 | \\ var i: i32 = 2147483647; |
| 177 | \\ return i *% 2; |
| 178 | \\} |
| 179 | , "-2\n"); |
| 180 | |
| 160 | 181 | case.addCompareOutput( |
| 161 | 182 | \\pub export fn _start() u32 { |
| 162 | 183 | \\ var i: u32 = 352; |
| ... | ... | @@ -612,4 +633,15 @@ pub fn addCases(ctx: *TestContext) !void { |
| 612 | 633 | \\} |
| 613 | 634 | , "42\n"); |
| 614 | 635 | } |
| 636 | |
| 637 | { |
| 638 | var case = ctx.exe("wasm integer widening", wasi); |
| 639 | |
| 640 | case.addCompareOutput( |
| 641 | \\pub export fn _start() u64 { |
| 642 | \\ var x: u32 = 5; |
| 643 | \\ return x; |
| 644 | \\} |
| 645 | , "5\n"); |
| 646 | } |
| 615 | 647 | } |