01-111r3
Issue 308 - Oddities for PAD= in INQUIRE
To: J3
From: Craig Dedo
Date: March 20, 2001
Subject: Issue 308 - Oddities for PAD= in INQUIRE
Issue
Paper 00-323r3 deleted all mention of what the PAD=specifier in
INQUIRE does if there is no connection or if the connection is not
for formatted I/O. This seems unwise. I crafted words to restate
the previously specified behavior. But this made me notice that
the previous specification was...unusual. The "YES" above is not a
typo; that's what the previous spec reduced to. I'd do the
"obvious" fix for consistency except that this would be an
incompatibility with f95. This may deserve an interp unless I'm
more confused than usual, which is possible.
Analysis
I consider this situation to be an oversight. An examination
of the normative text of the Fortran 90 and Fortran 95
standards shows that the PAD= specifier for the INQUIRE
statement only returned either YES or NO ([1] 9.6.1.22; [2]
9.6.1.22). The normative text for this section in F95 is
unchanged from F90.
We should correct this oversight in the same way that similar
situations are treated with the other I/O specifiers. If there
is no connection or if the connection is not for formatted
input/output, the PAD= variable is assigned the value
UNDEFINED.
If there is any significant disagreement, we can have a straw
vote on this proposed fix.
Whether or not to make the same fix for Fortran 95 is a
separate issue and should be addressed through the
interpretation process.
The same problem exists for the ASYNCHRONOUS specifier in the
INQUIRE statement so that gets fixed too.
Edits
Edits are with respect to the 01-007.
[201:30] Replace "YES" with "UNDEFINED".
[201:31-39] Replace the J3 internal note contents with, "This needs
an F95 interpretation and a chapter 1 incompatibility in 1.5.1 or
1.5.2.".
[202:26-27] Strike "otherwise". Add, "if the file is connected and
asynchronous input/output on the unit is not allowed" after "value
NO".
[202:27] Add the following sentence at the end of the
paragraph:
If there is no connection, the scalar-default-char-variable is
assigned the value UNDEFINED.
[439:29] Change the entry in the table to:
PAD= UNDEFINED YES, NO, or UNDEFINED UNDEFINED
References
[1] ISO/IEC 1539:1991, International Standard Fortran 90
[2] ISO/IEC 1539:1997-1, International Standard Fortran 95 - Base
Language
[3] 01-007, Fortran 2000 Draft
[4] 01-102, Changes to List of Unresolved Issues
[End of J3 / 01-111r3]