Как вывести список предопределенных переменных препроцессора с помощью nagfor

Я хотел бы получить список переменных препроцессора, которые предопределены при использовании компилятора nagfor Fortran. Эквивалент с гфортраном

gfortran -E -dM foo.F90

но с

nagfor -F -Wp,-dM foo.F90

я получил

NAG Fortran Compiler Release 5.3(854)
fpp: warning: bad option: -dM , ignored.

Я посмотрел в документации nagfor и документации fpp, но не смог найти ответ.

То, что я ищу, это некоторая переменная, чтобы определить, что файл компилируется с nagfor, так что эквивалент gfortran __GFORTRAN__Ифорт __INTEL_COMPILER и pgf90 __PGI,

1 ответ

Решение

Похоронен в документации по fpp, которую я нахожу ( определение макроса 4.5.4 для выпуска 6.2, раздел 5.4 связанной документации вопроса для версии 5.3)

Макрос NAGFOR определяется по умолчанию.

Конечно же

#ifdef NAGFOR
  print '("nagfor says hello")'
#endif
end

имеет желаемый результат при прохождении через препроцессор. В моем случае макрос принимает значение 1, но я не знаю, насколько последовательным это может быть.

Как Themos Tsikas, есть и макросы __NAG_COMPILER_RELEASE а также __NAG_COMPILER_BUILD которые принимают четко определенные значения.

Другие вопросы по тегам