如何使用nagfor列出预定义的预处理器变量

时间:2015-04-09 15:32:45

标签: compilation fortran preprocessor nag-fortran

我想获得使用nagfor Fortran编译器时预定义的预处理器变量列表。与gfortran相当的是

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 documentationfpp documentation,但无法找到答案。

我正在寻找的是一些变量来确定文件是用nagfor编译的,所以相当于gfortran __GFORTRAN__,ifort __INTEL_COMPILER和pgf90 {{1 }}。

1 个答案:

答案 0 :(得分:2)

埋藏在fpp的文档中我找到了4.5.4 Macro definition的6.2版,问题的5.3版链接文档的第5.4节

  

默认情况下定义宏NAGFOR。

果然

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

在通过预处理器时具有所需的结果。在我的情况下,宏取值1,但我不知道它可能是多么一致。

根据Themos Tsikas条评论,also the macros __NAG_COMPILER_RELEASE__NAG_COMPILER_BUILD确实采用了明确定义的值。