diff options
author | Jean Perier <jperier@nvidia.com> | 2022-02-02 19:52:28 +0100 |
---|---|---|
committer | Jean Perier <jperier@nvidia.com> | 2022-02-02 19:52:52 +0100 |
commit | bc699ed0bfaf82700f02fab6a27bdcaad2396f00 (patch) | |
tree | f5df5faf8297688b22356544277a5b5493b10a66 /clang/lib/Frontend/PrintPreprocessedOutput.cpp | |
parent | 73f21db537f7828ab55bd2a365e5ccdf2c439ab7 (diff) | |
download | llvm-bc699ed0bfaf82700f02fab6a27bdcaad2396f00.zip llvm-bc699ed0bfaf82700f02fab6a27bdcaad2396f00.tar.gz llvm-bc699ed0bfaf82700f02fab6a27bdcaad2396f00.tar.bz2 |
[flang] prevent rewrite of CMPLX with dynamically optional Y argument
CMPLX was always rewritten as a complex constructor, but the second operand
of a complex constructor cannot be dynamically absent (i.e., a
disassociated pointer, an unallocated allocatable or an absent OPTIONAL
dummy argument), while the second argument of CMPLX can be dynamically
absent.
To avoid having to generate branches in complex constructor lowering
when Y is a pointer, keep the distinction between CMPLX and a complex
constructor when Y is a pointer, an allocatable, or an OPTIONAL entity.
Differential Revision: https://reviews.llvm.org/D118784
Diffstat (limited to 'clang/lib/Frontend/PrintPreprocessedOutput.cpp')
0 files changed, 0 insertions, 0 deletions