Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

errors using intel fortran compiler XE

mywatering
Beginner
455 Views
Hi everyone,

I need your help. I just want to build an executive file using the UTCHEM source code from the University of Texas at Austin. I tried to use intel compiler XE in the visual studio to build the executive, but there were lots of errors. I know little about fortran language. Could you tell me how I should do? I attached the source code of utchem. The source code I attached is the original code directly from the university of texas at austin without modifying. I plan to modify some of them in the future if there is no error in the original code. Thank you very much! I would appreciate it very much. My email address is: wangfang@ufl.edu.
0 Kudos
1 Reply
Steven_L_Intel1
Employee
455 Views
I can see that this code has real errors, though some compilers might not notice. For example, in source ddriv2.f, routine DDRIV1 calls DDRIV3 passing as several arguments the identifier F, which has been declared EXTERNAL. The documentation for DDRIV1 says that F must be an external subroutine, but in DDRIV3 one of the corresponding actual arguments is G, which is declared DOUBLE PRECISION. Since F is not given a type explicitly (which it shouldn't if it were a subroutine), it is implicitly REAL (single precision) and this is a mismatch.

Another error in the same call is passing EWT, a scalar, where the called routine declares the actual argument as an array. This is not legal Fortran and the compiler is again right to complain.

It may be that these errors are "harmless", but without extensive investigation I could not tell for sure. They are errors nonetheless.

These errors are detected as part of the "generated interface checking" feature of the Intel compiler. If you disable that - set project property Diagnostics > Check Routine Interfaces to "No", then the sources compile with many warnings but no errors. There are many warnings about formats such as E10.4, which do not have enough width for the requested number of fraction digits (should be E11.4 or E10.3).

I also see some warnings for use of CDIR$ IVDEP where what follows the directive is not a loop. These can be ignored.
0 Kudos
Reply