From janshep@watson.ibm.com  Fri Dec 22 16:27:24 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 QAA01223 for <sc22wg5@dkuug.dk>; Fri, 22 Dec 1995 16:27:22 +0100
Message-Id: <199512221527.QAA01223@dkuug.dk>
Received: from YKTVMV by watson.ibm.com (IBM VM SMTP V2R3) with BSMTP id 6121;
   Thu, 21 Dec 95 13:15:48 EST
Date: Thu, 21 Dec 95 13:11:13 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: 006 ballot

Here is Henry's and my ballot (only one vote, but comments from both
of us) on the X3J3 006/F95 edits ballot.

Janice
-----------------------------

 Y|wc  N          95-006 Item  or Fortran 95 edit

|_|X| |_| 000027  Requirements for pointer and target association

|_|X| |_| Fortran 95 edits listed for defect item 27

|_|X| |_| 000081  Pointer actual argument overlap

|X|_| |_| Fortran 95 edits listed for defect item 81

|X|_| |_| 000100  ASSOCIATED intrinsic and zero-sized objects

|X|_| |_| 000125  Copy in/copy out of target dummy arguments

|_|X| |_| Fortran 95 edits listed for defect item 125

|_|X| |_| 000145  Expressions in <type-spec> of a FUNCTION statement

|X|_| |_| Fortran 95 edits listed for defect item 145

|X|_| |_| 000148  RANDOM_SEED, RANDOM_NUMBER

|X|_| |_| Fortran 95 edits listed for defect item 148

|X|_| |_| 000154  EQUIVALENCE and zero-sized sequences

|_|X| |_| 000155  Multiple USE statements, rename and only lists.

|X|_| |_| 000176  Definition of RANDOM_SEED

|_|X| |_| 000179  DO variable with POINTER attribute

|X|_| |_| 000183  Unambiguous procedure overloading

|X|_| |_| 000185  What is the allocation status of an array after an
                  allocation failure?

|_|X| |_| 000187  TARGET attribute, storage association, and pointer ass.

|_|X| |_| Fortran 95 edits listed for defect item 187

|X|_| |_| 000194  Statements between SELECT CASE and CASE

|X|_| |_| 000196  Inaccessibility of intrinsic procedures

|X|_| |_| Fortran 95 edits listed for defect item 196

|X|_| |_| 000201  SELECTED_REAL_KIND result

|X|_| |_| Fortran 95 edits listed for defect item 201

|X|_| |_| 000203  Scope of operator/assignment symbols

|X|_| |_| Fortran 95 edits listed for defect item 203


27 Y  Shepherd  The first sentence of the answer needs to be changed to
        reflect the sense of the edits:

        "The conditions d), e), g), h), i) and j) are sufficient for
         ASSOCIATED (PTR, TGT) to return a value of .FALSE.. The
         conditions a), b), c) and d) are such that if any are true,
         ASSOCIATED (PTR, TGT) is an invalid reference."

         Shouldn't "zero sized storage sequences" be
         "zero-sized storage sequences"?

         Given Henry's observations, the example and the paragraph
         introducing the example should both be deleted from the
         discussion. The rest of the text is sufficient.

27    Zongaro  The example program unit in the discussion shows a COMMON block
               in which a target of type real becomes associated with a target
               of type complex.  Defect item 000160 asked the question "Was it
               the intent of the committee to allow the storage association of
               target variables with nontarget variables and variables of
               different data types?".  The states in part, "No, this was not
               the intent of the standard."

               My interpretation of this response was that neither was it the
               intent of the standard that nontarget variables should be
               storage associated with target variables, nor was it the intent
               of the standard that target variables of different types should
               be storage associated.  However, the discussion of 000160 does
               not make it clear whether my interpretation was the intended
               interpretation, since it only discusses the issue of storage
               association between target variables and nontarget variables.

               If my understanding is correct, the common declarations in the
               example are incorrect.


