From janshep@watson.ibm.com  Tue Jan  9 19:48:13 1996
Received: from watson.ibm.com (watson.ibm.com [129.34.139.4]) by dkuug.dk (8.6.12/8.6.12) with SMTP id TAA14175 for <sc22wg5@dkuug.dk>; Tue, 9 Jan 1996 19:48:06 +0100
Message-Id: <199601091848.TAA14175@dkuug.dk>
Received: from YKTVMV by watson.ibm.com (IBM VM SMTP V2R3) with BSMTP id 1915;
   Tue, 09 Jan 96 13:47:45 EST
Date: Tue, 9 Jan 96 13:47:44 EST
From: "Janice C. Shepherd ((914) 784-6313)" <janshep@watson.ibm.com>
X-Addr: J1-K10, Hawthorne 2
        tieline 863
To: sc22wg5@dkuug.dk
Subject: edits to Fortran 95 draft standard.

Version with 95-007R2 page/line numbers

As per the results of the X3J3 006 letter ballot, and the directions
set by WG5 at the San Diego meeting, the following edits to F95
(95-007r2) should be applied. Defect items 145 and 196 both failed
the ballot so their edits are not in this list. The first
edit in 145 had already been incorporated in F95. That edit is not
in the area of controversy so I have not written up the edit to remove
the text from F95 (see [48:48 - 49:1])

Richard, please apply these edits to the draft standard.

