1.3 Предварительная обработка и условная компиляция
Многие компиляторы Fortran, включая GNU Fortran, позволяют передавать исходный код через препроцессор C (CPP; иногда также называется препроцессором Fortran, FPP), чтобы разрешить условную компиляцию. В случае GNU Fortran это GNU C Препроцессор в традиционном режиме. В системах с сохранением регистра в именах файлов препроцессор автоматически вызывается, если расширение файла равно .F, .FOR, .FTN, .fpp, .FPP, .F90, .F95, .F03 или .F08. Для ручного вызова препроцессора для любого файла используйте -cpp, чтобы отключить предварительную обработку файлов, где препроцессор запускается автоматически, используйте -nocpp.
Если обработанный файл включает другой файл с Fortran INCLUDE оператором, включенный файл не обрабатывается предварительно. Чтобы обработать включенные файлы предварительно, используйте эквивалентную инструкцию препроцессора #include.
Если GNU Fortran вызывает препроцессор, __GFORTRAN__ определено, и __GNUC__, __GNUC_MINOR__ и __GNUC_PATCHLEVEL__ могут быть использованы для определения версии компилятора. Подробнее см. Обзор.
Хотя CPP является фактическим стандартом для предварительной обработки кода Fortran, часть 3 стандарта Fortran 95 (ISO/IEC 1539-3:1998) определяет условную компиляцию, которая не широко используется и не поддерживается компилятором GNU Fortran напрямую. Вы можете использовать программу coco для предварительной обработки таких файлов (http://www.daniellnagle.com/coco.html).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gfortran/Preprocessing-and-conditional-compilation.html