From Linux (ifort) to Windows (IVF+MVS)

From Linux (ifort) to Windows (IVF+MVS)

From Linux (ifort) to Windows (IVF+MVS)

I have a mixing (fortran main and c static lib) project.
I have no problem for Linux. But I need to compile this project for Windows. Im
trying to use Intel Visual Fortran for MVS 2010 (Windows 7 (64 Pro)).

I selected the next options:

Fortran/Preprocessor/Preprocessor Source File: Yes(/fpp)

Fortran/Compatibility/Enable F77 Run-time Compatibility: Yes(/f77rtl)

Fortran/Compatibility/Use F77 Integer Constants: Yes(/inconstant)

Fortran/ Diagnostics /Check Routine Interface/: No

For this options compile give me:

remark #5169: Misplaced conditional compilation
directive or nesting too deep

error #6437: A subroutine or function is calling
itself recursively.

If I setup the last item to

Fortran/ Diagnostics /Check
Routine Interface/: ->Yes

there are additional errors:

error #7836: If the actual argument is scalar, the
corresponding dummy argument shall be scalar unless the actual argument is an
element of an array that is not an assumed-shape or pointer array, or a
substring of such an element.

error #7983: The storage extent of the dummy
argument exceeds that of the actual argument.

For Linux I use both gfortran and ifort and all ok!

What should I change for Windows?

Thanks!!!

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

5169: you have an error in your preprocessor directives
6437: this should be self-explanatory. Add the RECURSIVE keyword before the FUNCTION or SUBROUTINE if that is intended
7836 and 7983 indicate coding errors detected by generated interface checking. You evidently did not use that on Linux. Fix the coding errors.

That some other compiler did not detect these errors is not surprising.

Retired 12/31/2016

These don't appear to be questions specific to Windows; they result from your having stricter syntax checking enabled within the Fortran. Your program reliability could be improved for both Windows and linux by correcting them.
Supplying a scalar argument to a dummy array usually works on Intel platforms, but violates Fortran syntax.
Functions which are recursive should have the RECURSIVE keyword throughout the call stack to make them safe for such usage.

Thanks to all for fast answers. Really Im absolutely newbie
in Fortran.

I think my cod has problem with preprocessing. The first
warning from compile is

remark #5169: Misplaced conditional compilation
directive or nesting too deep

for line CDEC$
END IF
in code:

subroutine
datime(day)

character*24
day

#ifdef PC

cDEC$ IF DEFINED (PC)

character*24
fdate

external
fdate

day=fdate()

cDEC$ ELSE

#elif (AIX)

external
fdate_

call
fdate_(day)

#else

character*24 fdate

day=fdate()

#endif

CDEC$ END IF

end

Error with recursion happens here

#ifdef PC

cDEC$ IF DEFINED (PC)

recursive
subroutine
objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

cDEC$ ELSE

#elif (IFC) || (AIX)

recursive
subroutine
objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

#else

subroutine
objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

#endif

You don't need to have both CDEC$ IF and #if in the source. Just use the # syntax with /fpp.

I see in some lines you have the # not in column 1, or at least that's what it looks like here. They should be in column 1.

Where is the recursive call the compiler complains about? Do you perhaps need to add PC as a preprocessor definition? It is not clear to me why all this conditional code is being used.

Retired 12/31/2016

Thanks again!

I removed all CDEC$ IF and #if. Compiler is
ok. But I received many errors from link:

error LNK2001: unresolved external symbol _MEMALLOC

What is it?

I did not suggest removing both the CDEC$ if and #if. It's evident you need the #if lines at least.

The _MEMALLOC error is because your program, at least in the form you have it now, calls a routine named MEMALLOC. This is not standard Fortran and is not a routine provided by Intel Fortran.

Retired 12/31/2016

Thank you very much!

I work with solution. Solution has a 2 projects one project
in Fortran other in C . Project in C has function memalloc.c. Should I to
setup a special options for link?

The C project should be a static library project. Right click on the Fortran project and select Dependencies. Check the box on the C project to make it a dependent of the Fortran project.

Make sure that the memalloc routine in C is actually named MEMALLOC in upper case.

Right click on the C project and select Properties > C++ > Code Generation. Make sure that the Runtime Library setting matches the one in the Fortran project under Libraries.

Retired 12/31/2016

Steve,

Thanks you for help!

I will check all items again.

Because, the last error
remains.

If I cannot fix this error I try to ask you again.

Maxim

I created my project again.

I setup next properties:

Fortran/Preprocessor/Preprocessor Source File: Yes(/fpp)

