diff options
author | Peixin Qiao <qiaopeixin@huawei.com> | 2022-09-06 08:15:01 +0800 |
---|---|---|
committer | Peixin Qiao <qiaopeixin@huawei.com> | 2022-09-06 08:15:01 +0800 |
commit | 109f9a291850a8e82f5026f68a382222a235c4f3 (patch) | |
tree | 23fcd2ac8ebb0aee8876d4cc9c1b0f58d0d1d60d /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h | |
parent | 7e3aa8f01a31bcf9a9cafc79594b3b8b950532f2 (diff) | |
download | llvm-109f9a291850a8e82f5026f68a382222a235c4f3.zip llvm-109f9a291850a8e82f5026f68a382222a235c4f3.tar.gz llvm-109f9a291850a8e82f5026f68a382222a235c4f3.tar.bz2 |
[flang] Support lowering of intrinsic module procedure C_F_POINTER
As Fortran 2018 18.2.3.3, the intrinsic module procedure
C_F_POINTER(CPTR, FPTR [, SHAPE]) associates a data pointer with the
target of a C pointer and specify its shape. CPTR shall be a scalar of
type C_PTR, and its value is the C address or the result of a reference
to C_LOC. FPTR is one pointer, either scalar or array. SHAPE is a
rank-one integer array, and it shall be present if and only if FPTR is
an array.
C_PTR is the derived type with only one component of integer 64, and the
integer 64 component value is the address. Build the right "source"
fir::ExtendedValue based on the address and shape, and use
associateMutableBox to associate the pointer with the target of the C
pointer.
Refactor the getting the address of C_PTR to reuse the code.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D132303
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions