Bertrand Meltz wrote:
> do i=1, d2
> n2(i) = MERGE( n1(i), n1(i-d1), ( i < d1+1 ) )
> end do
> I filed this problem on the support site of the compiler editor,
> and I received the answer that the standard does not say WHEN the
> the elements of a MERGE should be evaluated
There has been a lot of talk about this on J3 since I've been on it, and
probably more before I joined. The standard as is does in fact specify
that any actual arguments (to any procedure, intrinsic or otherwise) get
evaluated before the procedure execution begins. What you need in order
to skip evaluation is some type of "conditional inside an expression".
Van was proposing adding such things to the next revision, but as far as
I remember nothing really happened, mostly because there are strong
opinions on this in the committee :-( But he probably has a better answer?
Best,
Aleks
|