@@ -565,8 +565,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWARF(const SymbolContext &sc,
565565 while (!m_to_complete.empty ()) {
566566 TypeToComplete to_complete = m_to_complete.back ();
567567 m_to_complete.pop_back ();
568- CompleteRecordType (to_complete.die , to_complete.type .get (),
569- to_complete.clang_type );
568+ CompleteRecordType (to_complete.die , to_complete.clang_type );
570569 }
571570 }
572571
@@ -1810,20 +1809,6 @@ DWARFASTParserClang::ParseStructureLikeDIE(const SymbolContext &sc,
18101809 ConstString unique_typename (attrs.name );
18111810 Declaration unique_decl (attrs.decl );
18121811 uint64_t byte_size = attrs.byte_size .value_or (0 );
1813- if (attrs.byte_size && *attrs.byte_size == 0 && attrs.name &&
1814- !die.HasChildren () && cu_language == eLanguageTypeObjC) {
1815- // Work around an issue with clang at the moment where forward
1816- // declarations for objective C classes are emitted as:
1817- // DW_TAG_structure_type [2]
1818- // DW_AT_name( "ForwardObjcClass" )
1819- // DW_AT_byte_size( 0x00 )
1820- // DW_AT_decl_file( "..." )
1821- // DW_AT_decl_line( 1 )
1822- //
1823- // Note that there is no DW_AT_declaration and there are no children,
1824- // and the byte size is zero.
1825- attrs.is_forward_declaration = true ;
1826- }
18271812
18281813 if (attrs.name ) {
18291814 GetUniqueTypeNameAndDeclaration (die, cu_language, unique_typename,
@@ -1873,8 +1858,7 @@ DWARFASTParserClang::ParseStructureLikeDIE(const SymbolContext &sc,
18731858
18741859 if ((attrs.class_language == eLanguageTypeObjC ||
18751860 attrs.class_language == eLanguageTypeObjC_plus_plus) &&
1876- !attrs.is_complete_objc_class &&
1877- die.Supports_DW_AT_APPLE_objc_complete_type ()) {
1861+ !attrs.is_complete_objc_class ) {
18781862 // We have a valid eSymbolTypeObjCClass class symbol whose name
18791863 // matches the current objective C class that we are trying to find
18801864 // and this DIE isn't the complete definition (we checked
@@ -2241,7 +2225,6 @@ bool DWARFASTParserClang::ParseTemplateParameterInfos(
22412225}
22422226
22432227bool DWARFASTParserClang::CompleteRecordType (const DWARFDIE &die,
2244- lldb_private::Type *type,
22452228 CompilerType &clang_type) {
22462229 if (TypeSystemClang::UseRedeclCompletion ())
22472230 if (!m_currently_parsed_record_dies.insert (die.GetDIE ()).second )
@@ -2424,7 +2407,7 @@ bool DWARFASTParserClang::CompleteTypeFromDWARF(const DWARFDIE &die,
24242407 case DW_TAG_structure_type:
24252408 case DW_TAG_union_type:
24262409 case DW_TAG_class_type:
2427- CompleteRecordType (die, type, clang_type);
2410+ CompleteRecordType (die, clang_type);
24282411 break ;
24292412 case DW_TAG_enumeration_type:
24302413 CompleteEnumType (die, type, clang_type);
@@ -3909,8 +3892,7 @@ bool DWARFASTParserClang::CopyUniqueClassMethodTypes(
39093892 static_cast <DWARFASTParserClang *>(
39103893 SymbolFileDWARF::GetDWARFParser (*dst_class_die.GetCU ()));
39113894 auto link = [&](DWARFDIE src, DWARFDIE dst) {
3912- SymbolFileDWARF::DIEToTypePtr &die_to_type =
3913- dst_class_die.GetDWARF ()->GetDIEToType ();
3895+ auto &die_to_type = dst_class_die.GetDWARF ()->GetDIEToType ();
39143896 clang::DeclContext *dst_decl_ctx =
39153897 dst_dwarf_ast_parser->m_die_to_decl_ctx [dst.GetDIE ()];
39163898 if (dst_decl_ctx)
0 commit comments