Fortran/Compatibility/Enable F77 Run-time Compatibility: Yes(/f77rtl)

Fortran/Compatibility/Use F77 Integer Constants: Yes(/inconstant)

Fortran/Libraries/ Runtime Library: Multithreaded

Fortran/ Diagnostics /Check Routine Interface/: No

C/C++/Code Generation/Runtime Library: Multi-threaded
(/MT)

Fortran set as Startup Project. Fortran project dependencies
form C project.

But I have errors from linker:

error LNK2019: unresolved external symbol _MEMALLOC
referenced in function _SETCRG

file memalloc.c is:

#define memalloc (_stdcall
MEMALLOC)

void *memalloc( void **ptr,int *entry_size, int
*new_size )

{ void *newptr;

/*
printf("\n Entry_size: %d, new_size: %d\n",*entry_size,
*new_size);*/

if(!*new_size)

{

if(*ptr) free(*ptr);

return NULL;

}

if(!*ptr) {

newptr=calloc((size_t)(*new_size),(size_t)(*entry_size));

/*printf("\n *ptr: %p, newptr: %p, newptr
int : %ld\n",*ptr,newptr,newptr);*/

}

else {
newptr=realloc(*ptr, (size_t)((*new_size)*(*entry_size)));

/*printf("\n realloc: newptr: %p, newptr
int : %d\n",*ptr,newptr);*/ }

if (newptr == 0 && *new_size != 0)

{

#ifdef PC

perror("memalloc");

#else

perror("memalloc");

#endif

exit(EXIT_FAILURE);

}

return newptr;

}

And from function setcrg.f I call memalloc like next:

i_cgbp=memalloc(i_cgbp,realsiz,5*ibcmax).

Compile for Linux is OK!

Please attach the buildlog.htm showing the failed link.

Retired 12/31/2016

Thanks Steve!!!

Build Log

 Build started: Project: DelphiFortran, Configuration: Debug|Win32 

Output

Deleting intermediate files and output files for project 'DelphiFortran', configuration 'Debug|Win32'.
Compiling with Intel Visual Fortran Compiler XE 12.0.1.127 [IA-32]...
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setbc4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\relfac4b.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\indver.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cfind4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtsit4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\watput.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\radass4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\extrmobjects.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\elb.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\srfestim.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\omalt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\mkvtl.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\crgarr.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\scaler4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\react2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ichash4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cent4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtprm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\watpte.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\qinttot.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\extrm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\distrTOpoint.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setrc4d.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\off4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\mkdbsf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cputime.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\scale.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdlog4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\grdatm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\assrad.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtphi.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\vwtms2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\expand4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\distobj.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setout.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\objvertices.F"
D:\Clemson\DELPHI\DELPHI_VS2010\src\objvertices.F(181): warning #6371: A jump into a block from outside the block may have occurred.   [350]
     &               go to 350
