[sisyphus] Сборка FORTRAN-программ
Andrey Liakhovets
liakh на dol.ru
Пн Июн 27 08:19:07 UTC 2011
On Mon, 27 Jun 2011 09:53:32 +0200 vx8400 wrote:
>upd:
>
>27 июня 2011 г. 9:38 vx8400:
>>
>> 'DO I=400' gfortran 4.4.5 съедает, цикл прокручивается 1 раз,
>
>Цикл не прокручивается. 'DO 1 I=400' побочных эффектов не имеет, метка
>'1' перед write игнорируется.
>Ее можно вообще убрать.
>I инициализировано 0, поэтому печатается 0.
>
>btw, DEC Fortran это тоже съедает без предупреждений, если перед 'DO 1
>I=400' поставить, например, I=1
>
>В каком стандарте есть такое 'DO'?
По крайней мере, в Fortran 90 и в Fortran 2008 здесь должны быть
как минимум 2 выражения через запятую. Например, в 2008:
loop-control is [ , ] do-variable = scalar-int-expr , scalar-int-expr [ , scalar-int-expr ]
or [ , ] WHILE ( scalar-logical-expr )
or [ , ] CONCURRENT forall-header
Так что гораздо интереснее, почему такое иногда таки транслируется :)
Андрей Ляховец
Подробная информация о списке рассылки Sisyphus