X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FDebugInfo%2FDWARFUnit.cpp;h=6ed3e04b7bf304c2f42e3851f2d10acfa7949507;hb=78f686d37cc3b4e70bbfc2acdfcfec8443fd3250;hp=197d347090d5ca479ac654419874a66ed153a805;hpb=81becb73abf0d4f39adf73fe6a35b1c30af70231;p=oota-llvm.git diff --git a/lib/DebugInfo/DWARFUnit.cpp b/lib/DebugInfo/DWARFUnit.cpp index 197d347090d..6ed3e04b7bf 100644 --- a/lib/DebugInfo/DWARFUnit.cpp +++ b/lib/DebugInfo/DWARFUnit.cpp @@ -235,9 +235,10 @@ size_t DWARFUnit::extractDIEsIfNeeded(bool CUDieOnly) { return DieArray.size(); } -DWARFUnit::DWOHolder::DWOHolder(object::ObjectFile *DWOFile) - : DWOFile(DWOFile), - DWOContext(cast(DIContext::getDWARFContext(*DWOFile))), +DWARFUnit::DWOHolder::DWOHolder(std::unique_ptr DWOFile) + : DWOFile(std::move(DWOFile)), + DWOContext( + cast(DIContext::getDWARFContext(*this->DWOFile))), DWOU(nullptr) { if (DWOContext->getNumDWOCompileUnits() > 0) DWOU = DWOContext->getDWOCompileUnitAtIndex(0); @@ -260,12 +261,12 @@ bool DWARFUnit::parseDWO() { sys::path::append(AbsolutePath, CompilationDir); } sys::path::append(AbsolutePath, DWOFileName); - ErrorOr> DWOFile = + ErrorOr> DWOFile = object::ObjectFile::createObjectFile(AbsolutePath); if (!DWOFile) return false; // Reset DWOHolder. - DWO.reset(new DWOHolder(DWOFile.get().get())); + DWO = llvm::make_unique(std::move(DWOFile->getBinary())); DWARFUnit *DWOCU = DWO->getUnit(); // Verify that compile unit in .dwo file is valid. if (!DWOCU || DWOCU->getDWOId() != getDWOId()) {