(j3.2006) (SC22WG5.4168) WG5 letter ballot 7 on Fortran 2003 interpretations

John Reid John.Reid
Tue Feb 9 07:35:54 EST 2010

Yes  No Number     Title
-Y- ---  F95/0098 Are dummy functions returning assumed-length character legal?
-Y- ---  F03/0022 Coexistence of IEEE and non-IEEE kinds
-Y- ---  F03/0024 DEALLOCATE and array pointers
-Y- ---  F03/0034 IEEE_LOGB()
-N- ---  F03/0039 HYPOT()
-Y- ---  F03/0063 Procedure pointers in BLOCK DATA program units
-Y- ---  F03/0071 Subroutine/function ambiguity in generics
-Y- ---  F03/0078 IEEE_SUPPORT_DATATYPE vs. mathematical equivalence
-Y- ---  F03/0090 Polymorphic array constructors
-Y- ---  F03/0112 Attributes allowed for dummy arguments in defined assignments
-Y- ---  F03/0119 Elemental procedures and deferred length character components
-Y- ---  F03/0122 When do objects of sequence derived type have the same type?
-Y- ---  F03/0125 Definitions of EXTENDS_TYPE_OF and SAME_TYPE_AS
-Y- ---  F03/0126 References to VOLATILE variables in pure procedures
-Y- ---  F03/0127 Duration of procedure execution
-N- ---  F03/0129 C_LOC of character substrings
-Y- ---  F03/0130 Elemental specific intrinsic procedure characteristics
-Y- ---  F03/0131 SAVE attribute and EQUIVALENCE
-Y- ---  F03/0132 Unformatted i/o and private components
-Y- ---  F03/0133 Is unlimited polymorphic allowed in COMMON?
-Y- ---  F03/0134 Implicit typing of procedure pointers
-N- ---  F03/0135 Interaction between RESULT, recursion, and host generic
-Y- ---  F03/0136 Are subroutines distinguishable from arrays?
-Y- ---  F03/0137 Dummy procedure type compatibility
-Y- ---  F03/0138 External <procedure-name> as <proc-target>
-C- ---  F03/0139 Functions returning procedure pointers
-Y- ---  F03/0140 Type of nested construct entities
-Y- ---  F03/0141 More than one specific interface for a procedure

Reasons for no votes

The IEEE floating-point is carefully designed to handle NaNs and infinities
in the hardware. It is inappropriate to add explicit code that duplicates it.
It is specially inappropriate in this case, where the aim is for fast
execution whenever possible. The intended effect on the reader may be achieved
with this alternative for the first edit.
[page 389]. Subclause 14.11, Note 14.17, after the comment
     "! The processor clears the flags on entry"
     "! If either X or Y is a NaN, the first executable statement
      ! will set HYPOT to a NaN without signaling an exception."

The third edit should be
[396:5-7] Replace "; if ... one." with
   ".  If the type is character, it is interoperable if and only if the value
   of its length type parameter is one."
Reason: It makes no sense to talk about the length type parameter being

A subprogram and its scoping unit are not the same thing, see the definition
at [12:1]. In both edits, add "of" after "scoping unit is".

In the edit for [407:21-22] change "which" to "that".

More information about the J3 mailing list