[all-commits] [llvm/llvm-project] b21c24: [flang][runtime] Recognize and handle FINAL subrou...
Peter Klausler via All-commits
all-commits at lists.llvm.org
Tue Aug 1 13:47:08 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b21c24c3080394e41db4019be3e646296e7f5b05
https://github.com/llvm/llvm-project/commit/b21c24c3080394e41db4019be3e646296e7f5b05
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2023-08-01 (Tue, 01 Aug 2023)
Changed paths:
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/runtime/allocatable.cpp
M flang/runtime/assign.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
M flang/runtime/descriptor-io.h
M flang/runtime/descriptor.cpp
M flang/runtime/pointer.cpp
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
Log Message:
-----------
[flang][runtime] Recognize and handle FINAL subroutines with contiguous dummy arrays when data are not so
When a FINAL subroutine is being invoked for a discontiguous array, which can
happen for INTENT(OUT) dummy arguments and for some left-hand side variables
in intrinsic assignment statements, it may be the case that the subroutine
being called was defined with a dummy argument that requires contiguous data.
Extend the derived type descriptions used by the runtime to signify when
a special procedure binding requires contiguity; set the flags accordingly;
check them in the runtime support library, and, when necessary, use a
temporary shallow copy of the finalized array data in the call to the
final subroutine.
Differential Revision: https://reviews.llvm.org/D156760
More information about the All-commits
mailing list