Hi,
I'm trying to see if I can use the great-sounding FTN95 /CHECKMATE dynamic testing support with a mid-size (55K LOC) legacy Fortran 77 application but with no luck so far. No matter how large I seem to make the stack I still get a stack overflow, and increasing the stack gives very long startup times.
My current build BAT file includes this:
ftn95 /NO_BANNER /132 /ALT_KINDS /COLOUR /ERROR_NUMBERS /NO_OBSOLETE /P6 /SAVE /FULL_DEBUG /CHECKMATE %F95Source% %2 %3 %4
slink %F95Object% -stack:0x25600000,0x16000
As you can see the stack size I'm trying now is quite large. The Intel Visual Fortran debug build uses ❤️0MB peak in a run. Removing /CHECKMATE and even /FULL_DEBUG doesn't seem to help and the memory use was over 300MB when it ran out of stack.
The program has almost 200 COMMON blocks that are declared in the MAIN, some of which are initialized in BLOCK DATA units. I assume that it is the initialization of all the globals that is giving the long startup times. Maybe there is some way to restructure the code to reduce the stack needed and the startup time. Or maybe there is a known problem with FTN95 causing this?
Thanks!