From J.Reid@directory.rl.ac.uk Mon Mar  8 16:14:54 1993
Received: from danpost4.uni-c.dk by dkuug.dk with SMTP id AA19556
  (5.65c8/IDA-1.4.4j for <SC22WG5@dkuug.dk>); Mon, 8 Mar 1993 21:56:50 +0100
X400-Received: by mta danpost4.uni-c.dk in /PRMD=minerva/ADMD=dk400/C=dk/;
               Relayed; Mon, 8 Mar 1993 21:55:43 +0100
X400-Received: by /PRMD=uk.ac/ADMD= /C=gb/; Relayed;
               Mon, 8 Mar 1993 21:26:24 +0100
X400-Received: by /PRMD=uk.ac/ADMD= /C=gb/; Relayed;
               Mon, 8 Mar 1993 18:50:40 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Mon, 8 Mar 1993 15:12:05 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Mon, 8 Mar 1993 15:14:54 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Mon, 8 Mar 1993 15:14:54 +0100
Date: Mon, 8 Mar 1993 15:14:54 +0100
X400-Originator: J.Reid@directory.rutherford.ac.uk
X400-Recipients: SC22WG5@dkuug.dk
X400-Mts-Identifier: [/PRMD=UK.AC/ADMD= /C=GB/;<9303081414.AA06262@numerical.cc]
X400-Content-Type: P2-1984 (2)
Content-Identifier: N865 vote
From: " (John Reid)" <jkr@directory.rl.ac.uk>
Sender: J.Reid@directory.rl.ac.uk
Message-Id: <9303081414.AA06262@numerical.cc.rl.ac.uk>
To: jtm@llnl.gov
Cc: SC22WG5@dkuug.dk
Subject: N865 vote
X-Charset: ASCII
X-Char-Esc: 29


|Y|wc  N                          N865 Item

|x|_| |_| 000000 Minor edits and corrections to ISO/IEC 1539:1991 (E)
|x|_| |_| 000001 Equivalence of Expression Evaluations
|x|_| |_| 000002 Default Main Program Name
|x|_| |_| 000003 Preconnected Units and UNIT=*
|x|_| |_| 000005 Namelist Output of Zero Length Character Strings
|x|_| |_| 000006 Procedure Specifications in a Scoping Unit
|x|_| |_| 000009 Generic Interfaces with the Same Name in a Program
|x|_| |_| 000010 Generic Interfaces with the Same Name in a Scoping Unit
|_|_| |x| 000013 Implicit Environment of an Interface Block
|x|_| |_| 000014 Interface for Character Function with a Variable Length Result
|x|_| |_| 000015 Error in Fourth Constraint for R429
|x|_| |_| 000016 Character Length Specification
|x|_| |_| 000017 Creation of Entities by Local Names in rename-list
|x|_| |_| 000018 Valid Characters Indicating Fixed Form Statement Continuation
|x|_| |_| 000019 Correctness of Last Example in Section 4.5
|x|_| |_| 000020 References to the Same Derived Type by Different Names
|x|_| |_| 000021 References to Different Derived Types with the Same Name
|x|_| |_| 000022 Use of Derived Type Name in Host Scoping Unit
|x|_| |_| 000024 IMPLICIT NONE and the Type of an Internal Procedure Result
|x|_| |_| 000025 Resolution of Internal Procedure References
|x|_| |_| 000026 Bounds of Array Expressions
|x|_| |_| 000031 Overloaded Implied-DO Variable Names
|x|_| |_| 000032 Implicit Declaration of a Derived Type
|x|_| |_| 000036 Pointer to an Assumed-size Array
|x|_| |_| 000037 Use of Array Sections in Pointer Assignment Statements
|_|x| |_| 000038 Same Interface Body in Multiple Generic Interface Blocks
|x|_| |_| 000040 Allocation of Arrays of Pointers
|x|_| |_| 000042 KIND parameter value
|x|_| |_| 000043 List-directed character input
|x|_| |_| 000044 END Statement and Fixed Form Source
|x|_| |_| 000045 Array Intrinsics with Arrays of Derived-type Arguments
|x|_| |_| 000046 RESULT clause for RECURSIVE functions
|x|_| |_| 000047 Automatic data object in initialization expressions
|x|_| |_| 000048 Pointer-valued statement functions
|x|_| |_| 000050 Repeat counts on edit descriptors
|x|_| |_| 000051 On Unambiguous generic procedure references
|x|_| |_| 000052 Expressions in Statement Function Definitions
|x|_| |_| 000053 Optional Intrinsic Function Arguments
|x|_| |_| 000055 Characteristics of character function results
|x|_| |_| 000056 TRANSFER intrinsic function description
|x|_| |_| 000057 Prohibition against multiple explicit specific interfaces
|x|_| |_| 000059 SEQUENCE derived type and component bounds
|x|_| |_| 000060 Statement function argument references
|x|_| |_| 000061 G edit descriptor with _d_ = 0
|x|_| |_| 000062 Statement function constraints
|x|_| |_| 000063 Interfaces and dummy procedure arguments
|x|_| |_| 000064 SPACING result for 0.0
|x|_| |_| 000065 Block and Nonblock DO Construct
|x|_| |_| 000066 Declaration of FUNCTION type
|x|_| |_| 000067 Output of negative signed zero
|_|x| |_| 000068 Pointer association status
|x|_| |_| 000069 I/O implied DO variable
|x|_| |_| 000072 Missing constraint for SIZE=
|x|_| |_| 000074 Meaning of "referenced" in 11.3.2
|x|_| |_| 000078 Intrinsic functions in MODULE specification statements
|_|x| |_| 000080 Vector subscripts in masked array assignment statements
|_|x| |_| 000084 Change masked array assignment constraint to prose
|x|_| |_| 000085 Nondefault Integer Data Type for UNIT=, ... Specifiers
|x|_| |_| 000094 Functions in WRITE statement implied-DO loops
|x|_| |_| 000095 Functions in IOLENGTH implied-DO loops
|_|_| |x| 000098 KIND param and list directed I/O
|_|x| |_| 000103 Statement Function with unreferenced dummy argument
|x|_| |_| 000104 rounding formatted output
|x|_| |_| 000107 USE renaming of generic and specific interfaces
|x|_| |_| 000109  Intrinsic Function ASSOCIATED
|x|_| |_| 000110 Named Constant Shape Specification
|x|_| |_| 000115 Multiple dummy arguments
|x|_| |_| 000118 Named constructs and host association
|x|_| |_| 000119 Rank of assumed-shape array
|x|_| |_| 000120 PRESENT intrinsic and host association	



