I have the following lines of code (reduced, since 90% is irrelevant to my question)…
<BEGINNING OF THE WHOLE PROGRAM> <SOME CALCULATIONS HERE> if(ifirst .eq. 0) then <SOME CALCULATIONS HERE> endif if(nrec .ne. 0) then if(CorM .lt. zMmin) then <SOME CALCULATIONS HERE> return endif if(CorM.lt.zM(N)) then <SOME CALCULATIONS HERE> return endif endif <SOME CALCULATIONS HERE> 88 continue !< restart >! call start(istmod) if(irst.gt.0) then <SOME CALCULATIONS HERE> endif
It’s that continue that piques my curiousity.
Line 286 (the 88 label is on line 128) states…
go to 88
So, obviously this is a jump to the label but why the
Doesn’t the program simply jump to the 88 label and continue execution from that line onwards anyway?
Could I not simply replace it with…
88 call start(istmod) if(irst.gt.0) then <SOME CALCULATIONS HERE> endif
I’m working through the code and will endeavour to replace this jump with a loop of some kind but, for now, I just need to work out the flow of the program overall.
Am I correct? Flow continues to the next line after the
continue statement? But that this would happen anyway; even if I replaced the
continue instruction with the next instruction after it?