next up previous
Next: AssertRangeWritten Up: Polaris Assertions and Previous: AssertReduction

AssertFirstValue

The AssertFirstValue assertion lists the variables which are read before they are written in a loop. The range of the first read is given on the assertion.

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

CSRD$ FIRSTVALUE q, z(1:m:1)

An example of its usage is as follows:

CSRD$ PARALLEL (J)
CSRD$ LOOPLABEL 'ADDUP_do#1'
      DO J = 1, N
CSRD$ FIRSTVALUE q, z(1:m:1)
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