- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How is PART02 declared? What are its declared arguments?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the same as CVF - the Debugging project property page, Working Directory.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page