---------------------------^

ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\itit4j.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\conplt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\sas.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdiv.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\getatm2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\epsmak.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\asscrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtgcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\up.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phintp4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\nitit.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ex.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\dbsfd.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setfcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rfind4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\nlener.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\irhash4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\clb.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\anasurf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtvisual.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtatd.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rforce.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdhrad.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\fxhl.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\encalc4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrteps4b.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ts.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phierg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\namlen3.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cube.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rent4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\inewt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\chkcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\anagrd4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtsurf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrt4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdhcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\form2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\encalc_qnifft.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\timef.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phicon.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\msrf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\crgass4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\qdiff4v.F"
Linking...
Creating temporary file "RSP1.rsp" with contents
[
 /OUT:"Debug\DelphiFortran.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiC\DelphiC\Debug" /MANIFEST /MANIFESTFILE:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.lib" "Debug\setbc4.obj" "Debug\relfac4b.obj" "Debug\indver.obj" "Debug\cfind4.obj" "Debug\wrtsit4.obj" "Debug\watput.obj" "Debug\radass4.obj" "Debug\extrmobjects.obj" "Debug\elb.obj" "Debug\srfestim.obj" "Debug\omalt.obj" "Debug\mkvtl.obj" "Debug\crgarr.obj" "Debug\scaler4.obj" "Debug\react2.obj" "Debug\ichash4.obj" "Debug\cent4.obj" "Debug\wrtprm.obj" "Debug\watpte.obj" "Debug\qinttot.obj" "Debug\extrm.obj" "Debug\distrTOpoint.obj" "Debug\setrc4d.obj" "Debug\off4.obj" "Debug\mkdbsf.obj" "Debug\cputime.obj" "Debug\scale.obj" "Debug\rdlog4.obj" "Debug\grdatm.obj" "Debug\assrad.obj" "Debug\wrtphi.obj" "Debug\vwtms2.obj" "Debug\expand4.obj" "Debug\distobj.obj" "Debug\setout.obj" "Debug\objvertices.obj" "Debug\itit4j.obj" "Debug\conplt.obj" "Debug\sas.obj" "Debug\rdiv.obj" "Debug\getatm2.obj" "Debug\epsmak.obj" "Debug\asscrg.obj" "Debug\wrtgcrg.obj" "Debug\up.obj" "Debug\phintp4.obj" "Debug\nitit.obj" "Debug\ex.obj" "Debug\dbsfd.obj" "Debug\setfcrg.obj" "Debug\rfind4.obj" "Debug\nlener.obj" "Debug\irhash4.obj" "Debug\clb.obj" "Debug\anasurf.obj" "Debug\wrtvisual.obj" "Debug\wrtatd.obj" "Debug\rforce.obj" "Debug\rdhrad.obj" "Debug\fxhl.obj" "Debug\encalc4.obj" "Debug\wrteps4b.obj" "Debug\ts.obj" "Debug\phierg.obj" "Debug\namlen3.obj" "Debug\cube.obj" "Debug\setcrg.obj" "Debug\rent4.obj" "Debug\inewt.obj" "Debug\chkcrg.obj" "Debug\anagrd4.obj" "Debug\wrtsurf.obj" "Debug\wrt4.obj" "Debug\rdhcrg.obj" "Debug\form2.obj" "Debug\encalc_qnifft.obj" "Debug\timef.obj" "Debug\phicon.obj" "Debug\msrf.obj" "Debug\crgass4.obj" "Debug\qdiff4v.obj" "D:\Clemson\DELPHI\DELPHI_VS2010\DelphiC\Debug\DelphiC.lib"
]
Creating command line "Link @"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\RSP1.rsp""

Link: executing 'link'
setcrg.obj : error LNK2019: unresolved external symbol _MEMALLOC referenced in function _SETCRG
msrf.obj : error LNK2001: unresolved external symbol _MEMALLOC
qdiff4v.obj : error LNK2001: unresolved external symbol _MEMALLOC
setfcrg.obj : error LNK2001: unresolved external symbol _MEMALLOC
nlener.obj : error LNK2001: unresolved external symbol _MEMALLOC
clb.obj : error LNK2001: unresolved external symbol _MEMALLOC
cube.obj : error LNK2001: unresolved external symbol _MEMALLOC
setout.obj : error LNK2001: unresolved external symbol _MEMALLOC
sas.obj : error LNK2001: unresolved external symbol _MEMALLOC
getatm2.obj : error LNK2001: unresolved external symbol _MEMALLOC
epsmak.obj : error LNK2001: unresolved external symbol _MEMALLOC
mkdbsf.obj : error LNK2001: unresolved external symbol _MEMALLOC
scale.obj : error LNK2001: unresolved external symbol _MEMALLOC
wrtphi.obj : error LNK2001: unresolved external symbol _MEMALLOC
vwtms2.obj : error LNK2001: unresolved external symbol _MEMALLOC
indver.obj : error LNK2001: unresolved external symbol _MEMALLOC
wrtsit4.obj : error LNK2001: unresolved external symbol _MEMALLOC
crgarr.obj : error LNK2001: unresolved external symbol _MEMALLOC
react2.obj : error LNK2001: unresolved external symbol _MEMALLOC
qdiff4v.obj : error LNK2019: unresolved external symbol _CREAPDB referenced in function _MAIN__
Debug\DelphiFortran.exe : fatal error LNK1120: 2 unresolved externals


DelphiFortran - 21 error(s), 1 warning(s)

> For Linux I use both gfortran and ifort and all ok!

I do not think so. Getting code to compile and link when the code has mismatched calls is no feat, since Fortran has separate compilation and implicit interfaces.

Just as not reading a newspapers does not prevent bad things from happening around the world, not using the diagnostic capabilities of the compiler does not make your code bug free.

Bugs of the type that are relevant to the error messages shown have been recognized as being particularly bad because they can go unnoticed for several years and then come to life when least unexpected.

Have you included the correct INTERFACE for MEMALLOC in your FORTRAN source where it calls MEMALLOC?
(If not, the compiler has no idea what it is or where it might look for it.)

