llvm-project/flang/runtime
Valentin Clement 52e239794f
[flang] Add AllocatableInit functions for use in allocate lowering
`AllocatableInitIntrinsic`, `AllocatableInitCharacter` and
`AllocatableInitDerived` are meant to be used to initialize a
descriptor when it is instantiated and not to be used multiple
times in a scope.
Add `AllocatableInitDerivedForAllocate`, `AllocatableInitCharacterForAllocate`
and `AllocatableInitDerivedForAllocate` to be used for the allocation
in allocate statement.
These new functions are meant to be used on an initialized descriptor
and will return directly if the descriptor is allocated so the
error handling is done by the call to `AllocatableAllocate`.

Reviewed By: PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D146290
2023-03-20 10:00:43 +01:00
..
FortranMain
allocatable.cpp [flang] Add AllocatableInit functions for use in allocate lowering 2023-03-20 10:00:43 +01:00
array-constructor.cpp [flang][runtime] Add API to help with the difficult array constructor cases 2023-02-22 09:16:09 +01:00
assign-impl.h [flang][runtime] Handle aliasing in Assign() 2023-02-14 09:54:08 -08:00
assign.cpp [flang][runtime] Use Descriptor::Establish() in elemental derived type defined assignment calls 2023-03-10 10:26:22 -08:00
buffer.cpp
buffer.h
character.cpp
CMakeLists.txt Revert "Reland "[CMake] Bumps minimum version to 3.20.0."" 2023-03-18 20:32:43 +01:00
command.cpp [flang] Single entry point for GET_ENVIRONMENT_VARIABLE 2023-01-31 13:31:36 -03:00
complex-powi.cpp
complex-reduction.c
complex-reduction.h
config.h.cmake
connection.cpp
connection.h [flang][runtime] Support DT edit descriptor in result of READ(SIZE=) 2023-02-17 09:15:18 -08:00
copy.cpp
copy.h
derived-api.cpp [flang] Handle unlimited polymorphic with intrinsic dynamic type in extends_type_of 2023-03-10 09:49:58 +01:00
derived.cpp [flang] Ensure that CLASS(*) component descriptors have addenda 2023-03-09 09:51:37 -08:00
derived.h
descriptor-io.cpp [flang][runtime] Iterate over array elements in user-defined derived type I/O 2023-03-10 10:25:53 -08:00
descriptor-io.h [flang][runtime] Iterate over array elements in user-defined derived type I/O 2023-03-10 10:25:53 -08:00
descriptor.cpp
dot-product.cpp
edit-input.cpp
edit-input.h
edit-output.cpp [Flang] add space between number and character in print 2023-03-11 01:58:32 +08:00
edit-output.h
emit-encoded.h
environment-default-list.h
environment.cpp
environment.h
extensions.cpp
extrema.cpp [flang] Lower F08 NORM2 intrinsic 2022-12-05 13:53:35 -07:00
file.cpp
file.h
findloc.cpp
format-implementation.h [flang][runtime] Corrections to formatted child I/O 2023-03-10 10:09:44 -08:00
format.cpp
format.h [flang][runtime] Corrections to formatted child I/O 2023-03-10 10:09:44 -08:00
inquiry.cpp
internal-unit.cpp [flang][runtime] Support DT edit descriptor in result of READ(SIZE=) 2023-02-17 09:15:18 -08:00
internal-unit.h [flang][runtime] Support DT edit descriptor in result of READ(SIZE=) 2023-02-17 09:15:18 -08:00
io-api.cpp [flang][runtime] Corrections to formatted child I/O 2023-03-10 10:09:44 -08:00
io-error.cpp [flang][runtime] EOF is recoverable only with END= or IOSTAT= 2023-03-10 10:35:18 -08:00
io-error.h
io-stmt.cpp [flang][runtime] Support DT edit descriptor in result of READ(SIZE=) 2023-02-17 09:15:18 -08:00
io-stmt.h [flang][runtime] Support DT edit descriptor in result of READ(SIZE=) 2023-02-17 09:15:18 -08:00
iostat.cpp [flang][runtime] Corrections to formatted child I/O 2023-03-10 10:09:44 -08:00
ISO_Fortran_binding.cpp
ISO_Fortran_util.h
lock.h [flang] Restore old unit locking behavior 2022-12-08 08:34:46 -08:00
main.cpp
matmul-transpose.cpp [flang] add fused matmul-transpose to the runtime 2023-03-17 09:30:04 +00:00
matmul.cpp
memory.cpp
misc-intrinsic.cpp
namelist.cpp
namelist.h
numeric.cpp [flang] Lower exponentiation without using pgmath. 2022-12-14 15:32:51 -08:00
pointer.cpp [flang] Only apply PointerIsAssociatedWith fix for derived-type 2023-03-09 16:06:34 +01:00
product.cpp
ragged.cpp
random.cpp
reduction-templates.h
reduction.cpp
stat.cpp [flang] Improve error message for move_alloc 2023-01-31 14:59:02 +00:00
stat.h [flang] Improve error message for move_alloc 2023-01-31 14:59:02 +00:00
stop.cpp
sum.cpp
support.cpp
terminator.cpp
terminator.h
time-intrinsic.cpp
tools.cpp
tools.h
transformational.cpp [flang] Lowering and runtime support for F08 transformational intrinsics: BESSEL_JN and BESSEL_YN 2022-12-19 07:59:38 -07:00
type-code.cpp
type-info.cpp [flang][runtime] Allow CLASS(*) components when creating descriptors 2022-12-16 15:09:37 -08:00
type-info.h [flang][runtime] Handle explicit-length character padding & truncation in Assign() 2023-03-02 10:33:59 -08:00
unit-map.cpp
unit-map.h
unit.cpp [flang] Restore old unit locking behavior 2022-12-08 08:34:46 -08:00
unit.h [flang][runtime] Corrections to formatted child I/O 2023-03-10 10:09:44 -08:00
utf.cpp
utf.h