Defect item    Edits for F95

  27      Note: edit 2 replaces edits 230:1-2, 230:3-5 in N1153 (95-278)

               1. In section 13.14.13, [232:19] in the description of the
                  TARGET dummy argument add
                    ". It shall have the same type, type parameters, and rank
                     as POINTER"
                  following
                     "shall be a pointer or target"

               2.  Section 13.14.13, replace Case (ii) [232:25-27] and Case (iii)
                   [232:28-30] with
        "Case (ii):  If TARGET is present and is a scalar target, the
                     result is true if TARGET is not a zero-sized storage
                     sequence and the target associated with POINTER occupies
                     the same storage units (there may be only one) as TARGET.
                     Otherwise the result is false. If the POINTER is
                     disassociated the result is false.

         Case (iii): If TARGET is present and is an array target, the result
                     is true if the target associated with POINTER and TARGET
                     have the same shape, are not of size zero nor arrays whose
                     elements are zero-sized storage sequences, and occupy the
                     same storage units in array element order.  Otherwise
                     the result is false. If the POINTER is disassociated the
                     result is false.

         Case (iv):  If TARGET is present and is a scalar pointer, the result
                     is true if the target associated with POINTER and the
                     target associated with TARGET are not zero-sized storage
                     sequences and they occupy the same storage units (there
                     may be more than one).  Otherwise the result is false.
                     If either POINTER or TARGET is disassociated, the result
                     is false.

         Case (v):   If TARGET is present and is an array pointer, the result
                     is true if the target associated with POINTER and the
                     target associated with TARGET have the same shape, are
                     not of size zero nor arrays whose elements are zero-sized
                     storage sequences, and occupy the same storage units in
                     array element order.  Otherwise the result is false.
                     If either POINTER or TARGET is disassociated, the result
                     is false. "


  81           1. In section 12.4.1.6 [203:26-28], delete the first
                  sentence of (1).

               2. In section 12.4.1.6 [203:34] after 2nd ',' in (c) insert
                   " the dummy argument is a scalar object or an assumed-shape
                     array,"

               3. In section 12.4.1.6 [204:17],
                    change "pointer association status of A"
                        to "allocation of B"

               4. In section 12.4.1.6 [204:20-21]
                    replace ", but would ... attribute."
                         by ". If B were declared with the POINTER attribute
                             either of the statements
                                 DEALLOCATE(A)
                             or
                                 DEALLOCATE(B)
                             would be permitted, but not both."

               5. In section 12.4.1.6 [205:5-7], delete the first sentence
                  of (2).

               6. In section 12.4.1.6 [205:14] after 2nd "," in (c) insert
                  " the dummy argument is a scalar object or an assumed-shape
                    array,"


 125      Note: edit 4 is the same as edit 331:26 in N1153 (95-278)

               1. In section 12.4.1.1 delete the last sentence of the 4th
                  paragraph [200:30-32]

               2. In section 12.4.1.1, add to the end of the 7th paragraph
                  [200:45]
                  "If such a dummy argument is associated with a dummy argument
                  with the TARGET attribute, whether any pointers associated
                  with the original actual argument become associated with the
                  dummy argument with the TARGET attribute is processor
                  dependent."

               3. In section 12.4.1.2, 8th paragraph, [201:1]
                  Change 'is either scalar or is an assumed-shape array'
                      to 'is either a scalar or an assumed-shape array'

               4. In section 12.4.1.2 replace the 9th paragraph [201:8-10] by
                  "If the dummy argument has the TARGET attribute and is an
                   explicit-shape array or is an assumed-size array, and the
                   corresponding actual argument has the TARGET attribute but is
                   not an array section with a vector subscript

                     (1) On invocation of the procedure, whether any pointers
                         associated with the actual argument become associated
                         with the corresponding dummy argument is processor
                         dependent and

                     (2) When execution of the procedure completes, the pointer
                         association status of any pointer that is pointer
                         associated with the dummy argument is processor
                         dependent.

               5. In section C.9.5 [336:32]
             Change "and is scalar or assumed-shape"
                 to "and is either a scalar or an assumed-shape array"

 148           1. [262:15+] In Section 13.14.86, before "Examples", insert the
                  following paragraph:

         "The pseudorandom number generator accessed by RANDOM_SEED and
          RANDOM_NUMBER maintains a seed that is updated during the execution
          of RANDOM_NUMBER and that may be specified or returned by RANDOM_SEED.
          Computation of the seed from argument PUT is performed in a
          processor-dependent manner.  The value specified by PUT need not be
          the same as the value returned by GET in an immediately subsequent
          reference to RANDOM_SEED.  For example, following execution of the
          statements

                    CALL RANDOM_SEED(PUT=SEED1)
                    CALL RANDOM_SEED(GET=SEED2)

          SEED1 need not equal SEED2.  When the values differ, the use of either
          value as the PUT argument in a subsequent call to RANDOM_SEED will
          result in the same sequence of pseudorandom numbers being generated.
          For example, after execution of the statements

                    CALL RANDOM_SEED(PUT=SEED1)
                    CALL RANDOM_SEED(GET=SEED2)
                    CALL RANDOM_NUMBER(X1)
                    CALL RANDOM_SEED(PUT=SEED2)
                    CALL RANDOM_NUMBER(X2)

          X1 equals X2."


 187            1. Delete the second sentence of 5.1.2.8 [57:18-19].

                2. Section 5.5.2.3 [70:22] (95-007r2)
                    Change 'shall' to 'may'

                3. Section 5.5.2.3 [70:23] (95-007r2)
                    Change 'attribute.'
                    to 'attribute and the same type and type parameters.'

 201            1. In section 13.14.95, the paragraph prefaced with
                   "Result Value", [265:40-41]
                    change "if the precision is not available"
                        to "if the processor does not support a real data type
                            with a precision greater than or equal to P"

                2. In section 13.14.95, the paragraph prefaced with
                   "Result Value", [265:41]
                   change "if the exponent range is not available"
                       to "if the processor does not support a real data type
                           with an exponent range greater than or equal to R"

                3. In section 13.14.95, the paragraph prefaced with
                   "Result Value", [265:41]
                    change "if neither is available"
                        to "if neither is supported"

 203            1. In section 14.4, 2nd sentence  [281:28],
                    Add "that is not an extended intrinsic operator"
                   after "A defined operator"

                2. In section 14.5, 2nd sentence [281:33],
                    Add ", or replace the intrinsic derived type assignment
                         operation" after "operations"


Thanks
Janice
