[flang] Correct INQUIRE(POSITION= & PAD=)
INQUIRE(POSITION=)'s results need to reflect the POSITION= specifier used for the OPEN statement until the unit has been repositioned. Preserve the POSITION= from OPEN and used it for INQUIRE(POSITION=) until is becomes obsolete. INQUIRE(PAD=) is implemented here in the case of an unconnected unit with Fortran 2018 semantics; i.e., "UNDEFINED", rather than Fortran 90's "YES"/"NO" (see 4.3.6 para 2). Apparent failures with F'90-only tests will persist with INQUIRE(PAD=); these discrepancies don't seem to warrant an option or environment variable. To make the implementation of INQUIRE more closely match the language in the standard, rename IsOpen() to IsConnected(), and use it explicitly for the various INQUIRE specifiers. Differential Revision: https://reviews.llvm.org/D114755
Loading
Please sign in to comment