[all-commits] [llvm/llvm-project] e3d6a3: [flang][runtime] Support non contiguous array in F...

jeanPerier via All-commits all-commits at lists.llvm.org
Mon Sep 25 09:17:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e3d6a3ac6925862f5829e4883942be9eec591164
      https://github.com/llvm/llvm-project/commit/e3d6a3ac6925862f5829e4883942be9eec591164
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-09-25 (Mon, 25 Sep 2023)

  Changed paths:
    M flang/include/flang/Runtime/descriptor.h
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang][runtime] Support non contiguous array in Finalize/Initialize (#67295)

Finalize/Initialize may be called on non contiguous arrays when dealing
with INTENT(OUT) dummies or non contiguous LHS. Update the related
element access to use indices instead of assuming contiguity and
manually computing the byte offset.

Also, the descriptor passed to parent type final routines should be set
to the parent type, otherwise descriptor.IsContiguous() may wrongfully
return true when finalizing parent components. Create a pointer to the
parent component when recursing in Finalize.




More information about the All-commits mailing list