[all-commits] [llvm/llvm-project] 5226f8: [flang][runtime] Add API to help with the difficul...
jeanPerier via All-commits
all-commits at lists.llvm.org
Wed Feb 22 00:16:43 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5226f8a9434a30d2be8273c41a2f23fd626fa878
https://github.com/llvm/llvm-project/commit/5226f8a9434a30d2be8273c41a2f23fd626fa878
Author: Jean Perier <jperier at nvidia.com>
Date: 2023-02-22 (Wed, 22 Feb 2023)
Changed paths:
A flang/include/flang/Runtime/array-constructor.h
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/array-constructor.cpp
M flang/runtime/assign.cpp
A flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Add API to help with the difficult array constructor cases
This runtime API can be used to lower any flavor of array constructors,
but is mainly intended to be used with:
- array constructors for which the extent or length parameters cannot
be computed without lowering some ac-value or ac-implied-do-control
that cannot be pre-evaluated.
- array constructors of a derived type with allocatable component where
copy is not trivial or PDTS.
Example of use cases:
- `[((i+j,i=1, ifoo()), j=1,n)]` where ifoo() is not pure.
- `[return_allocatable_array(), return_allocatable_array()]`
Differential Revision: https://reviews.llvm.org/D144411
More information about the All-commits
mailing list