for-loops and subrange types

Waldek Hebisch hebisch at
Fri Apr 26 22:22:58 CEST 2013

> Hi,
> Can anyone here offer some insights regarding the standard conformance of the test program submitted at ? (range.p)
> Both FPC and GPC cause the program to abort with a range check error, while the submitter is of the opinion that the for-loop should merely short-circuit and never executed instead.

AFAICS he is right.  ISO-10206 clause says:

: The initial-value and the final-value of a sequence-iteration
: of an iteration-clause of a for-statement shall be of a type
: compatible with the type of control-variable of the for-statement.
: The initial-value and the final-value shall be
: assignment-compatible with the type possesed by the
: control-variable if the statement of the for-statement
: is executed.

Compatible type for integer subrange means that any integer
value is OK.  Assignment-compatible means that values must
be in range, but is only required when loop body is
actually executed.

                              Waldek Hebisch
hebisch at 

More information about the Gpc mailing list