aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2023-10-06 09:20:13 +0200
committerGitHub <noreply@github.com>2023-10-06 09:20:13 +0200
commite91a4bec0b3dd5d7c5d745fe1c7791fdc008e07a (patch)
treebe8214b2a4ba2510e448a0da3831fefd75a69e26 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentff5e2babcb46e7eb3887ee265decb2948da2792c (diff)
downloadllvm-e91a4bec0b3dd5d7c5d745fe1c7791fdc008e07a.zip
llvm-e91a4bec0b3dd5d7c5d745fe1c7791fdc008e07a.tar.gz
llvm-e91a4bec0b3dd5d7c5d745fe1c7791fdc008e07a.tar.bz2
[flang][hlfir] Fix c_null_ptr lowering in structure constructors (#68321)
Lowering handles C_PTR initial values that are designators or NULL() inside structure constructors as an extension to support. This extension is used by initial values generated for runtime derived type info. But c_null_ptr wrongly fell into this extension path with HLFIR, causing the initial value to be set to some (non null) address containing c_null_ptr instead of c_null_ptr itself... This was caused by the FIR lowering relying on genExtAddrInInitializer to not place c_null_ptr inside an address. Fix this by only falling through into the extension handling code if this is an extension: i.e, the expression is some designated symbol or NULL().
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions