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