Issue 305 - Connection Properties in Annex C To: J3 From: Craig Dedo Date: January 3, 2001 Subject: Issue 305 - Connection Properties in Annex C Issue Paper 00-323r3 added a bunch of new connection properties (modes) but did not make corresponding changes in the Annex, including at least C.6.4 and C.6.5. Also, the terminology used for these in Annex C is different from that now used in the normative text (properties vs. modes). Edits Edits are with respect to the 01-007. [169:1-6] Delete J3 internal note. [437:17,19] Add "or modes" after "properties". [437:36-40] Change "property" to "mode" in 6 places. [437:44] Change "properties" to "modes". [437:42] Add "any BLANK= specifier in a data transfer statement or" before "any BN or BZ". [437:44-46] Indent the paragraph consistent with the other paragraphs in the itemized list. [437:46+] Add the following text. (5) A decimal edit mode, which is COMMA or POINT, is established for a connection for which the form is formatted. For a connection which results from the execution of an OPEN statement, the decimal edit mode is POINT by default if no decimal edit mode is specified. For a pre- connected file, the mode is POINT. The decimal edit mode is effective at the beginning of each formatted input statement. During execution of the statement, any DECIMAL= specifier in a data transfer statement or any DC or DP edit descriptors encountered may temporarily change the decimal edit mode (9.4.4.11). (6) A character string delimiter mode, which is APOSTROPHE, QUOTE, or NONE, is established for a connection for which the form is formatted. This mode has no effect on input. This mode affects list-directed and namelist output for this connection. The delimiter mode of the connection is effective at the beginning of each formatted output statement. During execution of the statement, any DELIM= specifier in a data transfer statement may temporarily change the delimiting of the output of character variables (9.4.4.9). (7) A record padding mode, which is YES or NO, is established for a connection for which the form is formatted. This mode has no effect on output. This mode affects all input for this connection. The pad mode of the connection is effective at the beginning of each formatted input statement. During execution of the statement, any PAD= specifier in a data transfer statement may temporarily change the padding rule for the record (9.4.4.10). (8) A floating point rounding mode, which is UP, DOWN, ZERO, NEAREST, COMPATIBLE, or PROCESSOR_DEFINED, is established for a connection for which the form is formatted. This mode has effect for both input and output. The rounding mode of the connection is effective at the beginning of each formatted input or output statement. During execution of the statement, any ROUND= specifier in a data transfer statement or any RU, RD, RZ, RN, RC, or RP edit descriptors encountered may temporarily change the method of rounding floating point values (9.4.4.13). (9) A sign presence mode, which is PLUS, SUPPRESS, or PROCESSOR_DEFINED, is established for connection for which the form is formatted. This mode has no effect on input. This mode affects all output for this connection. The sign mode of the connection is effective at the beginning of each formatted output statement. During execution of the statement, any SIGN= specifier in a data transfer statement or any SP, SS, or S edit descriptors encountered may temporarily change the presence of the sign (9.4.4.14). The states of I/O modes are determined according to the following hierarchical rules of precedence. 1. The initial state for a mode is established by the most recently executed OPEN statement on that unit. The modes for an internal file or pre-connected file have the same initial states that would be established if an OPEN statement was executed and the corresponding keyword was absent. 2. The state of a mode established by an OPEN statement may be temporarily changed by a corresponding keyword in a data transfer statement, during the execution of that data transfer statement. 3. The state of a mode established by an OPEN statement or a data transfer statement may be temporarily changed by a format edit descriptor. The modes in effect immediately before a data transfer statement is executed are restored when the data transfer statement terminates. A child data transfer statement in a user-defined derived-type input/output statement inherits the states of the modes in effect in the parent data transfer statement. [439:7-39] Add the following rows to Table C.1 so that the entries are in alphabetical order: ASYNCHRONOUS= UNDEFINED YES or NO UNDEFINED DECIMAL= UNDEFINED COMMA, POINT, or UNDEFINED UNDEFINED PENDING= ??? True or false. ??? POS= Undefined Number of file storage units immediately following current position Undefined ROUND= UNDEFINED PROCESSOR_DEFINED, UP, DOWN, ZERO, NEAREST, COMPATIBLE, or UNDEFINED UNDEFINED SIGN= UNDEFINED PROCESSOR_DEFINED, PLUS, SUPPRESS, or UNDEFINED UNDEFINED SIZE= -1 Size of the file in file storage units. -1 STREAM= UNKNOWN YES, NO, or UNKNOWN UNKNOWN References 01-007, Fortran 2000 Draft 01-102, Changes to list of unresolved issues 01-111r1, Issue 308 - Oddities for PAD= Specifier in INQUIRE [End of J3 / 01-108r1]