diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp index 714043d0be6..1bb546e54b2 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -395,7 +395,7 @@ DwarfCompileUnit::addScopeRangeList(DIE &ScopeDIE, DD->getLabelAfterInsn(R.second))); // Add the range list to the set of ranges to be emitted. - CURangeLists.push_back(std::move(List)); + (Skeleton ? Skeleton : this)->CURangeLists.push_back(std::move(List)); } void DwarfCompileUnit::attachRangesOrLowHighPC( diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h index 27cfdcdaa48..a73cb27c25f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h @@ -232,7 +232,7 @@ public: /// getRangeLists - Get the vector of range lists. const SmallVectorImpl &getRangeLists() const { - return CURangeLists; + return (Skeleton ? Skeleton : this)->CURangeLists; } /// getRanges - Get the list of ranges for this unit. diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 95dedb5549b..0da1bb8584b 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -565,7 +565,7 @@ void DwarfDebug::finalizeModuleInfo() { if (!AddrPool.isEmpty()) SkCU->addSectionLabel(SkCU->getUnitDie(), dwarf::DW_AT_GNU_addr_base, DwarfAddrSectionSym, DwarfAddrSectionSym); - if (!TheCU.getRangeLists().empty()) + if (!SkCU->getRangeLists().empty()) SkCU->addSectionLabel(SkCU->getUnitDie(), dwarf::DW_AT_GNU_ranges_base, DwarfDebugRangeSectionSym, DwarfDebugRangeSectionSym);