From janshep@watson.ibm.com  Mon Nov 27 18:24:57 1995
Received: from watson.ibm.com (watson.ibm.com [129.34.139.4]) by dkuug.dk (8.6.12/8.6.12) with SMTP id SAA19747 for <sc22wg5@dkuug.dk>; Mon, 27 Nov 1995 18:24:49 +0100
Message-Id: <199511271724.SAA19747@dkuug.dk>
Received: from YKTVMV by watson.ibm.com (IBM VM SMTP V2R3) with BSMTP id 4313;
   Mon, 27 Nov 95 12:24:32 EST
Date: Mon, 27 Nov 95 12:22:52 EST
From: "Janice C. Shepherd ((914) 784-6313)" <janshep@watson.ibm.com>
X-Addr: J1-K10, Hawthorne 2
        tieline 863
To: sc22wg5@dkuug.dk

*** Material needed for upcoming X3J3 letter ballot ****

There were 13 defect items approved at the WG5 meeting subject to an
X3J3 letter ballot. These 13 defect items all have edits to Fortran 90.
Some of those edits are not reflected in the Fortran 95 standard.
The following is the list of edits (using page/line numbers from the
CD - 95-007r1) that correspond to the defect item edits. As per
N1160 (S35) these edits will be included in the upcoming X3J3 letter
ballot.
(Richard Maine: Once the new version of F95 is available, I'll work out
what the new page/line numbers should be).

Janice

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, [229:36] 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) [230:1-2] and Case (iii)
                   [230:3-5] 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 or 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 or 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 [201:42-44], delete the first
                  sentence of (1).

               2. In section 12.4.1.6 [202:3] after ',' insert
                   " the dummy argument is a scalar object or an assumed-shape
                     array,"

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

               4. In section 12.4.1.6 [202:37-38]
                    replace ", but would ... attribute."
                         by ". If B were declared with the POINTER attribute
                             the statements
                                 DEALLOCATE(A)
                             and
                                 DEALLOCATE(B)
                             would both be permitted."

               5. In section 12.4.1.6 [203:29-31], delete the first sentence
                  of (2).

               6. In section 12.4.1.6 [204:2] after "," 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 [198:39-41]

               2. In section 12.4.1.1, add to the end of the 7th paragraph
                  [199:8]
                  "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 replace the 9th paragraph [199:16-18] 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.

                     (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.

               4. In section C.9.5 [331:26], replace "attribute," by
                      "attribute and is either scalar or is an assumed-shape
                       array,"


 145           1. Section 6.1.1, add to the end of the paragraph before the
                  examples [72:33+]
             "A substring shall not be referenced or defined before the
              declaration of the type and type parameters of the parent string,
              unless the type and type parameters are determined by the implicit
              typing rules of the scope."

               2. Section 6.2.2, the paragraph preceding Note 6.5, following
                  the second sentence [74:20], insert
                 "An array element or array section shall not be referenced
                  or defined before the declaration of the array bounds."

               3. Section 7.1.6.1, in the paragraph after the constraints
                  [92:39-40],
                change "object specified in the same <specification-part>, the
                        type parameter or array bound shall be specified in
                        a prior specification of the <specification-part>."
                   to     "object declared in the same scoping unit, the type
                           parameter or array bound shall be specified in a
                           specification prior to the initialization expression."

               4. Section 7.1.6.2, in the second paragraph after the constraint
                 [94:29-30],
              change "entity specified in the same <specification-part>, the
                      type parameter or array bound shall be specified in
                      a prior specification of the <specification-part>."
               to     "entity declared in the same scoping unit, the type
                       parameter or array bound shall be specified in a
                       specification prior to the specification expression."


 148           1. [259:11+] 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."

 154            Edit already listed in WG5 list of edits [66:32].

 155            Task was specifically assigned to X3J3 by WG5 under a separate
                item. Proposed edit will be included by F95 editor.


 176            Both edits are already in F95 (in the CD).

 183            Edits are intentionally a subset of that permitted in F95 (in CD)

 187            1. Delete the second sentence of 5.1.2.8 [56:36-37].

                Rest of edits are already in F95 (in the CD).

 196            1.In section 14.1.2, 1st sentence of note [272:8],
                  change "having the same name"
                      to "having the same name, except when the other local
                          entity and the intrinsic are both generic procedures"

                2. In section 14.1.2, 3rd paragraph, [272:4], change
                    change "in the case of"
                        to "when both are"

 201            1. In section 13.14.95, the paragraph prefaced with
                   "Result Value", [262:32]
                    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", [262:32-33]
                   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", [262:33]
                    change "if neither is available"
                        to "if neither is supported"

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

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

