Этот код компилируется в gfortran, Intel Fortran и Solaris Studio
real, dimension(:) :: A(2)
print *, size(A)
end
Результат равен 2.
Однако, когда другая попытка array-spec выполняется в операторе измерения
dimension A(1)
real :: A(2)
print *, size(A)
end
все три компилятора выдают ошибку, что атрибут измерения был задан дважды.
Соответствует ли первый стандарт кода и что именно стандарт (как можно более свежий) говорит об этой ситуации?