(j3.2006) (SC22WG5.3664) [ukfortran] N1755: Request for new features from MPI Forum

Aleksandar Donev donev1
Tue Nov 11 19:10:13 EST 2008


On Tuesday 11 November 2008 15:51, Bill Long wrote:

> INTENT(IN) implies that the dummy argument does not change its value
> (for the non-pointer case) inside the subprogram.
By means specified by the subprogram. What if the actual changes during the 
execution due to means outside of the program. It would seem very natural to 
me that INTENT(IN) in that case means that the routine should not do copy 
in/out and see the correct value inside the routine.

> Pretty much
> completely incompatible with the implications of volatile.
What implications are those exactly. Please be specific. The VOLATILE 
attribute applies if the object is referenced by means outside of the 
program. It does not have to be changed (defined). Why is that incompatible 
with INTENT(IN).

And more importantly, why is ASYNCHRONOUS different.

Similar stuff for the VALUE attribute. The VALUE attribute and VOLATILE 
together make perfect sense, if the volatility is restricted only to inside 
the routine. The volatility applies to the anonymous copy of the actual, once 
the routine finishes, the changes are thrown out. What is wrong with that?

Best,
Aleks



More information about the J3 mailing list