(j3.2006) (SC22WG5.4659) Vote on N1904

Bill Long longb
Sun Mar 18 22:51:55 EDT 2012

 From N1908:

Please answer the following question "Is N1904 ready for forwarding to SC22
as the DTS?" in one of these ways.

1) Yes.
2) Yes, but I recommend the following changes.
3) No, for the following reasons.
4) Abstain.

I vote:

3) No, for the following reasons.

There are two technical problems with N1904:

- Because INTENT(OUT) causes an argument to become undefined when the 
routine is called, it coexists poorly with TYPE(*).  The combination of 
TYPE(*) and INTENT(OUT) should be disallowed.

- A more obscure, but more serious problem, is that the text of C1255, 
while improved to allow OPTIONAL arguments, still requires that the 
variables in a BIND(C) call be interoperable objects.  The test in 
15.3.5 disallows the very things the TS is intended to allow 
(allocatable and pointer arguments).  The requirement needs to be 
weakened to interoperable types (not objects) and then additional 
requirements to account for TYPE(*) arguments and coarray arguments.  An 
email thread on the J3/WG5 lists proposed solutions for this, but the 
change is significant enough to justify another review (in my opinion).

There are also more minor wording and typo fixes that were mentioned by 
others that should be fixed since a new draft will be required anyway.


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