Fortran 77 code in MATLAB

I have a code wriiten in Fortran 77 which I need to call in simulink using S function block.
I know that I have to write C mex file to link the fortran code. But the problem is that my compiler - Intel Parallel Studio Xe 2015- doest compile the
Fortran77 code, it, however, does succesfully compile the fortran 90 code. So my question is: is there any other compiler for matlab which can compile Fortran 77.
I am using Matlab 2018a.
Thank-you.

3 Comments

All Fortran 90 compilers can compile Fortran 77 code, including the Intel compiler you mention. Typically, if the file extension is .f then the compiler will assume fixed format, and if the file extension is .f90 then the compiler will assume free format.
Please post exactly how you are compiling your code and what errors you are seeing.
Caveat: Last time I checked TMW still had the silly /fixed option in their Fortran compile files. You should edit these files and get rid of the /fixed option if you haven't done so already.
Thanks for your prompt reply. Could you elaborate on the last point "TMW still had the silly /fixed option in their Fortran compile files". How can I get rid of the fixed option?
Thanks.
James Tursa
James Tursa on 3 Nov 2021
Edited: James Tursa on 3 Nov 2021
The silly /fixed option that TMW insists on including in their build files forces the compiler to interpret .f90 free format files as fixed format files, typically leading to a boat load of compile errors. To fix this, edit their build files and get rid of that option. E.g., in the matlabroot\bin\win64\mexopts directory one of the Fortran build files is named
intel_fortran_20_vs2019.xml
Edit this file and change this line
COMPFLAGS="/nologo /fpp /Qprec /fixed /MD /fp:source /assume:bscc $INCLUDE $COMPDEFINES"
to this
COMPFLAGS="/nologo /fpp /Qprec /MD /fp:source /assume:bscc $INCLUDE $COMPDEFINES"
I would do this for every Fortran build file in the directory (or whatever your particular directory is).

Sign in to comment.

Answers (0)

Categories

Products

Release

R2018a

Asked:

on 28 Oct 2021

Edited:

on 3 Nov 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!