# Compiler Limits

The amount of data storage, the size of arrays, and the total size of executable programs are limited only by the amount of process virtual address space available, as determined by system parameters.

The table below shows the limits to the size and complexity of a single Intel® Fortran program unit and to individual statements contained within it:

Language Element | Limit
--- | ---
Actual number of arguments per CALL or function reference | Limited only by memory constraints
Arguments in a function reference in a specification expression | 255
Array dimensions | 31 (The Fortran 2018 standard supports a maximum array dimension of 15.)
Array elements per dimension | 2**31-1 on systems using IA-32 architecture 2**63-1 on systems using Intel® 64 architecture Limited by current memory configuration.
Character lengths | 2**31-1 on systems using IA-32 architecture 2**63-1 on systems using Intel® 64 architecture
Constants: character and Hollerith | 7198
Constants: characters read in list-directed I/O | 2048 characters
Continuation lines | No fixed limit; at least 255 lines of 132 or fewer characters. Longer lines may reduce the number of allowed continuations, subject to the limit on lexical tokens per statement.
Data and I/O implied DO nesting | 31
DO, CASE, FORALL, WHERE, and block IF statement nesting (combined) | 512
DO loop index variable | 9,223,372,036,854,775,807= 2**63-1
Format group nesting | 8
Fortran source line length | fixed form: 72 (or 132 if /extend_source is in effect) characters free form: 7200 characters
INCLUDE file nesting | 20 levels
Labels in computed or assigned GOTO list | Limited only by memory constraints
Lexical tokens per statement | 40000
Named common blocks | Limited only by memory constraints
Nesting of array constructor implied DOs | 31
Nesting of input/output implied DOs | 31
Nesting of interface blocks | Limited only by memory constraints
Nesting of DO, IF, or CASE constructs | Limited only by memory constraints
Nesting of parenthesized formats | Limited only by memory constraints
Number of arguments to MIN and MAX | Limited only by memory constraints
Number of digits in a numeric constant | Limited by statement length
Parentheses nesting in expressions | Limited only by memory constraints
Structure nesting | 30
Symbolic name length | 63 characters
Width field for a numeric edit descriptor | 2**15-1 on systems using IA-32 architecture 2**31-1 on systems using Intel® 64 architecture For limits of other edit descriptor fields, see Forms for Data Edit Descriptors.

For more information on memory limits for large data objects, see:

- The AUTOMATIC statement

- The /F compiler option

- The heap-array compiler option

- The product Release Notes

Parent topic: Compiler Reference

## See Also

Forms for Data Edit Descriptors