The C*$* assert noequivalence hazard
assertion tells
KAP that equivalenced variables will not be used to refer to the
same memory location inside one DO loop nest. Normally, equivalence
statements allow different variable names to refer to the same
storage location. The /assume=e
command qualifier acts
like a global C*$* assert equivalence hazard
assertion.
The equivalence hazard
assertion is active until reset
or until the end of the program.
In the following example, if arrays E
and
F
are equivalenced, but you know that the overlapping
sections will not be referenced in this loop, using C*$*
assert noequivalence hazard
allows KAP to optimize the loop:
EQUIVALENCE ( E(1), F(101) ) C*$* ASSERT NO EQUIVALENCE HAZARD DO 10 I = 1,N E(I+1) = B(I) C(I) = F(I) 10 CONTINUE