Spec-Zone.ru › GNU Fortran 7

2.2 Параметры управления диалектом Fortran

Следующие параметры управляют деталями диалекта Fortran, принимаемого компилятором:

-ffree-form
-ffixed-form

Укажите макет, используемый исходным файлом. Макет свободного формата был введен в Fortran 90. Фиксированный формат традиционно использовался в более старых программах Fortran. Когда ни один из вариантов не указан, формат исходного файла определяется расширением файла.

-fall-intrinsics

Этот параметр заставляет все встроенные процедуры (включая расширения, специфичные для GNU) приниматься. Это может быть полезно при использовании -std=f95 для принудительного соответствия стандарту, но получить доступ ко всему набору встроенных процедур, доступных с gfortran. Вследствие этого, -Wintrinsics-std будет проигнорирован, и ни одна пользовательская процедура с тем же именем, что и какая-либо встроенная процедура, не будет вызвана, кроме случаев, когда она явно объявлена EXTERNAL.

-fd-lines-as-code
-fd-lines-as-comments

Включить специальное обращение к строкам, начинающимся с d или D в источниках фиксированного формата. Если указан параметр -fd-lines-as-code, они обрабатываются так, как будто в первом столбце находится пробел. Если указан параметр -fd-lines-as-comments, они обрабатываются как строки комментариев.

-fdec

Режим совместимости DEC. Включает расширения и другие функции, которые имитируют поведение более старых компиляторов (таких как DEC). Эти функции нестандартные и следует избегать их использования. Подробные сведения о реализации этих расширений в GNU Fortran см. в полной документации.

Другие флаги, включенные этим переключателем, это: -fdollar-ok -fcray-pointer -fdec-structure -fdec-intrinsic-ints -fdec-static -fdec-math

Если -fd-lines-as-code/-fd-lines-as-comments не заданы, то -fdec также устанавливает -fd-lines-as-comments.

-fdec-structure

Включить DEC STRUCTURE и RECORD а также UNION, MAP, и точку (’.’) в качестве разделителя членов (в дополнение к ’%’). Это предоставляется только для обеспечения совместимости; типы производных Fortran 90 следует использовать вместо этого, где это возможно.

-fdec-intrinsic-ints

Включить варианты вида B/I/J/K для существующих функций целых чисел (например, BIAND, IIAND, JIAND и т. д...). Полный список встроенных процедур см. в полной документации.

-fdec-math

Включить устаревшие встроенные математические функции, такие как COTAN и тригонометрические функции с градусными значениями (например, TAND, ATAND и т. д...) для совместимости со старым кодом.

-fdec-static

Включить атрибуты STATIC и AUTOMATIC в стиле DEC для явного указания хранения переменных и других объектов.

-fdollar-ok

Разрешить ‘$’ как допустимый символ, не являющийся первым символом в имени символа. Символы, начинающиеся с ‘$’, отклоняются, так как неясно, какие правила применять к неявной типизации, так как разные поставщики реализуют разные правила. Использование ‘$’ в IMPLICIT инструкциях также отклоняется.

-fbackslash

Изменить интерпретацию обратных слэшей в строковых литералах с одиночного символа обратной косой черты на “C-стиле” управляющие символы. Следующие комбинации расширяются \a, \b, \f, \n, \r, \t, \v, \\, и \0 в символы ASCII соответственно: alert, backspace, form feed, newline, carriage return, horizontal tab, vertical tab, backslash, и NUL. Кроме того, \xnn, \unnnn и \Unnnnnnnn (где каждый n — шестнадцатеричная цифра) преобразуются в символы Unicode, соответствующие указанным кодовым точкам. Все остальные комбинации символа, предшествующего \ не расширяются.

-fmodule-private

Установите доступность модульных сущностей по умолчанию в PRIVATE. Связанные сущности не будут доступны, если они не объявлены явно как PUBLIC.

-ffixed-line-length-n

Установить колонку после которой символы игнорируются в типичных строках фиксированного формата в исходном файле, и через которые пробелы предполагаются (как если бы они были дополнены до этой длины) после окончания коротких строк фиксированного формата.

Популярные значения для n включают 72 (стандарт и значение по умолчанию), 80 (изображение карточки) и 132 (соответствующее вариантам “расширенного источника” в некоторых популярных компиляторах). n также может быть ‘none’, что означает, что вся строка значима и что продолженные символьные константы никогда не имеют неявных пробелов, добавленных к ним для заполнения строки. -ffixed-line-length-0 означает то же самое, что и -ffixed-line-length-none.

-ffree-line-length-n

Установите колонку после которой символы игнорируются в типичных строках свободного формата в исходном файле. Значение по умолчанию равно 132. n может быть ‘none’, что означает, что вся строка значима. -ffree-line-length-0 означает то же самое, что и -ffree-line-length-none.

-fmax-identifier-length=n

Укажите максимальную допустимую длину идентификатора. Типичные значения — 31 (Fortran 95) и 63 (Fortran 2003 и Fortran 2008).

-fimplicit-none

Укажите, что неявная типизация не допускается, если не переопределена явными IMPLICIT инструкциями. Это эквивалентно добавлению implicit none в начало каждой процедуры.

-fcray-pointer

Включить расширение Cray pointer, которое обеспечивает функциональность указателей в стиле C.

-fopenacc

