https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115272
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- How does it work for 'double' vs. 'long double' themselves? <1><32>: Abbrev Number: 3 (DW_TAG_base_type) <33> DW_AT_byte_size : 16 <34> DW_AT_encoding : 4 (float) <35> DW_AT_name : (indirect string, offset: 0x60): long double so if it's not distinguishable via DW_AT_byte_size you look into DW_AT_name as well? So it looks like doing the same for _Complex long double is perfectly in line?