[flang] Support intrinsic `selected_int_kind` for variables
authorPeixin Qiao <qiaopeixin@huawei.com>
Mon, 25 Jul 2022 16:33:27 +0000 (00:33 +0800)
committerPeixin Qiao <qiaopeixin@huawei.com>
Mon, 25 Jul 2022 16:33:27 +0000 (00:33 +0800)
commitf532c07211091ec399566a05043479774589f66f
treee37402847104a0d60a4cf9c7ccd90e79df0da828
parent640c0ad0d5807140c4c31fc60cd3b261fc03bfbd
[flang] Support intrinsic `selected_int_kind` for variables

As Fortran 2018 16.9.169, the argument of selected_int_kind is integer
scalar, and result is default integer scalar. The constant expression in
this intrinsic has been supported by folding the constant expression.
This supports lowering and runtime for variables in this intrinsic.

Reviewed By: Jean Perier

Differential Revision: https://reviews.llvm.org/D129959
flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
flang/include/flang/Runtime/numeric.h
flang/lib/Lower/IntrinsicCall.cpp
flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
flang/runtime/numeric.cpp
flang/test/Lower/Intrinsics/selected_int_kind.f90 [new file with mode: 0644]
flang/unittests/Runtime/Numeric.cpp