5.2.2 Переменные выражения FORMAT
Выражение переменной FORMAT представляет собой оператор форматирования, который включает угловые скобки, окружающие выражение Fortran: FORMAT(I<N>). GNU Fortran не поддерживает это устаревшее расширение. Эффект выражений формата переменных может быть воспроизведён с помощью более мощного (и стандартного) сочетания внутренних вывода и строковых форматов. Например, замените фрагмент кода подобный этому:
WRITE(6,20) INT1 20 FORMAT(I<N+1>)
на следующее:
c Variable declaration
CHARACTER(LEN=20) FMT
c
c Other code here...
c
WRITE(FMT,'("(I", I0, ")")') N+1
WRITE(6,FMT) INT1
или на:
c Variable declaration
CHARACTER(LEN=20) FMT
c
c Other code here...
c
WRITE(FMT,*) N+1
WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/Variable-FORMAT-expressions.html