F95 edits per 27, in cases (ii) and (iii), the last word in each should
   be in lower case. ie "false" not "FALSE"

81 Y Shepherd  The instructions for the last edit should be
     "In section C.12.7, [291:38-42] replace the existing paragraph
      with :"

     In the first edit, in item (c) add a "," ahead of the "and"
     In the sixth edit, in item (c) add a "," ahead of the "and"

     In the 4th edit change "nor the TARGET" to "nor TARGET" to
     be consistent with the style in F95.

F95 edits per 125, I (Shepherd) think the wording in the 3rd line
   of the defect's 3rd edit "is either scalar or is an assumed-shape
   array," is better than the wording in 95-007r2 pg 336:32
   which is "is scalar or assumed-shape". Thus I would add a new
   edit to the list of F95 edits:

      336:32 section C.9.5,
       change "is scalar or assumed-shape"
           to "is either scalar or is an assumed-shape array"

145 Y Shepherd, The wording in F95 is better for the first edit.
       Change the "to" part of the first edit to be
        "in an interface body (12.3.2.1), the specification part of
         a subprogram, or the <type-spec> of a FUNCTION statement
         (12.5.2.2)"

        Given Henry's observations the following changes should be
        made to the discussion:
         Replace the paragraph after "* Structure constructor" with
           "The text from section 7.1.6.1, in (3) of the definition of
            initialization expression, indicates that a structure
            constructor where each component is an initialization
            expression can appear in an initialization expression.
            The referenced type must already be defined (4.4.4).
            Therefore for a structure constructor to appear in an
            initialization expression in the <type-spec> of a FUNCTION
            statement, the type definition must either be accessible
            by host association or by use association."

        Replace the paragraph
            "A structure constructor can not appear in a FUNCTION ..."
        with
            "A structure constructor can appear in a FUNCTION <type-spec>
             providing the resulting expression is of type integer
             and the referenced type is already defined (thus it
             must be accessible by host or use association within the
             function)."

        /interp (or some other subgroup) should then decide if wording
        in 4.4.4 in Fortran 95 should be clarified via an Fortran 95
        interpretation.

145   Zongaro  The discussion under "* Structure constructor" makes the claim
               that structure constructors can not appear in a <kind-selector>.
               Later in the discussion, it is stated that structure
               constructors can not appear in specification expressions in
               FUNCTION <type-spec>s.  Both of these statements are incorrect.
               For example, I believe the following is valid

                  PROGRAM P
                    TYPE DT
                      INTEGER I
                    END TYPE DT
                  CONTAINS
                    CHARACTER(LEN=SIZE((/DT(1)/)),                            &
                 &            KIND=KIND(SIZE((/DT(1)/)))) FUNCTION F()
                      F = 'X'
                    END FUNCTION F
                  END PROGRAM P

               assuming that the processor has a character kind type parameter
               whose value is equal to the kind type parameter of the default
               integer type.

               Should the text in 4.4.4 which states "A structure constructor
               must not appear before the referenced type is defined." be
               modified to handle use association?

155 Y Zongaro  In the discussion, change "(e.g." to "(e.g.,".

179 Y Zongaro  In the discussion, before the line "PRT = 10", change
               "had contained" to "had contained within the DO construct".  In
               the line after "PRT = 10", change "such as assignment" to
               "such an assignment".

187 Y Shepherd Given the wording in defect 160, I agree with Henry that
               the edit should be changed to his proposed wording.
               A similar change should be made to F95; see below.

187 Y Zongaro  Referring to the comments on defect item 27, above, should the
               second edit be changed to the following?

                   "An object with the TARGET attribute must become storage
                    associated only with another object that has the TARGET
                    attribute and the same type and type parameters."

F95 edits per 187 Make the same change as per the 2nd edit of 187.
      The text of the 2nd edit was already part of F95.
      (Using 95-007r2 page/line numbers)
      Section 5.5.2.3 [70:23], change "attribute." to
      "attribute and the same type and type parameters."
