The following program enters an infinite loop:
MODULE test;
FROM libc IMPORT printf;
VAR
i : CARDINAL;
val : LONGCARD;
BEGIN
val := 9223372036854775808;
i := 0;
REPEAT
INC(i);
val := val DIV 10;
printf("val = %llu\n", val);
UNTIL val = 0;
END test.
With this change it works:
MODULE test;
FROM libc IMPORT printf;
VAR
i : CARDINAL;
val, base : LONGCARD;
BEGIN
val := 9223372036854775808;
base := 10;
i := 0;
REPEAT
INC(i);
val := val DIV base;
printf("val = %llu\n", val);
UNTIL val = 0;
END test.
Is this expected behaviour?
Best regards
Runar Tenfjord