(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
UDDTIO
--- -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
labels
-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
arguments
-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
assignments
-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 9.5.3.7.2 [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