[flang-commits] [PATCH] D156760: [flang][runtime] Recognize and handle FINAL subroutines with contiguous dummy arrays when data are not so

Peter Klausler via Phabricator via flang-commits flang-commits at lists.llvm.org
Mon Jul 31 16:16:30 PDT 2023


klausler created this revision.
klausler added a reviewer: vzakhari.
klausler added a project: Flang.
Herald added subscribers: sunshaoce, jdoerfert.
Herald added a project: All.
klausler requested review of this revision.

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.


https://reviews.llvm.org/D156760

Files:
  flang/include/flang/Runtime/descriptor.h
  flang/lib/Semantics/runtime-type-info.cpp
  flang/module/__fortran_type_info.f90
  flang/runtime/allocatable.cpp
  flang/runtime/assign.cpp
  flang/runtime/derived-api.cpp
  flang/runtime/derived.cpp
  flang/runtime/derived.h
  flang/runtime/descriptor-io.h
  flang/runtime/descriptor.cpp
  flang/runtime/pointer.cpp
  flang/runtime/tools.cpp
  flang/runtime/tools.h
  flang/runtime/type-info.cpp
  flang/runtime/type-info.h
  flang/test/Semantics/typeinfo01.f90
  flang/test/Semantics/typeinfo02.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D156760.545855.patch
Type: text/x-patch
Size: 34435 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20230731/4079eaae/attachment-0001.bin>


More information about the flang-commits mailing list