[DebugInfo] Add DW_ATE_complex_float case to assert in isUnsignedDIType
Without this patch a `DW_ATE_complex_float` encoding trips an assertion in `DebugHandlerBase::isUnsignedDIType` with the message `"Unsupported encoding"`. By adding a case to the `assert` for `DW_ATE_complex_float` it becomes supported, behaving in the same way as the already supported `DW_ATE_float` type (return false). Note: For the reported reproducer: #include <complex.h> int main() { long double complex r1; } The assertion isn't tripped without assignment tracking because instcombine deletes everything, including the `dbg.declare`, without recovering any location information. Whereas with assignment tracking we track a zeroing memset that is emitted by clang. Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D151795
Loading
Please sign in to comment