aboutsummaryrefslogtreecommitdiff
path: root/tests/i/loops
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-16 13:21:05 +0000
committer_ov4 <ov4@ov4.org>2026-10-16 13:21:05 +0000
commite44bdc6a2a0cf624b08046ecc7e5c5d5d9d2d66c (patch)
treef5276cc0dd2f34e4d30a58f80223912265a1c5a0 /tests/i/loops
parente1e789ac0249149a4aa1671f5f9260d488cb617a (diff)
fix(compiler): correct CIE semantics and diagnostic locations
Use standard WHILE headers and default-public class fields, resolve pseudocode identifiers without case sensitivity, and check signed i64 literal boundaries before conversion. Preserve source locations across recursive emission and function diagnostics. Add 22 regression cases and update compiler examples and documentation. Validated all 69 CTest entries with the original Linux Actions seed and verified the release package's embedded, native and IR output paths.
Diffstat (limited to 'tests/i/loops')
-rw-r--r--tests/i/loops/notes.md2
-rw-r--r--tests/i/loops/program.cps4
2 files changed, 3 insertions, 3 deletions
diff --git a/tests/i/loops/notes.md b/tests/i/loops/notes.md
index 6979d92..bdd322a 100644
--- a/tests/i/loops/notes.md
+++ b/tests/i/loops/notes.md
@@ -6,4 +6,4 @@ Basis: CIE pp. 20-21.
Trace: FOR contributions are 0, 2, and 3+1-1=3. WHILE contributes 0+1+2=3. REPEAT contributes 10 once, then counts to 3. Total=18.
-The project requires DO after WHILE; this fixture uses that spelling to exercise runtime semantics. The separate standard-while fixture tests the CIE spelling.
+WHILE headers use the standard CIE spelling without DO. The separate standard-while fixture also checks this syntax.
diff --git a/tests/i/loops/program.cps b/tests/i/loops/program.cps
index a858e6c..d30b463 100644
--- a/tests/i/loops/program.cps
+++ b/tests/i/loops/program.cps
@@ -10,11 +10,11 @@ NEXT I
FOR I <- 3 TO -1 STEP -2
Total <- Total + I
NEXT I
-WHILE FALSE DO
+WHILE FALSE
Total <- Total + 1000
ENDWHILE
I <- 0
-WHILE I < 3 DO
+WHILE I < 3
Total <- Total + I
I <- I + 1
ENDWHILE