summaryrefslogtreecommitdiffhomepage
path: root/tests/custom/03_bugs/22_compiler_break_continue_scoping
diff options
context:
space:
mode:
Diffstat (limited to 'tests/custom/03_bugs/22_compiler_break_continue_scoping')
-rw-r--r--tests/custom/03_bugs/22_compiler_break_continue_scoping59
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 --