diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp index 82e9d86..c049829 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp @@ -450,6 +450,10 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const DWARFDIE &die) {        byte_size = form_value.Unsigned();        break; +    case DW_AT_bit_size: +      data_bit_size = form_value.Unsigned(); +      break; +      case DW_AT_alignment:        alignment = form_value.Unsigned();        break; @@ -1901,6 +1905,17 @@ DWARFASTParserClang::ParseStructureLikeDIE(const SymbolContext &sc,          m_ast.CreateClassTemplateSpecializationDecl(              containing_decl_ctx, GetOwningClangModule(die), class_template_decl,              tag_decl_kind, template_param_infos); +    if (!class_specialization_decl) { +      if (log) { +        dwarf->GetObjectFile()->GetModule()->LogMessage( +            log, +            "SymbolFileDWARF({0:p}) - Failed to create specialization for " +            "clang::ClassTemplateDecl({1}, {2:p}).", +            this, llvm::StringRef(attrs.name), class_template_decl); +      } +      return TypeSP(); +    } +      clang_type =          m_ast.CreateClassTemplateSpecializationType(class_specialization_decl); | 
