Index: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp =================================================================== --- lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -973,8 +973,10 @@ break; case DW_ATE_lo_user: - // This has been seen to mean DW_AT_complex_integer - if (type_name.contains("complex")) { + // Clang and GCC use this for DW_AT_complex_integer. GCC is emitting for + // base types other than int the name '__unknown__' with the correct bit + // size, so we also treat that as a complex integer type. + if (type_name.contains("complex") || type_name == "__unknown__") { CompilerType complex_int_clang_type = GetBuiltinTypeForDWARFEncodingAndBitSize("int", DW_ATE_signed, bit_size / 2);