General comments:

1.
For some edits, it is very hard to find the place (see, e.g., 57).
Others are easy because they include page and line numbers in square
brackets (see, e.g., 74). I believe that such references will also help
those with the ISO standard and no line numbers. I therefore propose
that every edit should include them. It should be remembered that the
conscientious reader has to mark his or her copy manually.

2. 
Some of the S20 items should be formally approved by WG5, but not 
actually put in the ISO annex. At present, anyone having a bit of 
difficulty understanding something can ask X3J3 for an interpretation,
and the mechanism will grind on until an annex item is approved.
Only where an edit is needed or it is clear that additional explanation
will help many readers should the item be included in the annex.
WG5 and X3J3 would record such items as "approved by WG5 and X3J3"
rather than "included in annex xxx". Items 24, 36, 37, 42, 94, and 95 
fall into this category, in my opinion.

3. 
In a number of places, two words have been run together. See 'inthe' in
the first line of the 00017 discussion, for example. I think that this is
just a formatting problem in the WG5 version. Please check. 



Reasons for NO votes

000013	
The discussion starts: "Unlike other scoping units that are contained
within a host scoping unit, an interface body does not access entities
from its host by host association.". This is not what the standard
says.  It is what X3J3 wants it to say and what it will say if the
edits are accepted. Nor is it true to say that "The possibility of
there being different implicit mappings was inadvertently
overlooked.".  The rules for IMPLICIT typing in nested scoping units
were discussed at length in Albuquerque in March 1987 and resolved by
the adoption (15-0) of 103-117, a joint paper by myself and Larry
Rolison. The introduction says "Straw votes yesterday were strongly in
favour of simplifying the default IMPLICIT rules so that a scoping unit
in a host always has the host's IMPLICIT rules as its default.  This
proposal implements the change." The text that the edits change was
adopted then and remained unchanged thereafter.
   We should not be making a technical change to the standard just because
we think it would make it better. It should be demonstated that the
standard is in error.

000098
The edit is inappropriate. No edit is needed. For namelist, no kind
parameters are allowed in a <namelist-group-name> (see 152/10). For
any kind of formatted i/o, the values are strings of characters that 
are interpreted according to section 10 (see, e.g., 10.5.1.2.1 on page 140)
with no mention of named constants. 



Comments with YES votes

000038
I think better advice could be given in the final paragraph. I suggest:
   The program could be made standard conforming by putting CMN 
   in a third module and using it from both MOD1 and MOD2.

000068
In the edit, line 1 of the new item (e), change 'procedure' to 'scoping unit'.
This is a scoping issue. Remember that, in view of entry statements, a
subprogram may define several procedures. 

000080
A better edit would be
   In the second paragraph of section 7.5.3.2 [93:29], delete
   "<expr> of an".  
   In the third paragraph of section 7.5.3.2 [93:34], delete 
   "<expr> of an".

000084
I can see no need to move the text to the next section. A better edit
would be
     Delete the first constraint following rule R743 on page 93.  Use the 
     constraint body as a new paragraph following the other constraints.

000103
In the first line of the answer, change 'coinforming' to 'conforming'.


