<br><tt><font size=2>> > <br>
> >  > INTENT doesn't help with non-contiguous buffers.  <br>
> > <br>
> > There is a subtle difference an intent can make: INTENT(IN) will
<br>
> > suppress copy-out if copying has to be made by the compiler.<br>
> <br>
> Yes, this is a good point in favor of intent.  Similarly, an
INTENT(OUT) <br>
> dummy would suppress a copy-in before the call.<br>
</font></tt>
<br>
<br><tt><font size=2>That's not true.  An INTENT(OUT) will not always
suppress a copy-in. How would you suppress the copy-in of x(::2) at call
foo for the following case?</font></tt>
<br>
<br>
<br>
<br><tt><font size=2>module m</font></tt>
<br><tt><font size=2>    contains</font></tt>
<br><tt><font size=2>    subroutine foo (x)</font></tt>
<br><tt><font size=2>        real, intent(out) :: x(3)</font></tt>
<br>
<br><tt><font size=2>        x(:) = [1,2,3]</font></tt>
<br><tt><font size=2>    end subroutine</font></tt>
<br><tt><font size=2>end module</font></tt>
<br>
<br><tt><font size=2>use m</font></tt>
<br><tt><font size=2>    real x(10)</font></tt>
<br>
<br><tt><font size=2>    call foo(x(::2))</font></tt>
<br><tt><font size=2>end</font></tt>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Cheers,</font>
<br>
<br><font size=2 face="sans-serif">Jim Xia<br>
<br>
XL Fortran Compiler Test<br>
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7<br>
Phone (905) 413-3444  Tie-line 313-3444<br>
email: jimxia@ca.ibm.com<br>
D2/YF7/8200 /MKM<br>
<br>
</font><a href=http://www.ibm.com/software/awdtools/fortran/xlfortran><font size=2 face="sans-serif">http://www.ibm.com/software/awdtools/fortran/xlfortran</font></a>
<br>