diff options
Diffstat (limited to 'tests/custom/03_bugs/22_compiler_break_continue_scoping')
-rw-r--r-- | tests/custom/03_bugs/22_compiler_break_continue_scoping | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/tests/custom/03_bugs/22_compiler_break_continue_scoping b/tests/custom/03_bugs/22_compiler_break_continue_scoping deleted file mode 100644 index 461b144..0000000 --- a/tests/custom/03_bugs/22_compiler_break_continue_scoping +++ /dev/null @@ -1,59 +0,0 @@ -When compiling a break or continue statement, the compiler emitted pop -instructions for local variables within the scope the break or continue -keyword appeared in, but it must also pop local variables in enclosing -scopes up until the scope of the containing loop or switch body. - --- Expect stdout -- -1 -2 -3 --- End -- - --- Testcase -- -{% - for (let i = 1; i <= 3; i++) { - while (true) { - let n = i; - - print(n, "\n"); - - { - // The `let n` stack slot is not popped since it is - // outside of break's scope... - break; - } - } - } -%} --- End -- - --- Expect stdout -- -1 -2 -3 -2 -4 -6 -3 -6 -9 --- End -- - --- Testcase -- -{% - for (let i = 1; i <= 3; i++) { - for (let j = 1; j <= 3; j++) { - let n = i * j; - - print(n, "\n"); - - if (j == 1) - { - // The `let n` stack slot is not popped since it is - // outside of continue's scope... - continue; - } - } - } -%} --- End -- |