next up previous
Next: AssertLoopLabel Up: Polaris Assertions and Previous: AssertPrivate

AssertLastValue and AssertDynLastValue

The AssertLastValue assertion lists private variables whose last value within the loop should be written to the original, shared variable outside the loop, when the loop completes. Variables whose last value is determined to be written wholly within the last loop iteration are listed on this assertion. If a variable is private, and the last value must be copied out, but it cannot be determined at compile time that the last value is written in the last iteration, then that variable is listed on a AssertDynLastValue assertion.

The CSRD directive corresponding to the AssertLastValue assertion appears after the DO statement to which it refers. An example of the CSRD$ directive for this assertion is:

CSRD$ LASTVALUE b(1:m:1), a(1:m:1)

An example of its usage is as follows:

CSRD$ PARALLEL (J)
      DO J = 1, N
CSRD$ PRIVATE a(1:m), b(1:m), x, y
CSRD$ LASTVALUE b(1:m:1), a(1:m:1)
         . . . 
      END DO



Jay Hoeflinger
Mon Apr 21 11:52:18 CDT 1997