(j3.2006) (SC22WG5.4529) WG5 ballot on interpretations - N1876
Bill Long
longb
Wed Sep 21 14:37:01 EDT 2011
Following are my (Bill Long, Cray Inc.) votes for the interp ballot in
N1876:
The following Fortran 2003 interpretations are being balloted:
Yes No Number Title
-Y- --- F03/0030 IEEE divide by zero
-Y- --- F03/0048 Control edit descriptors in UDDTIO
-Y- --- F03/0085 Finalizing targets of pointer or allocatable
-Y- --- F03/0091 Array components cannot depend on length type parameters
-C- --- F03/0096 Can a read statement change the unit value?
-Y- --- F03/0105 SIZE= specifier and UDDTIO
-Y- --- F03/0110 Restoring dropped restriction on ENTRY
-C- --- F03/0121 Precise FP semantics of the REAL intrinsic
-Y- --- F03/0123 Implicit typing in derived types
-Y- --- F03/0124 definition is poorly defined
-Y- --- F03/0128 Subobjects in namelist output
-Y- --- F08/0001 Generic resolution with pointer dummy arguments
-Y- --- F08/0002 Are assumed- or deferred-shape objects allowed in
namelist?
-Y- --- F08/0003 Is a disassociated pointer allowed as an actual DIM
argument?
-Y- --- F08/0004 Is TARGET argument of ASSOCIATED a pointer or nonpointer
dummy?
F08/0005* optional arguments and ASSOCIATED - subsumed by F08/0004
-Y- --- F08/0006 generic resolution with banned argument combinations
-Y- --- F08/0007 Can zero have more than one bit sequence representation?
-Y- --- F08/0008 IEEE exceptions for intrinsic functions
-Y- --- F08/0009 Is ABS ever required to be the optional IEC 60559 abs?
-Y- --- F08/0010 deallocating objects that are associated with other
objects
-Y- --- F08/0011 How many times are constructed values finalized?
F08/0012* Are constants finalized? - subsumed by F08/0011
-Y- --- F08/0013 How does finalization interact with allocatable
assignment?
--- -N- F08/0014 Finalizing assignment to vector-subscripted object
-Y- --- F08/0015 IMPLICIT
-C- --- F08/0016 Can a vector-subscripted argument become undefined?
-C- --- F08/0017 Elemental subroutine restrictions
-Y- --- F08/0018 Impure elemental restrictions
-Y- --- F08/0019 Transformational Bessel functions
-Y- --- F08/0020 FINDLOC and logical arguments
Comments for C and N votes:
F03/0096:
The wording of the second edit suggests that the SIZE= value returned
cannot depend on the input list, which is not what is intended. I think
this can be corrected by adding " the values of" after "shall not
depend on" in the edit.
F03/0121:
My reading of the original question included a a desire to say that the
result value for REAL(X, KIND=wp), for a particular value of X, is the
SAME result value independent of the context in which the function
reference appears. After all, it would not really be a "function" in
the normal sense if that were not the case. The subsequent discussion
in the ANSWER section could cast doubt on whether this basic requirement
is actually true. It would be better to explicitly state that REAL for a
particular set of arguments always returns the same result value
independent of the context.
F08/0014:
The proposed edit is to add this text: "A vector-subscripted array
section shall not be finalized by a nonelemental final subroutine".
This is stated as a requirement on the user (program). It is unclear to
me what this really means. Here are some options that come to mind:
1) For a type that specifies final subroutines, if a vector-subscripted
array section of that type appears in a context where it would be
finalized, the type shall specify an elemental final subroutine.
2) For a type that specifies final subroutines, if a vector-subscripted
array section of that type appears in a context where it would otherwise
be finalized, the section is not finalized if there is no elemental
final subroutine.
3) For a type that specifies final subroutines, a vector-subscripted
array section of that type shall not appear in a context where it would
be finalized unless the type specifies an elemental final subroutine.
F08/0016:
In the third line of the ANSWER, there is a typo: "copvers" -> ""covers".
F08/0017:
The discussion section paragraph:
"The subroutine test_add does not do anything useful other than to set
the IEEE_OVERFLOW flag when x+y would overflow."
This is a bit of a shock, since almost all compilers would, in fact, not
perform the addition at all in test_add. Certainly we are not intending
to imply that this common optimization is now illegal. Subroutine
test_add contains no references to the IEEE modules. I would prefer to
either delete this paragraph from the ANSWER, or to delete the end of
the sentence following "useful". Further, the calls to the IEEE
routines in the caller are a distraction from the point of the question,
and could be deleted as well.
Cheers,
Bill
--
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
More information about the J3
mailing list