Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28470 Discussions

Compaq Visual Fortran project compilation error

Sur_P_
Beginner
405 Views

Hello!

I have a project, console application, wroted on Fortran, for two years working in Compaq Visual Fortran 6.6.0 but now project is very big and it works takes too much time for calculations so I've decide to try Visual Studio 2010 with Visual Fortran Compiler XE 12.0 but get a several errors from very start.

First, when I've tried to open old project in new Studio (all settings are default) and built it, everything seems to goes fine but project wasn't compiled. No errors in logs, just executes an cmd-window with text "%your project.exe% is not recognized as an internal or external command, operable program or batch file".

Second. I've made a new project and add all source files and datafiles from old project, trying to compile and get these log:

"Compiling with Intel(R) Visual Fortran Compiler XE 12.0.1.127 [IA-32]...
main_2c_z.FOR
C:\test\win\test\source\main_2c_z.FOR(89): error #7112: This actual argument must not be the name of a procedure.   [M_G]
compilation aborted for C:\test\win\test\source\main_2c_z.FOR (code 1)

Build log written to  "file://C:\test\win\test\test\Debug\BuildLog.htm"
test - 2 error(s), 0 warning(s)"

But there is some kind of mystery, because on 89 line in "main_2c_z.FOR" the almost same code as earlier in this file but error is only one gets.

Here is code example:

...
      EXTERNAL M_G,M_G1
...
      CALL PART01(M_G1, ARR_A,ARR_B)  ! line 81
...
      CALL PART02_(M_G1, ARR_A,ARR_B) ! line 89
...

Where M_G is subroutine with ENTRY M_G1

0 Kudos
6 Replies
Lorri_M_Intel
Employee
405 Views

How is PART02 declared?  What are its declared arguments?

0 Kudos
Sur_P_
Beginner
405 Views

PART02_ declared as SUBROUTINE PART02_(M_G1,ARR_A,ARR_B) from one of project .for files

And its arguments is

      DIMENSION ARR_A(2500000), ARR_B(50000)

but used not all 2.5M or 50k variables, real used size defined by parameter from external control file.

0 Kudos
Lorri_M_Intel
Employee
405 Views

And what is "M_G1" declared as?

If it is undeclared, by default it's an integer per Fortran naming rules.

If you're trying to pass a function address, then you'll get the mismatch.

One option is to disable the interface-checking.  Under Property->Fortran->Diagnostics, Check Routine Interfaces.

            --Lorri

0 Kudos
Sur_P_
Beginner
405 Views

Lorri Menard (Intel) wrote:

And what is "M_G1" declared as?

as EXTERNAL.

Seems I get it, make some changes on test program and get some results, thank you. But there is new problem, external command files for program work should be in "\Users\Username" folder. Earlier it all nice working with all files in one project directory. Is there any parameters for working dir?

0 Kudos
Steven_L_Intel1
Employee
405 Views

This is the same as CVF - the Debugging project property page, Working Directory.

0 Kudos
Sur_P_
Beginner
405 Views

Solution of my problem turned out to be initially very simple. After opening the old project in the Visual Studio 2010, I've should choose 'Extract  Compaq Visual Fortran Project Items' from Project menu.

Sorry for bothering, your advices helped me a lot, anyway!

0 Kudos
Reply