aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2024-02-15 09:05:33 +0100
committerGitHub <noreply@github.com>2024-02-15 09:05:33 +0100
commit0d0bd3ef55a2317c4254e97a3657e702bcf22214 (patch)
treead96fb83ac99c70f4cd7a85a8fa6b4ba2f98e190 /clang/lib/CodeGen/CodeGenModule.cpp
parent5f6e0f35f936495563b5758a7ff9d4417a9f651b (diff)
downloadllvm-0d0bd3ef55a2317c4254e97a3657e702bcf22214.zip
llvm-0d0bd3ef55a2317c4254e97a3657e702bcf22214.tar.gz
llvm-0d0bd3ef55a2317c4254e97a3657e702bcf22214.tar.bz2
[flang] Deep copy nested allocatable components in transformational (#81736)
Spread, reshape, pack, and other transformational intrinsic runtimes are using `CopyElement` utility to copy elements. This utility was dealing with deep copies, but only when the allocatable components where "immediate" components of the type being copied. If the allocatable components were nested inside a nonpointer/nonallocatable component, they were not deep copied, leading to bugs later when manipulating the value (or double free when applying #81117). Visit data components with allocatable components (using the noDestructionNeeded flag to avoid expensive and useless type visit when there are no such components).
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions