Currently, g77 uses the default
for array indexes,
which limits the sizes of single-dimension arrays
on systems offering a larger address space
than can be addressed by that type.
(That g77 puts all arrays in memory
could be considered another limitation—it
could use large temporary files—but that decision
is left to the programmer as an implementation choice
by most Fortran implementations.)
It is not yet clear whether this limitation never, sometimes, or always applies to the sizes of multiple-dimension arrays as a whole.
For example, on a system with 64-bit addresses
and 32-bit default
an array with a size greater than can be addressed
by a 32-bit offset
can be declared using multiple dimensions.
Such an array is therefore larger
than a single-dimension array can be,
on the same system.
Whether large multiple-dimension arrays are reliably supported depends mostly on the gcc back end (code generator) used by g77, and has not yet been fully investigated.