>>>>> This is what Fortran standard says:
>>>>> 
>>>>>  The iteration count is established and is the value of the expression 
>>>>> (m2-m1+m3)/m3 unless that value is negative,
>>>>>  in which case the iteration count is 0.
>>>>> 
>>>>> My reading of this is that the do statement is undefined whenever the 
>>>>> expression above is undefined
>>>>> (m1 is lower bound, m2 is upper bound, m3 is step) and because I think 
>>>>> the evaulation order of
>>>>> m2-m1+m3 is not fixed, I think the statement is not defined whethever 
>>>>> (m2-m1), (m1+m3) or (m2-m1)+m3

In the Fortran standard, (m2-m1+m3)/m3 is a mathematical expression, not a 
“construct”. So it cannot be “undefined”.
If you have explicit cases where you are asking “is this valid or invalid” 
please post them here (fortran@) and we will tell you.

FX

Reply via email to