llvm/flang/runtime
Peter Klausler 53f775bbc0 [flang][runtime] Support B/O/Z editing of CHARACTER
This is a common extension, though semantics differ across
compilers.  I've chosen to interpret the CHARACTER data
as if it were an arbitrary-precision integer value and
format or read it as such.  This matches Intel's compilers
and nvfortran.  (GNU Fortran can't handle lengths > 1 and XLF
seems to get the enddianness wrong.)

This patch generalizes the previous implementations of
B/O/Z input and output so that they'll work for arbitrary data
in memory, and then uses them for all B/O/Z input/output,
including (now) CHARACTER.

Differential Revision: https://reviews.llvm.org/D124547
2022-04-28 12:44:31 -07:00
..
FortranMain [flang][driver] Add support for generating executables 2022-04-25 12:00:23 +00:00
allocatable.cpp
assign.cpp [flang] Make subscript list argument a nullable pointer 2021-11-08 11:53:13 -08:00
buffer.cpp
buffer.h [flang] runtime perf: larger I/O buffer growth increments 2022-01-31 14:53:15 -08:00
character.cpp
CMakeLists.txt [flang][driver] Add support for generating executables 2022-04-25 12:00:23 +00:00
command.cpp Fix invalid overflow check in flang 2022-03-30 16:47:33 +02:00
complex-reduction.c
complex-reduction.h
config.h.cmake
connection.cpp [flang] Honor RECL= in list-directed/namelist output 2022-03-02 12:07:18 -08:00
connection.h [flang][runtime] Correct emission & reading of unterminated final records 2022-04-28 09:22:07 -07:00
copy.cpp
copy.h
derived-api.cpp
derived.cpp [flang] Fix extent computation in finalization 2022-03-09 09:01:02 -08:00
derived.h
descriptor-io.cpp [flang] Fix repeated "DT" editing 2022-01-21 17:22:51 -08:00
descriptor-io.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
descriptor.cpp [flang][runtime] Ensure PointerDeallocate actually deallocate pointers 2022-03-28 10:22:08 +02:00
dot-product.cpp [flang] Fix DOT_PRODUCT for logical 2021-10-22 15:56:20 -07:00
edit-input.cpp [flang][runtime] Support B/O/Z editing of CHARACTER 2022-04-28 12:44:31 -07:00
edit-input.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
edit-output.cpp [flang][runtime] Support B/O/Z editing of CHARACTER 2022-04-28 12:44:31 -07:00
edit-output.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
environment.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
environment.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
extensions.cpp [flang] Add CALL FLUSH(n) legacy extension 2021-12-08 08:56:54 -08:00
extrema.cpp [flang] Fix MAXLOC/MINLOC when MASK is scalar .FALSE. 2022-04-27 14:50:00 -07:00
file.cpp [flang] Debugging of ACCESS='STREAM' I/O (take 2) 2022-02-04 18:02:34 -08:00
file.h [flang] Debugging of ACCESS='STREAM' I/O (take 2) 2022-02-04 18:02:34 -08:00
findloc.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
format-implementation.h [flang] Extension: don't require commas between most edit descriptors in formats 2022-03-01 15:15:59 -08:00
format.cpp
format.h [flang] Do not print format tabs 2022-02-23 20:03:10 -08:00
inquiry.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
internal-unit.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
internal-unit.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
io-api.cpp [flang] add a static assert in CheckUnitNumberInRangeImpl 2022-04-11 09:32:52 +02:00
io-error.cpp [flang] Error recovery improvement in runtime (IOMSG=) 2022-03-18 17:24:32 -07:00
io-error.h [flang] Error recovery improvement in runtime (IOMSG=) 2022-03-18 17:24:32 -07:00
io-stmt.cpp [flang][runtime] Correct emission & reading of unterminated final records 2022-04-28 09:22:07 -07:00
io-stmt.h [flang][runtime] Ignore leading spaces even in BZ mode 2022-04-22 12:27:19 -07:00
iostat.cpp [flang][runtime] Enforce some limits on kP scale factors 2022-04-22 16:51:36 -07:00
ISO_Fortran_binding.cpp [flang] LBOUND() edge case: empty dimension 2022-03-14 11:16:09 -07:00
lock.h
main.cpp
matmul.cpp [flang] Speed common runtime cases of DOT_PRODUCT & MATMUL 2021-10-22 14:36:13 -07:00
memory.cpp
misc-intrinsic.cpp [flang] Return arrays in Transfer runtime with SIZE argument 2021-12-03 08:23:30 +01:00
namelist.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
namelist.h [flang] Support NAMELIST input of short arrays 2021-10-22 13:38:11 -07:00
numeric.cpp
pointer.cpp [flang][runtime] Ensure PointerDeallocate actually deallocate pointers 2022-03-28 10:22:08 +02:00
product.cpp
ragged.cpp [flang] Simplify RaggedArrayHeader and make it plain C struct 2021-12-09 22:28:06 +01:00
random.cpp [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
reduction-templates.h [flang] Improve runtime crash messages 2022-03-12 15:15:56 -08:00
reduction.cpp [flang] Improve runtime crash messages 2022-03-12 15: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
support.cpp [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
terminator.cpp
terminator.h [flang] Define & implement a lowering support API IsContiguous() in runtime 2021-11-30 14:15:56 -08:00
time-intrinsic.cpp [flang] Use full result range for clock_gettime implementation of SYSTEM_CLOCK 2022-04-14 13:01:32 -07:00
tools.cpp [flang] runtime: Read environment variables directly 2021-10-28 07:49:30 +00:00
tools.h [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
transformational.cpp [flang] Convert RUNTIME_CHECK to better error for user errors in transformational.cpp 2022-03-18 16:52:43 -07:00
type-code.cpp [flang][runtime] Fix KIND=16 real/complex component I/O 2022-04-25 11:18:21 -07:00
type-info.cpp [flang] Allow for deferred-length character in EstablishDescriptor 2022-02-14 10:05:07 -08:00
type-info.h [flang] Allow for deferred-length character in EstablishDescriptor 2022-02-14 10:05:07 -08:00
unit-map.cpp [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
unit-map.h [flang] Allow more concurrently open NEWUNIT= values, with recycling 2022-02-28 16:13:22 -08:00
unit.cpp [flang][runtime] Correct emission & reading of unterminated final records 2022-04-28 09:22:07 -07:00
unit.h [flang] Respect left tab limit with Tn editing after ADVANCE='NO' 2022-04-13 21:45:53 -07:00
utf.cpp [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00
utf.h [flang] Initial UTF-8 support in runtime I/O 2022-03-22 11:48:14 -07:00