[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
Loading
Please sign in to comment