Включить расширения OpenACC. Это включает директивы OpenACC !$acc в свободном формате и c$acc, *$acc и !$acc директивы в фиксированном формате, !$ условные символы компиляции в свободном формате и c$, *$ и !$ контрольные символы в фиксированном формате, а также при компоновке организует подключение библиотеки времени выполнения OpenACC.

Обратите внимание, что эта функция является экспериментальной, неполной и может быть изменена в будущих версиях GCC. Дополнительную информацию см. на странице https://gcc.gnu.org/wiki/OpenACC.

-fopenmp

Включить расширения OpenMP. Это включает директивы OpenMP !$omp в свободном формате и c$omp, *$omp и !$omp директивы в фиксированном формате, !$ условные символы компиляции в свободном формате и c$, *$ и !$ контрольные символы в фиксированном формате, а также при компоновке организует подключение библиотеки времени выполнения OpenMP. Параметр -fopenmp подразумевает -frecursive.

-fno-range-check

Отключить проверку диапазона результатов упрощения константных выражений во время компиляции. Например, GNU Fortran выдаст ошибку во время компиляции при упрощении a = 1. / 0. С этим параметром ошибка не будет выдана, и a получит значение +Infinity. Если выражение принимает значение, выходящее за пределы соответствующего диапазона [-HUGE():HUGE()], то выражение будет заменено на -Inf или +Inf соответственно. Аналогично, DATA i/Z'FFFFFFFF'/ приведет к переполнению целых чисел на большинстве систем, но с -fno-range-check значение “перевернется” и i будет инициализировано значением -1 вместо.

-fdefault-integer-8

Установить типы целых чисел и логических типов по умолчанию на тип шириной 8 байт. Этот параметр также влияет на тип целочисленных констант, таких как 42. В отличие от -finteger-4-integer-8, он не повышает переменные с явным объявлением типа.

-fdefault-real-8

Установить тип вещественного числа по умолчанию на тип шириной 8 байт. Этот параметр также влияет на тип вещественных констант, не являющихся двойными, таких как 1.0, и повышает значение по умолчанию DOUBLE PRECISION до 16 байт, если это возможно, если при этом не указан также -fdefault-double-8. В отличие от -freal-4-real-8, он не повышает переменные с явным объявлением типа.

-fdefault-double-8

Установить тип DOUBLE PRECISION на тип шириной 8 байт. Не делать ничего, если это уже значение по умолчанию. Если -fdefault-real-8 задан, DOUBLE PRECISION будет повышен до 16 байт, если это возможно, и -fdefault-double-8 может быть использован для предотвращения этого. Тип вещественных констант, например 1.d0, не будет изменен параметром -fdefault-real-8, поэтому также -fdefault-double-8 на него не влияет.

-finteger-4-integer-8

Повысить все INTEGER(KIND=4) сущности до INTEGER(KIND=8) сущностей. Если KIND=8 недоступен, будет выдано сообщение об ошибке. Этот параметр следует использовать с осторожностью, и он может быть неподходящим для ваших кодов. Области возможной проблемы включают вызовы внешних процедур, выравнивание в EQUIVALENCE и/или COMMON, общие интерфейсы, преобразование констант литералов BOZ и Ввод/Вывод. Рекомендуется просмотреть промежуточное представление переведенного кода Fortran, созданного параметром -fdump-tree-original.

-freal-4-real-8
-freal-4-real-10
-freal-4-real-16
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16

Повысить все REAL(KIND=M) сущности до REAL(KIND=N) сущностей. Если REAL(KIND=N) недоступен, будет выдано сообщение об ошибке. Все остальные типы вещественных чисел не затрагиваются этим параметром. Эти параметры следует использовать с осторожностью, и они могут быть неподходящими для ваших кодов. Области возможной проблемы включают вызовы внешних процедур, выравнивание в EQUIVALENCE и/или COMMON, общие интерфейсы, преобразование констант литералов BOZ и Ввод/Вывод. Рекомендуется просмотреть промежуточное представление переведенного кода Fortran, созданного параметром -fdump-tree-original.

-std=std
END_OF_DOCUMENT_MARKER

Укажите стандарт, которому должно соответствовать программа, который может быть одним из ‘f95’, ‘f2003’, ‘f2008’, ‘gnu’ или ‘legacy’. Значение по умолчанию для std — ‘gnu’, что определяет надмножество стандарта Fortran 95, включающее все расширения, поддерживаемые GNU Fortran, хотя будут выдаваться предупреждения о устаревших расширениях, не рекомендуемых для использования в новом коде. Значение ‘legacy’ эквивалентно, но без предупреждений об устаревших расширениях и может быть полезно для старых нестандартных программ. Значения ‘f95’, ‘f2003’ и ‘f2008’ указывают на строгое соответствие стандартам Fortran 95, Fortran 2003 и Fortran 2008 соответственно; ошибки выдаются для всех расширений, выходящих за рамки соответствующего языка стандарта, и предупреждения выдаются для функций Fortran 77, которые разрешены, но устарели в более поздних стандартах. ‘-std=f2008ts’ позволяет использовать стандарт Fortran 2008, включая дополнения технического спецификации (TS) 29113 по дальнейшей совместимости Fortran с C и TS 18508 по дополнительным параллельным функциям в Fortran.

-ftest-forall-temp

Улучшить покрытие тестов, заставив большинство присваиваний forall использовать временную переменную.

Далее: Параметры предварительной обработки, Предыдущее: Резюме параметров, Верхний уровень: Вызов GNU Fortran [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gfortran/Fortran-Dialect-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API