MODULE local_array_bug; (* Repro: a local ARRAY inside a PROCEDURE is miscompiled by V3. Expected exit 60; observed 1 (as of v3-ast-slice5, 2026-10-03). Found while self-hosting the two-phase statement AST (IfStat used a local ARRAY OF AST.Node); moved to module scope to keep the fixpoint green. Module-level arrays work; local ones do not. *) VAR ExitCode : INTEGER; PROCEDURE P; VAR a : ARRAY [0..3] OF INTEGER; i : INTEGER; BEGIN i := 0; WHILE i < 4 DO a[i] := i * 10; INC(i) END; ExitCode := a[0] + a[1] + a[2] + a[3] (* 0+10+20+30 = 60 *) END P; BEGIN P END local_array_bug.