Subject: hpff-doc: <section 11>

From: [email-masked]
Date: Tue, 15 Oct 96 15:06:26 -0400

---------------------------------------------------------------------------
[email-masked] is a mailing list for HPF 2.0 language specification
authors and editors.  Instructions for adding or deleting yourself from this
list appear at the bottom of this message.
---------------------------------------------------------------------------

Corrections for Section 11: Approved Extensions for HPF Extrinsics

page 227 lines 7-9 say:

    A nonsequential dummy array argument of an EXTRINSIC(HPF_LOCAL) routine must
have assumed shape in the local procedure, even when it is explicit shape in the (global)
interface description.

This leads to an HPF program being an incorrect Fortran program.  The fix is to 
eliminate the text following the comma.

Also, the extrinsic kind should use the new form.  (This change should be made 
systematically.)

Thus:
    A nonsequential dummy array argument of an EXTRINSIC('HPF','LOCAL') routine must
have assumed shape in the local procedure.

page 227 lines 30-39 say

    If a dummy argument of ... and type parameters.  If the array is sequential ... across
processors.

It is not clear exactly what applies to all array dummy arguments and what applies
to sequential array dummy arguments.  The fix is to make the first sentence into
its own paragraph.

Thus:

    If a dummy argument of ... and type parameters.
    If the array is sequential ... across processors.

pape 227 line 48 thru page 228 line 27

The example is incorrect.  Since Y is explicit shape, it should be sequential, which
is not the intent of the example.  The fix is to change the example as follows:

INTERFACE
  EXTRINSIC('HPF','LOCAL') FUNCTION MATZOH(X, Y) RESULT(Z)
  REAL, DIMENSION(:,:) :: X
  REAL, DIMENSION(:) :: Y
  REAL Z
  !HPH$ ALIGN WITH X(:,*) :: Y(:)   ! note that this asserts that size(y) = size(x, 1)
.....

EXTRINSIC('HPF','LOCAL') FUNCTION MATZOH(XX, YY) RESULT(ZZ)
  REAL, DIMENSION(:,:) :: XX
  REAL, DIMENSION(:) :: YY
.....

---------------------------------------------------------------------------
To (un)subscribe to this list, send mail to [email-masked].
Leave the subject line blank, and in the body put the line
(un)subscribe <email-address>
---------------------------------------------------------------------------