Program on old fortran IV

Tim Prince
Wed Apr 29 14:24:22 GMT 2020

On 4/29/2020 9:37 AM, Joao Martins Correia wrote:
> Dear Gcc Helpers
> I recovered an old scientific program code written in Fortran IV.
> Still using hollerith assignments - which I think I understand, I can compile it with the many warnings
> regarding essentially 3 things
> 1- hollerith
> 2- “do" cycles indexed to an active command line instead of “enddo" or “continue”, e.g.
> do	10 i=1,n
>  		x=x+1
> 10	y=y+1
> 3-“if” of the type
>  If (n) 10,20,30
> All of this can be cleaned, but I have the feeling that in spite of the warnings the compiler still treats these 3 warnings correctly, since I could test it
> with coherent results.
> The program starts running, properly, reads input files and execute some routines, but then gets stuck with strange huge
> numbers that have no apparent reason to be there.
> The problem is in fact that there are no assignment of variable types and there are many commons with different variable names
> that contribute to the confusion when debugging. Setting “implicit none” creates too many errors, since sometimes is not easy
> to assign the type of the variable on a code with 30 routines and more than 5000 lines.
> I am considering reviewing it fully, but first would like to know if there is some options that could help emulating
> an older compiler for fortran IV. In the moment the fortran routines have type .f 
> Thanks anyway
> Cheers
> João Correia

Those old programs often made assumptions such as those covered by
gfortran -fno-automatic -finit-local-zero .  There was no portability or
standards checking in most compilers, and chances are your program was
never analyzed for those.  I don't think gfortran carried over the
-fone-trip option from g77, another assumption which many people
considered erroneously to be part of f66 standard.   You may be stuck
with setting implicit none and weeding out errors.

Tim Prince

More information about the Gcc-help mailing list