| ... | ... | @@ -244,30 +244,46 @@ pub fn addCases(ctx: *TestContext) !void { |
| 244 | 244 | \\} |
| 245 | 245 | , ""); |
| 246 | 246 | } |
| 247 | | { |
| 248 | | var case = ctx.exeFromCompiledC("optionals", .{}); |
| 247 | //{ |
| 248 | // var case = ctx.exeFromCompiledC("optionals", .{}); |
| 249 | 249 | |
| 250 | | // Simple while loop |
| 251 | | case.addCompareOutput( |
| 252 | | \\export fn main() c_int { |
| 253 | | \\ var count: c_int = 0; |
| 254 | | \\ var opt_ptr: ?*c_int = &count; |
| 255 | | \\ while (opt_ptr) |_| : (count += 1) { |
| 256 | | \\ if (count == 4) opt_ptr = null; |
| 257 | | \\ } |
| 258 | | \\ return count - 5; |
| 259 | | \\} |
| 260 | | , ""); |
| 250 | // // Simple while loop |
| 251 | // case.addCompareOutput( |
| 252 | // \\export fn main() c_int { |
| 253 | // \\ var count: c_int = 0; |
| 254 | // \\ var opt_ptr: ?*c_int = &count; |
| 255 | // \\ while (opt_ptr) |_| : (count += 1) { |
| 256 | // \\ if (count == 4) opt_ptr = null; |
| 257 | // \\ } |
| 258 | // \\ return count - 5; |
| 259 | // \\} |
| 260 | // , ""); |
| 261 | 261 | |
| 262 | | // Same with non pointer optionals |
| 262 | // // Same with non pointer optionals |
| 263 | // case.addCompareOutput( |
| 264 | // \\export fn main() c_int { |
| 265 | // \\ var count: c_int = 0; |
| 266 | // \\ var opt_ptr: ?c_int = count; |
| 267 | // \\ while (opt_ptr) |_| : (count += 1) { |
| 268 | // \\ if (count == 4) opt_ptr = null; |
| 269 | // \\ } |
| 270 | // \\ return count - 5; |
| 271 | // \\} |
| 272 | // , ""); |
| 273 | //} |
| 274 | { |
| 275 | var case = ctx.exeFromCompiledC("errors", .{}); |
| 263 | 276 | case.addCompareOutput( |
| 264 | 277 | \\export fn main() c_int { |
| 265 | | \\ var count: c_int = 0; |
| 266 | | \\ var opt_ptr: ?c_int = count; |
| 267 | | \\ while (opt_ptr) |_| : (count += 1) { |
| 268 | | \\ if (count == 4) opt_ptr = null; |
| 269 | | \\ } |
| 270 | | \\ return count - 5; |
| 278 | \\ var e1 = error.Foo; |
| 279 | \\ var e2 = error.Bar; |
| 280 | \\ assert(e1 != e2); |
| 281 | \\ assert(e1 == error.Foo); |
| 282 | \\ assert(e2 == error.Bar); |
| 283 | \\ return 0; |
| 284 | \\} |
| 285 | \\fn assert(b: bool) void { |
| 286 | \\ if (!b) unreachable; |
| 271 | 287 | \\} |
| 272 | 288 | , ""); |
| 273 | 289 | } |