IBM® Open XL Fortran internal limits
This section has information on limits for different language features.
| Language Feature | Limit |
|---|---|
| Maximum number of iterations performed by DO loops with loop control with index variable of type INTEGER(n) for n = 1, 2 or 4 | (2**31)-1 |
| Maximum number of iterations performed by DO loops with loop control with index variable of type INTEGER(8) | (2**63)-1 |
| Maximum character format field width | (2**31)-1 |
| Maximum length of a format specification | (2**31)-1 |
| Maximum length of Hollerith and character constant edit descriptors | (2**31)-1 |
| Maximum length of a fixed source form statement | 65,000 |
| Maximum length of a free source form statement | 65,000 |
| Maximum number of continuation lines | n/a 1 |
| Maximum number of nested INCLUDE lines | 64 |
| Maximum number of nested interface blocks | 1024 |
| Maximum number of statement numbers in a computed GOTO | 999 |
| Maximum number of times a format code can be repeated | (2**31)-1 |
| Allowable record numbers and record lengths for input/output files in 32-bit mode | The record number can be up to (2**63)-1. The maximum record length is (2**31)-1 bytes. |
| Allowable record numbers and record lengths for input/output files in 64-bit mode | The record number can be up to (2**63)-1, and the record length can be up to (2**63)-1 bytes.
However, for unformatted sequential files, you must use the uwidth=64 runtime option for the record length to be greater than (2**31)-1 and up to (2**63)-1. If you use the default uwidth=32 runtime option, the maximum length of a record in an unformatted sequential file is (2**31)-1 bytes. |
| Allowable bound range of an array dimension | The bound of an array dimension can be positive, negative, or zero within the range -(2**31) to 2**31-1 in 32-bit mode, or -(2**63) to 2**63-1 in 64-bit mode. |
| Allowable external unit numbers | 0 to (2**31)-1 2 |
| Maximum numeric format field width | 2000 |
| Maximum number of concurrent open files | 2000 3 |
- 1 You can have as many continuation lines as you need to create a statement with a maximum of 65,000 bytes.
- 2 The value must be representable in an INTEGER(4) object, even if specified by an INTEGER(8) variable.
- 3 In practice, this value is somewhat lower because of files that the runtime system may open, such as the preconnected units 0, 5, and 6.