【问题标题】:Syntax error with TYPE(*) with Intel Fortran Compiler 2015 (Mac OS X)Intel Fortran Compiler 2015 (Mac OS X) 的 TYPE(*) 语法错误
【发布时间】:2019-01-26 13:32:13
【问题描述】:

使用 IFORT 2015(适用于 Mac OS X)编译以下 Fortran 程序时:

MODULE X

    USE, INTRINSIC :: iso_c_binding, ONLY: c_intptr_t

    IMPLICIT NONE

    INTERFACE

        INTEGER(c_int) FUNCTION process(variable) BIND(C, name = "_process")
            USE, INTRINSIC :: iso_c_binding, ONLY: c_int
            !DEC$ ATTRIBUTES NO_ARG_CHECK :: variable
            !GCC$ ATTRIBUTES NO_ARG_CHECK :: variable
            TYPE(*), INTENT(IN) :: variable
        END FUNCTION

    END INTERFACE

END MODULE

...它给出以下错误:

example.f90(13): error #5082: Syntax error, found ',' when expecting one of: , <END_OF_STATEMENT> ; 
TYPE(*),  INTENT(IN) :: variable
-------^ 

这就是我编译 Fortran 程序(example.f90)的方式:

ifort example.f90 -free -m64 -c -fPIC -02 -o wrapper.o

【问题讨论】:

    标签: fortran intel-fortran


    【解决方案1】:

    假定类型声明 type(*) 是 Fortran 2018(或 Fortran 2008 中的 TS29113)的一项功能,英特尔 Fortran 编译器在 release 16.0 中首次支持该功能。

    您应该使用更高版本的编译器或重写代码以避免使用此功能。

    【讨论】:

      猜你喜欢
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      相关资源
      最近更新 更多