(j3.2006) J3 Fortran interp letter ballot #17 - due 25-Jul-2008

Jim Xia jimxia
Thu Jul 10 15:10:21 EDT 2008

Vote from Jim Xia, IBM

The following Fortran interpretations are being balloted:

Yes  No   Number    Title

-Y-  ---  F95/0074  TARGET dummy arguments and POINTER expressions
-Y-  ---  F95/0102  mask-expr evaluated only once
-Y-  ---  F03/0049  Separators in list-directed output involving 
---  -N-  F03/0071  Subroutine/function ambiguity in generics
-Y-  ---  F03/0073  C interop of dummy procedures
-Y-  ---  F03/0074  Type mismatch for C character arguments
-Y-  ---  F03/0075  C interop of derived types with array components
-Y-  ---  F03/0076  Scope of Fortran names of procedures with binding
-Y-  ---  F03/0077  LBOUND of array structure component
-Y-  ---  F03/0081  F edit descriptor with field width 0
-Y-  ---  F03/0082  VALUE in place of INTENT for pure procedure dummy
-Y-  ---  F03/0087  Entry names as dummy procedure arguments
-Y-  ---  F03/0098  Does allocate with source= define subcomponents?
-C-  ---  F03/0112  attributes allowed for dummy arguments in defined
-C-  ---  F03/0117  STOP executed via function in input/output list

NO vote on F03/0071

The second answer says the main program is standard conforming and the
reason is
  "Since the generic does not allow a subroutine as an argument, it
   must therefore be a function."

This is not a convincing argument at all because the call statement
   "call q(ff)"
could also be a mistake made by the user.  Without declarations that
make the entity ff definitely a function, this call is ambiguous, and
shouldn't be allowed (as standard conforming).  The edits should be
extended to cover this case.

Comment on F03/0112

The answer conflicts with the edits.  The answer should be fixed to say
the second dummy argument in a defined assignment does not allow
ALLOCATABLE attribute.

Comment on F03/0117

In the question section, the argument that F03 allows execution of
CLOSE statement on external file during internal IO statement is false.
The F03 standard clearly states that CLOSE is not allowed during DTIO as
stated in [202:27-28].  Furthermore, the standard says during
an internal recursive IO, no external unit can be referred to as indicated
in 9.11 [219:10-11].

Jim Xia

RL Fortran Compiler Test
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7
Phone (905) 413-3444  Tie-line 313-3444
email: jimxia at ca.ibm.com
D2/YF7/8200 /MKM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20080710/ffedc800/attachment.html 

More information about the J3 mailing list