1.3 Предварительная обработка и условная компиляция
Многие компиляторы Fortran, включая GNU Fortran, позволяют передавать исходный код через препроцессор C (CPP; иногда также называемый препроцессором Fortran, FPP), чтобы разрешить условную компиляцию. В случае GNU Fortran это GNU C Preprocessor в традиционном режиме. В системах с сохранением регистра в именах файлов препроцессор автоматически вызывается, если расширение файла равно .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-5.4.0/gfortran/Preprocessing-and-conditional-compilation.html