Lines Matching defs:DIE
220 // FIXME Add some kind of record of which DIE names have already failed and
221 // don't bother checking a DIE that uses an already failed DIE.
267 << " has DW_CHILDREN_yes but DIE has no children: ";
277 ErrorCategory.Report("Compilation unit missing DIE", [&]() {
278 error() << "Compilation unit without DIE.\n";
285 ErrorCategory.Report("Compilation unit root DIE is not a unit DIE", [&]() {
286 error() << "Compilation unit root DIE is not a unit DIE: "
296 << ") and root DIE (" << dwarf::TagString(Die.getTag())
448 /// can verify each reference points to a valid DIE and not an offset that
569 // Build RI for this DIE and check that ranges within this DIE do not
606 // think this DIE doesn't have all of the address ranges it is supposed
612 ErrorCategory.Report("DIE has overlapping DW_AT_ranges", [&]() {
613 error() << "DIE has overlapping ranges in DW_AT_ranges attribute: "
641 "DIE address ranges are not contained by parent ranges", [&]() {
643 << "DIE address ranges are not contained in its parent's ranges:";
689 "DIE has invalid DW_AT_ranges encoding:");
701 "DIE has invalid DW_AT_stmt_list encoding:");
726 "DIE contains invalid DWARF expression:");
751 "DIE with tag " + TagString(DieTag) + " has " +
753 " that points to DIE with "
763 "DIE has " + AttributeString(Attr) +
780 "DIE has " + AttributeString(Attr) +
788 "DIE has " + AttributeString(Attr) +
797 "DIE has " + AttributeString(Attr) +
804 "DIE has " + AttributeString(Attr) +
815 "DIE has " + AttributeString(Attr) + " with invalid encoding");
856 // DIE later.
864 // Verify all absolute DIE references have valid offsets in the
878 // DIE later.
921 ErrorCategory.Report("Invalid DIE reference", [&]() {
922 error() << "invalid DIE reference " << format("0x%08" PRIx64, Pair.first)
1196 ErrorCategory.Report("Invalid DIE offset", [&]() {
1199 "Str[%u] = 0x%08" PRIx64 " DIE[%d] = 0x%08" PRIx64 " "
1200 "is not a valid DIE offset for \"%s\".\n",
1212 << dwarf::TagString(Die.getTag()) << " of DIE["
1536 static SmallVector<std::string, 3> getNames(const DWARFDie &DIE,
1541 if (const char *Str = DIE.getShortName()) {
1563 } else if (DIE.getTag() == dwarf::DW_TAG_namespace)
1567 if (const char *Str = DIE.getLinkageName())
1611 DWARFDie DIE = DCtx.getDIEForOffset(DIEOffset);
1612 if (!DIE) {
1613 ErrorCategory.Report("NameIndex references nonexistent DIE", [&]() {
1615 "non-existing DIE @ {2:x}.\n",
1621 if (DIE.getDwarfUnit()->getOffset() != CUOffset) {
1622 ErrorCategory.Report("Name index contains mismatched CU of DIE", [&]() {
1625 "DIE @ {2:x}: index - {3:x}; debug_info - {4:x}.\n",
1627 DIE.getDwarfUnit()->getOffset());
1631 if (DIE.getTag() != EntryOr->tag()) {
1632 ErrorCategory.Report("Name Index contains mismatched Tag of DIE", [&]() {
1635 "DIE @ {2:x}: index - {3}; debug_info - {4}.\n",
1637 DIE.getTag());
1645 DIE.getTag() == DW_TAG_subprogram ||
1646 DIE.getTag() == DW_TAG_inlined_subroutine;
1647 auto EntryNames = getNames(DIE, IncludeStrippedTemplateNames);
1649 ErrorCategory.Report("Name Index contains mismatched name of DIE", [&]() {
1651 "of DIE @ {2:x}: index - {3}; debug_info - {4}.\n",
1804 ErrorCategory.Report("Name Index DIE entry missing name", [&]() {
1806 "Name Index @ {0:x}: Entry for DIE @ {1:x} ({2}) with "