Compaq Visual Fortran project compilation error

Compaq Visual Fortran project compilation error


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 [IA-32]...
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:

      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

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

How is PART02 declared?  What are its declared arguments?

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.

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 Menard (Intel) wrote:

And what is "M_G1" declared as?


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?

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

Retired 12/31/2016

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!

Leave a Comment

Please sign in to add a comment. Not a member? Join today