With an INTERFACE block included, the compiler will know to look for an external function called 'MEMALLOC' having three integer arguments when it tries to satisfy all external links to the .OBJ files created and used by your project, including the .OBJ file created by compiling MEMALLOC.C with your C-compiler (you must of course add the C-compiled .OBJ file to your project if you want it to be searched for external links along with your FORTRAN .OBJ files).

You may have to find out EXACTLY what symbol the C-compiler creates for MEMALLOC in the .OBJ file in which it resides and get the FORTRAN compiler to match it using a compiler directive ATTRIBUTE involving STDCALL,REFERENCE and maybe ALIAS, and so on.

Im sorry for my stupid questions. But if we have simple
programs like follow:

Fortran:

PROGRAM HelloWorld

CALL f

END PROGRAM
HelloWorld

C:

#include

void f_()

{

printf("Hi! \n");

}

What should I add for compilation?

When taking mixed Fortran and C code from linux to Windows using legacy interfacing, you run into the differing defaults (Windows default uppercase no underscore). iso_c_binding is a well documented good way to overcome this. All the legacy stuff also is covered in the interoperability section of ifort docs.
However, writing to stdout from C in a Fortran program raises portability issues no matter how you do it, on both Windows and linux.

It does not look to me as if you made the C project a dependent of the Fortran project. You need to do that. Right click on the Fortran project and select "Project Dependencies...". In the dialog that comes up, check the box for your C project under "Depends on". Click Ok and then rebuild.

Retired 12/31/2016

I did it in the beginning.

Now project in Fortran depends on project in C.

At this point I'll ask that you zip the projects and attach them to a reply here so I can look at them. Please do a Build > Clean first.

Retired 12/31/2016

Thanks Steve!
I attached file.

Attachments: 

AttachmentSize
Downloadapplication/zip DELPHI_VS2010.zip970.23 KB
Best Reply

So simple when I have the forest instead of individual leaves.

You have two problems, both of them on the C side.

The conditional code in sources such as memalloc.c and creapdb.c has a part like this:

#elif defined(PC)
#define creapdb (_stdcall CREAPDB)

It is evident that the writer of this code assumed that you would be using CVF or perhaps Microsoft Fortran PowerStation, hence the _stdcall. Take that out so that the line reads:

#define creapdb (CREAPDB)

The second problem is that the PC preprocessor variable is not defined for this project. Add it under C/C++ > Preprocessor > Preprocessor definitions.

Or do what you did in memalloc.c and just add the appropriate define directly (remove the _stdcall there,) If you fix this in both of those sources, and then build, it will succeed.

Retired 12/31/2016

Thanks Steve!!!!

But what should I add to C/C++ > Preprocessor > Preprocessor definitions
?
If I setup Fortran/ Diagnostics /Check Routine Interface/:
Yes. I receive erro:

encalc4.f(140): error #6633: The type of the actual argument differs from the type of the dummy argument. [ERGC]

But for Linux all is OK! I tested program for Linux many
time for various input. How is it possible?

You would add:

;PC

to the end of the list for preprocessor variables.

On Linux, did you enable -warn interface? Probably not.

Here's the various coding errors this reveals:

In routine msrf you call ddtime passing the variable tary as an argument. tary is not declared (oops!) so it is implicitly a REAL scalar. ddtime is looking for an array of two REALs. It is an error to pass a scalar variable to an array, and especially bad in this case becauae ddtime is going to write two REALs when you pass only one, so whatever is in the location just after tary is going to be corrupted. Not good.

I note that tary is not used elsewhere in this routine so I am not sure what is intended here. You need to fix this.

Then there are three errors of the form:

error #7983: The storage extent of the dummy argument exceeds that of the actual argument. [VINDX]

This is also in msrf. vindx is declared as an integer dimensioned (1) and it is used in calls to fxlh where the corresponding argument is declared as dimension (900000). This is also an error because if vxtri is assigned to past element 1, it could corrupt storage. Not good.

Now I know that back in the Fortran 66 days, people would declare dummy argument arrays as (1) to allow any size to pass. In Fortran 77, this would be an assumed-size array or dimension (*). But in msrf, vindx is not a dummy argument so this does not apply.

But wait... msrf includes a file called pointers.h which declares a bunch of things using the "integer pointer" extension (more generally called Cray pointers, though Cray doesn't like that term). There, vindx is declared as a "pointee", so the intention is for vindx to be assumed-size. The fix for that is to change (1) to (*) in the declaration of vindx in msrf. (A note - I consider it bad form to split the declarations like this as it can lead to misunderstandings.)

Retired 12/31/2016

Thanks you very much!

I will try to examine.

Leave a Comment

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