[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
Loading
Please register or sign in to comment