Skip to content

Commit 2fcade9

Browse files
committed
[lldb] Replace radars link with documenting comment (NFC)
This replaces two radar links with improved comments explaining the underlying issues. - The first issue is working around a compiler bug that was fixed in f454dfb. - The second issue is an invariant that doesn't actually hold. The latter was marked as FIXME but there was nothing in the radar about a possible alternative solution. Both radars were closed.
1 parent 949d4d1 commit 2fcade9

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,16 +1171,17 @@ TypeSP DWARFASTParserClang::ParseSubroutine(const DWARFDIE &die,
11711171
class_type->GetFullCompilerType();
11721172

11731173
// The type for this DIE should have been filled in the
1174-
// function call above
1174+
// function call above.
11751175
Type *type_ptr = dwarf->GetDIEToType()[die.GetDIE()];
11761176
if (type_ptr && type_ptr != DIE_IS_BEING_PARSED) {
11771177
return type_ptr->shared_from_this();
11781178
}
11791179

1180-
// FIXME This is fixing some even uglier behavior but we
1181-
// really need to
1182-
// uniq the methods of each class as well as the class
1183-
// itself. <rdar://problem/11240464>
1180+
// The previous comment isn't actually true if the class wasn't
1181+
// resolved using the current method's parent DIE as source
1182+
// data. We need to ensure that we look up the method correctly
1183+
// in the class and then link the method's DIE to the unique
1184+
// CXXMethodDecl appropriately.
11841185
type_handled = true;
11851186
}
11861187
}
@@ -2950,12 +2951,10 @@ void DWARFASTParserClang::ParseSingleMember(
29502951
member_clang_type.GetCompleteType();
29512952

29522953
{
2953-
// Older versions of clang emit array[0] and array[1] in the
2954-
// same way (<rdar://problem/12566646>). If the current field
2955-
// is at the end of the structure, then there is definitely no
2956-
// room for extra elements and we override the type to
2957-
// array[0].
2958-
2954+
// Older versions of clang emit the same DWARF for array[0] and array[1]. If
2955+
// the current field is at the end of the structure, then there is
2956+
// definitely no room for extra elements and we override the type to
2957+
// array[0]. This was fixed by f454dfb6b5af.
29592958
CompilerType member_array_element_type;
29602959
uint64_t member_array_size;
29612960
bool member_array_is_incomplete;

0 commit comments

Comments
 (0)