According to the Fortran standards information I could find (F77,F90/95) an array declarator where there is no lower bound assumes that this lower bound is 1. As the upper bound needs to be larger than or equal to the lower bound, this would make the following statement not allowed:
INTEGER A(0)
However, I cannot make ifort nor gfortran complain in any way about that statement. Is the compiler not required to flag this as an error?
From Fortran 2008 Standard: