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 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).

(6)	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).

(7)	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).

(8)	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:37+]	Add a row to Table C.1:

SIGN=	UNDEFINED	PROCESSOR_DEFINED, PLUS, SUPPRESS, or UNDEFINED	UNDEFINED

References

01-007, Fortran 2000 Draft

01-102, Changes to list of unresolved issues

[End of J3 / 01-108]