| ... | @@ -479,66 +479,68 @@ pub fn addCases(ctx: *TestContext) !void { | ... | @@ -479,66 +479,68 @@ pub fn addCases(ctx: *TestContext) !void { |
| 479 | , "30\n"); | 479 | , "30\n"); |
| 480 | } | 480 | } |
| 481 | | 481 | |
| 482 | { | 482 | // This test case is disabled until the codegen for switch is reworked |
| 483 | var case = ctx.exe("wasm switch", wasi); | 483 | // to take advantage of br_table rather than a series of br_if opcodes. |
| 484 | | 484 | //{ |
| 485 | case.addCompareOutput( | 485 | // var case = ctx.exe("wasm switch", wasi); |
| 486 | \\pub export fn _start() u32 { | 486 | |
| 487 | \\ var val: u32 = 1; | 487 | // case.addCompareOutput( |
| 488 | \\ var a: u32 = switch (val) { | 488 | // \\pub export fn _start() u32 { |
| 489 | \\ 0, 1 => 2, | 489 | // \\ var val: u32 = 1; |
| 490 | \\ 2 => 3, | 490 | // \\ var a: u32 = switch (val) { |
| 491 | \\ 3 => 4, | 491 | // \\ 0, 1 => 2, |
| 492 | \\ else => 5, | 492 | // \\ 2 => 3, |
| 493 | \\ }; | 493 | // \\ 3 => 4, |
| 494 | \\ | 494 | // \\ else => 5, |
| 495 | \\ return a; | 495 | // \\ }; |
| 496 | \\} | 496 | // \\ |
| 497 | , "2\n"); | 497 | // \\ return a; |
| 498 | | 498 | // \\} |
| 499 | case.addCompareOutput( | 499 | // , "2\n"); |
| 500 | \\pub export fn _start() u32 { | 500 | |
| 501 | \\ var val: u32 = 2; | 501 | // case.addCompareOutput( |
| 502 | \\ var a: u32 = switch (val) { | 502 | // \\pub export fn _start() u32 { |
| 503 | \\ 0, 1 => 2, | 503 | // \\ var val: u32 = 2; |
| 504 | \\ 2 => 3, | 504 | // \\ var a: u32 = switch (val) { |
| 505 | \\ 3 => 4, | 505 | // \\ 0, 1 => 2, |
| 506 | \\ else => 5, | 506 | // \\ 2 => 3, |
| 507 | \\ }; | 507 | // \\ 3 => 4, |
| 508 | \\ | 508 | // \\ else => 5, |
| 509 | \\ return a; | 509 | // \\ }; |
| 510 | \\} | 510 | // \\ |
| 511 | , "3\n"); | 511 | // \\ return a; |
| 512 | | 512 | // \\} |
| 513 | case.addCompareOutput( | 513 | // , "3\n"); |
| 514 | \\pub export fn _start() u32 { | 514 | |
| 515 | \\ var val: u32 = 10; | 515 | // case.addCompareOutput( |
| 516 | \\ var a: u32 = switch (val) { | 516 | // \\pub export fn _start() u32 { |
| 517 | \\ 0, 1 => 2, | 517 | // \\ var val: u32 = 10; |
| 518 | \\ 2 => 3, | 518 | // \\ var a: u32 = switch (val) { |
| 519 | \\ 3 => 4, | 519 | // \\ 0, 1 => 2, |
| 520 | \\ else => 5, | 520 | // \\ 2 => 3, |
| 521 | \\ }; | 521 | // \\ 3 => 4, |
| 522 | \\ | 522 | // \\ else => 5, |
| 523 | \\ return a; | 523 | // \\ }; |
| 524 | \\} | 524 | // \\ |
| 525 | , "5\n"); | 525 | // \\ return a; |
| 526 | | 526 | // \\} |
| 527 | case.addCompareOutput( | 527 | // , "5\n"); |
| 528 | \\const MyEnum = enum { One, Two, Three }; | 528 | |
| 529 | \\ | 529 | // case.addCompareOutput( |
| 530 | \\pub export fn _start() u32 { | 530 | // \\const MyEnum = enum { One, Two, Three }; |
| 531 | \\ var val: MyEnum = .Two; | 531 | // \\ |
| 532 | \\ var a: u32 = switch (val) { | 532 | // \\pub export fn _start() u32 { |
| 533 | \\ .One => 1, | 533 | // \\ var val: MyEnum = .Two; |
| 534 | \\ .Two => 2, | 534 | // \\ var a: u32 = switch (val) { |
| 535 | \\ .Three => 3, | 535 | // \\ .One => 1, |
| 536 | \\ }; | 536 | // \\ .Two => 2, |
| 537 | \\ | 537 | // \\ .Three => 3, |
| 538 | \\ return a; | 538 | // \\ }; |
| 539 | \\} | 539 | // \\ |
| 540 | , "2\n"); | 540 | // \\ return a; |
| 541 | } | 541 | // \\} |
| | 542 | // , "2\n"); |
| | 543 | //} |
| 542 | | 544 | |
| 543 | { | 545 | { |
| 544 | var case = ctx.exe("wasm error unions", wasi); | 546 | var case = ctx.exe("wasm error unions", wasi); |