Синтаксическая ошибка в TYPE (*) с Intel Fortran Compiler 2015 (Mac OS X) - PullRequest
0 голосов
/ 26 января 2019

При компиляции следующей программы на Фортране с использованием IFORT 2015 (для Mac OS X):

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
-------^ 

Вот как я компилирую программу на Фортране (пример.f90):

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

1 Ответ

0 голосов
/ 26 января 2019

Объявление предполагаемого типа type(*) - это функция Fortran 2018 (или дополнение TS29113 к Fortran 2008), которая впервые поддерживается Intel Fortran Compiler в выпуске 16.0 .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...