llvm-project/flang/runtime
Peter Klausler 2b0b9b2e83 [flang] Modify right modes for READ/WRITE vs OPEN
When a mode flag is modified (e.g., BLANK='ZERO') in an I/O data transfer
statement, ensure that the right set of mode flags is modified.
There's one set of mode flags that are captured by an OPEN
statement and maintained in the connection, and another that
is maintained in an I/O statement state record for local mutability.
Some I/O API routines were unconditionally modifying the persistent
set of flags.

Differential Revision: https://reviews.llvm.org/D118835
2022-02-02 13:47:46 -08:00
..
CMakeLists.txt [flang] Add CALL FLUSH(n) legacy extension 2021-12-08 08:56:54 -08:00
ISO_Fortran_binding.cpp [flang] "CFI" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16 2022-01-14 11:06:18 -08:00
allocatable.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
assign.cpp [flang] Make subscript list argument a nullable pointer 2021-11-08 11:53:13 -08:00
buffer.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
buffer.h [flang] runtime perf: larger I/O buffer growth increments 2022-01-31 14:53:15 -08:00
character.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
command.cpp [flang] Implement GET_ENVIRONMENT_VARIABLE(VALUE) 2021-11-01 09:19:20 +00:00
complex-reduction.c [flang] Change complex type define in runtime for clang-cl 2021-09-22 06:54:33 +00:00
complex-reduction.h [flang] Change complex type define in runtime for clang-cl 2021-09-22 06:54:33 +00:00
config.h.cmake [flang] Support platforms without strerror_r 2020-03-28 16:46:43 -05:00
connection.cpp [flang] Signal runtime error on WRITE after ENDFILE 2022-01-14 14:46:00 -08:00
connection.h [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
copy.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
copy.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
derived-api.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
derived.cpp [flang][NFC] Document behavior for nonspecified/ambiguous cases 2021-10-11 11:06:07 -07:00
derived.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
descriptor-io.cpp [flang] Fix repeated "DT" editing 2022-01-21 17:22:51 -08:00
descriptor-io.h [flang] Support DECIMAL='COMMA' mode in namelist I/O 2022-01-22 09:01:36 -08:00
descriptor.cpp [flang] Runtime performance improvements to real formatted input 2021-11-12 11:40:02 -08:00
dot-product.cpp [flang] Fix DOT_PRODUCT for logical 2021-10-22 15:56:20 -07:00
edit-input.cpp [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
edit-input.h [flang][msvc] Avoid dependence on long double 2020-10-07 15:12:08 -07:00
edit-output.cpp [flang] Fix rounding edge case in F output editing 2021-11-12 11:16:25 -08:00
edit-output.h [flang] Fix rounding edge case in F output editing 2021-11-12 11:16:25 -08:00
environment.cpp [flang] Respect NO_STOP_MESSAGE=1 in runtime 2021-11-12 10:50:36 -08:00
environment.h [flang] Respect NO_STOP_MESSAGE=1 in runtime 2021-11-12 10:50:36 -08:00
extensions.cpp [flang] Add CALL FLUSH(n) legacy extension 2021-12-08 08:56:54 -08:00
extrema.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
file.cpp [flang] Remove runtime check from OpenFile::Close() 2021-12-07 09:43:24 -08:00
file.h [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
findloc.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
format-implementation.h [flang] Don't drop format string for external child I/O 2022-01-22 09:01:02 -08:00
format.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
format.h [flang] Fix repeated "DT" editing 2022-01-21 17:22:51 -08:00
internal-unit.cpp [flang] Fix edge-case I/O regressions 2022-02-01 16:27:47 -08:00
internal-unit.h [flang] Don't blank-fill remaining lines in internal output 2022-01-14 15:14:48 -08:00
io-api.cpp [flang] Modify right modes for READ/WRITE vs OPEN 2022-02-02 13:47:46 -08:00
io-error.cpp [flang] Don't drop format string for external child I/O 2022-01-22 09:01:02 -08:00
io-error.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
io-stmt.cpp [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
io-stmt.h [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
iostat.cpp [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
lock.h [flang] More Fortran runtime support for CHARACTER operations 2020-06-17 15:51:48 -07:00
main.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
matmul.cpp [flang] Speed common runtime cases of DOT_PRODUCT & MATMUL 2021-10-22 14:36:13 -07:00
memory.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
misc-intrinsic.cpp [flang] Return arrays in Transfer runtime with SIZE argument 2021-12-03 08:23:30 +01:00
namelist.cpp [flang] Set right "inNamelist" flag 2022-02-02 09:33:19 -08:00
namelist.h [flang] Support NAMELIST input of short arrays 2021-10-22 13:38:11 -07:00
numeric.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
pointer.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
product.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
ragged.cpp [flang] Simplify RaggedArrayHeader and make it plain C struct 2021-12-09 22:28:06 +01:00
random.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
reduction-templates.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
reduction.cpp [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
stat.cpp [flang] Implement GET_ENVIRONMENT_VARIABLE(VALUE) 2021-11-01 09:19:20 +00:00
stat.h [flang] Implement GET_ENVIRONMENT_VARIABLE(VALUE) 2021-11-01 09:19:20 +00:00
stop.cpp [flang] Rename the runtime routine that reports a fatal user error 2022-02-01 09:01:50 -08:00
sum.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
support.cpp [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
terminator.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
terminator.h [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
time-intrinsic.cpp [flang] More work on SYSTEM_CLOCK runtime API and implementation 2021-10-12 09:24:24 -07:00
tools.cpp [flang] runtime: Read environment variables directly 2021-10-28 07:49:30 +00:00
tools.h [flang] Speed common runtime cases of DOT_PRODUCT & MATMUL 2021-10-22 14:36:13 -07:00
transformational.cpp [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
type-code.cpp [flang] "CFI" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16 2022-01-14 11:06:18 -08:00
type-info.cpp [flang] Make subscript list argument a nullable pointer 2021-11-08 11:53:13 -08:00
type-info.h [flang] Make subscript list argument a nullable pointer 2021-11-08 11:53:13 -08:00
unit-map.cpp [flang] Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit numbers 2022-01-31 15:20:21 -08:00
unit-map.h [flang] Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit numbers 2022-01-31 15:20:21 -08:00
unit.cpp [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00
unit.h [flang] Debugging of ACCESS='STREAM' I/O 2022-02-02 13:09:38 -08:00