llvm-project/flang/runtime
peter klausler f05c95f10f [flang] More work on SYSTEM_CLOCK runtime API and implementation
To get proper wrap-around behavior for the various kind parameter
values of the optional COUNT= and COUNT_MAX= dummy arguments to
the intrinsic subroutine SYSTEM_CLOCK, add an extra argument to
the APIs for lowering to pass the integer kind of the actual argument.
Avoid confusion by requiring that both actual arguments have the same
kind when both are present.  The results of the runtime functions
remain std::int64_t and lowering should still convert them before
storing to the actual argument variables.

Rework the implementation a bit to accomodate the dynamic
specification of the kind parameter, and to clean up some coding
issues with preprocessing and templates.

Use the kind of the COUNT=/COUNT_MAX= actual arguments to determine
the clock's resolution, where possible, in conformance with other
Fortran implementations.

Differential Revision: https://reviews.llvm.org/D111281
2021-10-12 09:24:24 -07:00
..
CMakeLists.txt [flang] Revert 3 commits pushed by mistake along b7c07ce15f 2021-10-01 09:01:31 +02:00
ISO_Fortran_binding.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
allocatable.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
assign.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
buffer.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
buffer.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
character.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
command.cpp Reland "[flang] GET_COMMAND_ARGUMENT runtime implementation" 2021-09-28 12:34:07 +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] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
connection.h [flang] Fix regression from recent runtime input fix 2021-08-17 10:12:56 -07: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 legitimate warning from latest GCC 2021-07-20 11:40:34 -07:00
descriptor-io.h [flang] Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime 2021-09-23 10:27:56 -07:00
descriptor.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
dot-product.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
edit-input.cpp [flang] runtime: fix formatted real input regression w/ spaces 2021-10-04 16:46:42 -07:00
edit-input.h [flang][msvc] Avoid dependence on long double 2020-10-07 15:12:08 -07:00
edit-output.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
edit-output.h [flang][msvc] Avoid dependence on long double 2020-10-07 15:12:08 -07:00
environment.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
environment.h [flang] Use CMake to determine endianness. 2021-09-03 15:44:51 -05:00
extrema.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
file.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
file.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07: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] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
format.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
format.h [flang] Fix "non-advancing" I/O, support $ in FORMAT 2021-06-28 12:18:25 -07:00
internal-unit.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
internal-unit.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
io-api.cpp [flang] Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime 2021-09-23 10:27:56 -07:00
io-error.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07: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] Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime 2021-09-23 10:27:56 -07:00
io-stmt.h [flang] Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime 2021-09-23 10:27:56 -07:00
iostat.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07: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] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -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] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
namelist.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
namelist.h [flang] Implement NAMELIST I/O in the runtime 2021-05-06 11:18:36 -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
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] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
stat.cpp Reland "[flang] GET_COMMAND_ARGUMENT runtime implementation" 2021-09-28 12:34:07 +00:00
stat.h Reland "[flang] GET_COMMAND_ARGUMENT runtime implementation" 2021-09-28 12:34:07 +00:00
stop.cpp [flang] Front-end and runtime support for CALL EXIT and ABORT 2021-09-30 11:01:22 -07:00
sum.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
terminator.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
terminator.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07: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] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
tools.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
transformational.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
type-code.cpp [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
type-info.cpp [flang] Implement runtime Assign() 2021-08-09 09:31:32 -07:00
type-info.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
unit-map.cpp [flang] Remove *- C++ -* incantation from runtime .cpp files. NFC 2021-09-03 07:17:45 +00:00
unit-map.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00
unit.cpp [flang] Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime 2021-09-23 10:27:56 -07:00
unit.h [flang] Move runtime API headers to flang/include/flang/Runtime 2021-09-03 11:08:34 -07:00