aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authoragozillon <Andrew.Gozillon@amd.com>2025-05-09 13:57:45 +0200
committerGitHub <noreply@github.com>2025-05-09 13:57:45 +0200
commitb291cfcad4815568dc1eaca58185d25dceed3f1c (patch)
treeb109b9df4443738cfab11187191fa8b8f0667e90 /clang/lib/CodeGen/CodeGenModule.cpp
parentdd42112c82d7b12669513dca4048167664b211b2 (diff)
downloadllvm-b291cfcad4815568dc1eaca58185d25dceed3f1c.zip
llvm-b291cfcad4815568dc1eaca58185d25dceed3f1c.tar.gz
llvm-b291cfcad4815568dc1eaca58185d25dceed3f1c.tar.bz2
[Flang][OpenMP] Generate correct present checks for implicit maps of optional allocatables (#138210)
Currently, we do not generate the appropriate checks to check if an optional allocatable argument is present before accessing relevant components of it, in particular when creating bounds, we must generate a presence check and we must make sure we do not generate/keep an load external to the presence check by utilising the raw address rather than the regular address of the info data structure. Similarly in cases for optional allocatables we must treat them like non-allocatable arguments and generate an intermediate allocation that we can have as a location in memory that we can access later in the lowering without causing segfaults when we perform "mapping" on it, even if the end result is an empty allocatable (basically, we shouldn't explode if someone tries to map a non-present optional, similar to C++ when mapping null data).
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions