Index: lldb/include/lldb/Symbol/Type.h =================================================================== --- lldb/include/lldb/Symbol/Type.h +++ lldb/include/lldb/Symbol/Type.h @@ -89,6 +89,9 @@ eEncodingIsRValueReferenceUID, /// This type is the type whose UID is m_encoding_uid as an atomic type. eEncodingIsAtomicUID, + /// This type is the type whose UID is m_encoding_uid with the immutable + /// qualifier added. + eEncodingIsImmutableUID, /// This type is the synthetic type whose UID is m_encoding_uid. eEncodingIsSyntheticUID }; Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp +++ lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp @@ -496,6 +496,7 @@ case DW_TAG_reference_type: case DW_TAG_rvalue_reference_type: case DW_TAG_const_type: + case DW_TAG_immutable_type: case DW_TAG_restrict_type: case DW_TAG_volatile_type: case DW_TAG_atomic_type: @@ -646,6 +647,9 @@ case DW_TAG_const_type: encoding_data_type = Type::eEncodingIsConstUID; break; + case DW_TAG_immutable_type: + encoding_data_type = Type::eEncodingIsImmutableUID; + break; case DW_TAG_restrict_type: encoding_data_type = Type::eEncodingIsRestrictUID; break; Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp +++ lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp @@ -268,6 +268,9 @@ case DW_TAG_const_type: s.PutCString("const "); break; + case DW_TAG_immutable_type: + s.PutCString("immutable "); + break; case DW_TAG_enumeration_type: s.PutCString("enum "); break;