------- Additional Comments From coudert at clipper dot ens dot fr 2005-01-28 10:37 ------- It seems that, above a given size, gfortran declares the array as non-static:
$ cat a.f90 program kk implicit none integer, parameter :: N=32768**2 real, dimension(N) :: input call random_number(input) end program kk $ diff a.f90 b.f90 3c3 < integer, parameter :: N=32768**2 --- > integer, parameter :: N=32765**2 $ diff a.f90.t02.original b.f90.t02.original 3c3 < real4 input[1073741824]; --- > static real4 input[1073545225]; 10c10 < parm.0.dim[0].ubound = 1073741824; --- > parm.0.dim[0].ubound = 1073545225; $ gfortran -fdump-tree-original a.f90 a.f90: In function ‘MAIN__’: a.f90:5: internal compiler error: in tree_low_cst, at tree.c:3816 $ gfortran -fdump-tree-original b.f90 b.f90: In function ‘MAIN__’: b.f90:4: error: size of variable ‘input’ is too large Maybe this information will be useful to our gfortran gurus. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19654