Compiler loop do know why

Compiler loop do know why

Hi everyone,

I have a compiler loop and I do not why. In the oroginal code there is a do--end do. the program works.

If I insert a "definitions" at the end of the do-enddo the progran runs but does not stop. 

Do you know why? I made some error?

the do end do is:

DO IP=1,NPT

....

....

ENDDO

RHO(IP)=1000.D0

7 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di mecej4

You showed too little a part of the code to answer, but here is one point for you to consider. After the DO loop ends, the value of IP is NPT+1. If the array RHO is dimensioned 1:NPT, the assignment statement following the ENDDO causes an array overrun, and other unpredictable side effects may follow, including failure to complete execution in a nice way.

hi,
thank for the answer. Is there any option in the compilation to find this error?
I have just posted a question in the forum about that.
thanks

Ritratto di jimdempseyatthecove

You can add the runtime check for array index out of bounds in your debug build. This should catch most of the errors.

Jim Dempsey

www.quickthreadprogramming.com

hi,
sorry, but how can I do it?
thanks

Ritratto di Steve Lionel (Intel)

-CB or -check bounds

Steve

Hi,
thanks a lot it really helps me.
so again thanks, I have saved a lot of time.

Accedere per lasciare un commento.