(j3.2006) J3 Fortran interp letter ballot #17 - due 25-Jul-2008
Michael Ingrassia
michaeli
Fri Jul 25 18:43:26 EDT 2008
The following Fortran interpretations are being balloted:
Yes No Number Title
-Y- --- F95/0074 TARGET dummy arguments and POINTER expressionsx
-Y- --- F95/0102 mask-expr evaluated only once
-Y- --- F03/0049 Separators in list-directed output involving
UDDTIO
-Y- --- 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
-C- --- 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?
--- -N- F03/0112 attributes allowed for dummy arguments in defined
assignments
-C- --- F03/0117 STOP executed via function in input/output list
General comment
I agree with Malcolm that this process should be independent of the
process for finalizing F2008 text, and consequently that information
about the state of Fortran 2008 with respect to these issues should be
kept out of the interpretations document.
Not that it wouldn't be nice to keep a running tally of whether Fortran 2008
agrees with or overturns the corrigenda established by the interpretations
process.
-C- --- F03/0076 Scope of Fortran names of procedures with binding labels
The ANSWER says that an external C procedure must be given a unique
Fortran name inside a Fortran program. But that begs the question of
whether non-Fortran procedures have an attribute that could be called their
"Fortran name". I don't think they do, in general. Certainly the
name AnExternalCProcedure must be unique, but should calling it CProc in
module A lay a claim to it being the unique name of that procedure ?
We might prefer the name "foo" in some places and we can say
use A, foo => CProc
call foo()
Chances are, if you could inspect the source for this procedure
(which by definition isn't Fortran source)
there would be zero chance of finding "CProc" as its name.
--- -N- F03/0112 attributes allowed for dummy arguments in defined assignments
The submitter says that use of POINTER/ALLOCATABLE attributes,
because they don't disambiguate generic declarations, will prevent the
normal declarations of defined assignments. I am not sure I appreciate
the submitter's point; I think it means that if I am handed code where
defined assignment uses a "silly" declaration, I can't make the defined
assignment interface usable by extending it. If so, I agree.
But surely I can still make the
interface usable by first removing the "silly" declaration.
So no problem is actually being solved here, and no edits are necessary.
-C- --- F03/0117 STOP executed via function in input/output list
The first edit is clearly needed. I would not insist on the
second edit as that action more properly seems to belong to Fortran 2008
(it feels like a "new feature" which we should avoid in interpretations).
--Michael I.
More information about the J3
mailing list