From zongaro@ca.ibm.com  Fri Jul 14 22:32:40 2000
Received: from e32.bld.us.ibm.com (e32.co.us.ibm.com [32.97.110.130])
	by dkuug.dk (8.9.2/8.9.2) with ESMTP id WAA63648
	for <sc22wg5@dkuug.dk>; Fri, 14 Jul 2000 22:32:39 +0200 (CEST)
	(envelope-from zongaro@ca.ibm.com)
From: zongaro@ca.ibm.com
Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.99.132.205])
	by e32.bld.us.ibm.com (8.9.3/8.9.3) with ESMTP id QAA17564
	for <sc22wg5@dkuug.dk>; Fri, 14 Jul 2000 16:30:09 -0400
Received: from d53mta05h.boulder.ibm.com (d53mta05h.boulder.ibm.com [9.99.142.5])
	by westrelay02.boulder.ibm.com (8.8.8m3/NCO v4.9) with SMTP id OAA53320
	for <sc22wg5@dkuug.dk>; Fri, 14 Jul 2000 14:32:33 -0600
Received: by d53mta05h.boulder.ibm.com(Lotus SMTP MTA v4.6.5  (863.2 5-20-1999))  id 8725691C.0070D482 ; Fri, 14 Jul 2000 14:32:24 -0600
X-Lotus-FromDomain: IBMCA@IBMUS
To: sc22wg5@dkuug.dk
Message-ID: <8725691C.0070D269.00@d53mta05h.boulder.ibm.com>
Date: Fri, 14 Jul 2000 16:32:06 -0400
Subject: WG5 letter ballot on Fortran 95 interpretations - parts 1 and 2
Mime-Version: 1.0
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline




The following Fortran 95 interpretations are being balloted.  With the help
of Paul Gooderham and Kelvin Li, here are my votes.

Yes    No    Number    Title

---    -X-   000067    Writing zeros

   Minor comment:

     The edit to [4:24+], mentions the behaviour of namelist output.
     Because FORTRAN 77 did not include support for namelist, it's not
     necessary to mention the change in behaviour.  We would recommend
     changing the start of that edit from "List directed and namelist
     output statements" to "List-directed output statements".

     In the edits to [3:32+] and [4:24+], "List directed" should be
     "List-directed".

   Substantive comment:

     We do not believe that the fact that X3J3 changed the representation
     of real zero under a G edit descriptor, but not in list-directed
     output, was an oversight.  X3J3 was specifically asked to consider
     changing the G edit descriptor in paper 88(11) JHM-1 "SG11 Clean-up
     proposals"; that request made no mention of list-directed output.

     As has been pointed out by Malcolm Cohen and Richard Maine, the
     treatment of real zero in list-directed output is well-known.  Any
     change would affect many verification files for user programs, not to
     mention similar verification files in compiler test suites.  Such a
     change should not be entered into lightly in interpretation
     processing.

-X-    ---   000068    Asterisks as I/O units

-X-    ---   000069    What is a numeric character?

-X-    ---   000070    Asymmetry between constant specification and
                       initialization expressions

   An editorial comment:  the edits on page 39 need to update the section
   references.

     [39:15-16] Change "a constant specification expression (7.1.6.2)"
                to "an initialization expression (7.1.6.1)".
     {Fix array components.}

     [39:23-24] Change "a constant specification expression (7.1.6.2)"
                to "an initialization expression (7.1.6.1)".
     {Fix character string components.}

---    -X-   000071    Character array constructors

   Consider the following array constructors, where V is a character
   variable:

     (/(V(I:I), I=17,15)/)
     (/('ABC'(J:J), J = 2, 0)/)

   According to the proposed edits, we believe both of the preceding array
   constructors would be permitted as zero-sized character array
   constructors.  Subclause 7.1.6.1, list item (8) states that an array
   constructor implied-DO variable is an initialization expression, if its
   bounds and stride are initialization expressions; that is the case for
   both I and J in the examples.  List item (1) states, along with
   [94:28-29] that a subobject of a constant is an initialization
   expression, if the substring starting point and substring ending point
   are initialization expressions; that is the case for 'ABC'(J:J).

   In the first case, the array constructor has an <ac-value> that is a
   variable with a <substring-range> in which all expressions are
   initialization expressions; in the second case, the array constructor
   has an <ac-value> that is an initialization expression.  Hence, both
   comply with the proposed edit to [45:38+].  However, it's not clear what
   is the length of either array constructor, which is what this
   interpretation was intended to clarify.


   In addition, we're still concerned about the anomalies that this change
   introduces.  Consider the following examples, where V is a character
   variable.  According to the proposed edits, the first array constructor
   would be permitted, but the second would not because it doesn't have an
   <ac-value> that is an initialization expression or a variable.  This
   seems like an undesirable inconsistency.

     (/(V, I = 1, 0)/)
     (/ (/(V, I = 1, 0)/) /)

-X-    ---   000072    Resolving generic procedure references

-X-    ---   000076    INTENT(IN) dummy arguments and implied DO loops

-X-    ---   000077    INTENT(IN) dummy arguments and NULLIFY

-X-    ---   000079    Pointer Assignment and Allocatable Arrays

-X-    ---   000080    Host association and the EXTERNAL attribute

-X-    ---   000082    Usage of BOZ literal constants

-X-    ---   000083    Scope of array-constructor implied-DO variable

-X-    ---   000084    Events that cause variables to be defined

------------------------------------------------------------------

At the risk of stating the obvious, the following interpretations are all
against Fortran 90; the references are to Fortran 90, rather than Fortran
95.  With reference to F90/000185, in particular, it is interesting to note
that Fortran 95 already makes explicit the allocation and association
status of arrays after an ALLOCATE statement fails (6.3.1).


-X-    ---   F90/000100 ASSOCIATED intrinsic and zero-sized objects

-X-    ---   F90/000179 DO variable with POINTER attribute

-X-    ---   F90/000185 What is the allocation status of an array
                        after an allocation failure?

-X-    ---   F90/000194 Statements between SELECT CASE and CASE


Thanks,

Henry
------------------------------------------------------------------------
Henry Zongaro      IBM Distributed Debugger Development
IBM SWS Toronto Lab   Tie Line 778-6044  Phone (416) 448-6044
Internet id: zongaro@ca.ibm.com


