(j3.2006) (SC22WG5.5098) [ukfortran] WG5 letter ballot 7 on Fortran 2008 interpretations

N.M. Maclaren nmm1
Sun Oct 20 11:13:24 EDT 2013


I am in a quandary here because, while I feel strongly that two of these
responses are unsatisfactory, my only objections are to the details of
informative text.

My vote is as follows:

-Y-  ---  F08/0091   Derived type with no components
-Y-  ---  F08/0092   Derived type parameter requirements
---  -N-  F08/0093   Process exit status and error termination
-Y-  ---  F08/0094   Procedure statement and double colon
-Y-  ---  F08/0095   Is PRESENT allowed in specification and constant
                      expressions
---  -N-  F08/0096   Is VALUE permitted for an array in a BIND(C)
                     procedure?
-Y-  ---  F08/0097   Is the optional comma allowed in
                     TYPE(CHARACTER*...)?
-Y-  ---  F08/0098   How many ACQUIRED_LOCK= specifiers are allowed in a
                     LOCK stmt?

F08/0093

My vote is "no" solely because this seems to assume the POSIX view of
error status without specifying it.  For example, VMS (which is still
twitching) uses a different conventions, and zOS is also slightly
different.  Prepending some description like this to NOTE 2.6a would
change my vote:

    In the recommendations for a program exit status, it is
    assumed that it is an integer with zero indicating success;
    processors that use other conventions should interpret the
    recommendations accordingly.

F08/0096

My vote is "no" solely because this makes a statement about C that
cannot be unambiguously deduced from normative text in the C standard,
was the topic of extended but inconclusive debates in WG14 (during both
the standardisation of C90 and C99), has been and is interpreted in a
variety of ways by at least one C compiler and several derived
languages, and if I recall correctly) caused at least one formal UK
objection.  Changing the answer to the following would change my vote:

A1. C does not have any argument passing mechanism for arrays that
    corresponds to Fortran passing arrays by value, so this was not
    intended to conform to the Fortran standard.  An edit is provided
    to clarify this.


Regards,
Nick Maclaren.




More information about the J3 mailing list