2

我想获得使用 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 文档fpp 文档,但找不到答案。

我正在寻找的是一些变量来确定文件是用 nagfor 编译的,因此相当于 gfortran __GFORTRAN__、 ifort__INTEL_COMPILER和 pgf90 __PGI

4

1 回答 1

2

埋在我发现的 fpp 的文档中(4.5.4 Macro definition for the release 6.2, section 5.4 of the question's linked documentation for version 5.3)

宏 NAGFOR 是默认定义的。

果然

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

通过预处理器时具有所需的结果。就我而言,宏采用 value 1,但我不知道这可能有多一致。

正如Themos Tsikas评论的那样,还有 __NAG_COMPILER_RELEASE__NAG_COMPILER_BUILD它们确实采用了明确定义的值。

于 2015-04-09T16:22:08.197 回答