diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-10-23 17:51:42 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-10-23 17:51:42 +0000 |
commit | 1d5ae1026e831016fc29fd927877c86af904481f (patch) | |
tree | 2cdfd12620fcfa5d9e4a0389f85368e8e36f63f9 /lib/DebugInfo/PDB/DIA | |
parent | e6d1592492a3a379186bfb02bd0f4eda0669c0d5 (diff) |
Notes
Diffstat (limited to 'lib/DebugInfo/PDB/DIA')
-rw-r--r-- | lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp | 28 | ||||
-rw-r--r-- | lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp | 2 | ||||
-rw-r--r-- | lib/DebugInfo/PDB/DIA/DIASession.cpp | 46 |
3 files changed, 34 insertions, 42 deletions
diff --git a/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp b/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp index a8ae076e1d6c..c2552f55703c 100644 --- a/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp +++ b/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp @@ -405,7 +405,7 @@ DIARawSymbol::findChildren(PDB_SymType Type) const { return nullptr; } - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -423,7 +423,7 @@ DIARawSymbol::findChildren(PDB_SymType Type, StringRef Name, Symbol->findChildrenEx(EnumVal, Name16Str, CompareFlags, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -443,7 +443,7 @@ DIARawSymbol::findChildrenByAddr(PDB_SymType Type, StringRef Name, Section, Offset, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -462,7 +462,7 @@ DIARawSymbol::findChildrenByVA(PDB_SymType Type, StringRef Name, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -480,7 +480,7 @@ DIARawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -489,7 +489,7 @@ DIARawSymbol::findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const { if (S_OK != Symbol->findInlineFramesByAddr(Section, Offset, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -498,7 +498,7 @@ DIARawSymbol::findInlineFramesByRVA(uint32_t RVA) const { if (S_OK != Symbol->findInlineFramesByRVA(RVA, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumSymbols> @@ -507,7 +507,7 @@ DIARawSymbol::findInlineFramesByVA(uint64_t VA) const { if (S_OK != Symbol->findInlineFramesByVA(VA, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); + return std::make_unique<DIAEnumSymbols>(Session, DiaEnumerator); } std::unique_ptr<IPDBEnumLineNumbers> DIARawSymbol::findInlineeLines() const { @@ -515,7 +515,7 @@ std::unique_ptr<IPDBEnumLineNumbers> DIARawSymbol::findInlineeLines() const { if (S_OK != Symbol->findInlineeLines(&DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(DiaEnumerator); + return std::make_unique<DIAEnumLineNumbers>(DiaEnumerator); } std::unique_ptr<IPDBEnumLineNumbers> @@ -526,7 +526,7 @@ DIARawSymbol::findInlineeLinesByAddr(uint32_t Section, uint32_t Offset, Symbol->findInlineeLinesByAddr(Section, Offset, Length, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(DiaEnumerator); + return std::make_unique<DIAEnumLineNumbers>(DiaEnumerator); } std::unique_ptr<IPDBEnumLineNumbers> @@ -535,7 +535,7 @@ DIARawSymbol::findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const { if (S_OK != Symbol->findInlineeLinesByRVA(RVA, Length, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(DiaEnumerator); + return std::make_unique<DIAEnumLineNumbers>(DiaEnumerator); } std::unique_ptr<IPDBEnumLineNumbers> @@ -544,7 +544,7 @@ DIARawSymbol::findInlineeLinesByVA(uint64_t VA, uint32_t Length) const { if (S_OK != Symbol->findInlineeLinesByVA(VA, Length, &DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(DiaEnumerator); + return std::make_unique<DIAEnumLineNumbers>(DiaEnumerator); } void DIARawSymbol::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) const { @@ -776,7 +776,7 @@ std::unique_ptr<IPDBLineNumber> DIARawSymbol::getSrcLineOnTypeDefn() const { if (FAILED(Symbol->getSrcLineOnTypeDefn(&LineNumber)) || !LineNumber) return nullptr; - return llvm::make_unique<DIALineNumber>(LineNumber); + return std::make_unique<DIALineNumber>(LineNumber); } uint32_t DIARawSymbol::getStride() const { @@ -871,7 +871,7 @@ DIARawSymbol::getVirtualBaseTableType() const { if (FAILED(Symbol->get_virtualBaseTableType(&TableType)) || !TableType) return nullptr; - auto RawVT = llvm::make_unique<DIARawSymbol>(Session, TableType); + auto RawVT = std::make_unique<DIARawSymbol>(Session, TableType); auto Pointer = PDBSymbol::createAs<PDBSymbolTypePointer>(Session, std::move(RawVT)); return unique_dyn_cast<PDBSymbolTypeBuiltin>(Pointer->getPointeeType()); diff --git a/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp b/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp index e2d928f2c4b2..4f0e078e6712 100644 --- a/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp +++ b/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp @@ -23,7 +23,7 @@ std::unique_ptr<PDBSymbolCompiland> DIASectionContrib::getCompiland() const { if (FAILED(Section->get_compiland(&Symbol))) return nullptr; - auto RawSymbol = llvm::make_unique<DIARawSymbol>(Session, Symbol); + auto RawSymbol = std::make_unique<DIARawSymbol>(Session, Symbol); return PDBSymbol::createAs<PDBSymbolCompiland>(Session, std::move(RawSymbol)); } diff --git a/lib/DebugInfo/PDB/DIA/DIASession.cpp b/lib/DebugInfo/PDB/DIA/DIASession.cpp index 4e0b8587c613..64ffa776bbd6 100644 --- a/lib/DebugInfo/PDB/DIA/DIASession.cpp +++ b/lib/DebugInfo/PDB/DIA/DIASession.cpp @@ -73,15 +73,7 @@ static Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) { #if !defined(_MSC_VER) return llvm::make_error<PDBError>(pdb_error_code::dia_failed_loading); #else - const wchar_t *msdia_dll = nullptr; -#if _MSC_VER >= 1900 && _MSC_VER < 2000 - msdia_dll = L"msdia140.dll"; // VS2015 -#elif _MSC_VER >= 1800 - msdia_dll = L"msdia120.dll"; // VS2013 -#else -#error "Unknown Visual Studio version." -#endif - + const wchar_t *msdia_dll = L"msdia140.dll"; HRESULT HR; if (FAILED(HR = NoRegCoCreate(msdia_dll, CLSID_DiaSource, IID_IDiaDataSource, reinterpret_cast<LPVOID *>(&DiaDataSource)))) @@ -158,7 +150,7 @@ std::unique_ptr<PDBSymbolExe> DIASession::getGlobalScope() { if (S_OK != Session->get_globalScope(&GlobalScope)) return nullptr; - auto RawSymbol = llvm::make_unique<DIARawSymbol>(*this, GlobalScope); + auto RawSymbol = std::make_unique<DIARawSymbol>(*this, GlobalScope); auto PdbSymbol(PDBSymbol::create(*this, std::move(RawSymbol))); std::unique_ptr<PDBSymbolExe> ExeSymbol( static_cast<PDBSymbolExe *>(PdbSymbol.release())); @@ -193,7 +185,7 @@ DIASession::getSymbolById(SymIndexId SymbolId) const { if (S_OK != Session->symbolById(SymbolId, &LocatedSymbol)) return nullptr; - auto RawSymbol = llvm::make_unique<DIARawSymbol>(*this, LocatedSymbol); + auto RawSymbol = std::make_unique<DIARawSymbol>(*this, LocatedSymbol); return PDBSymbol::create(*this, std::move(RawSymbol)); } @@ -210,7 +202,7 @@ DIASession::findSymbolByAddress(uint64_t Address, PDB_SymType Type) const { if (S_OK != Session->findSymbolByRVA(RVA, EnumVal, &Symbol)) return nullptr; } - auto RawSymbol = llvm::make_unique<DIARawSymbol>(*this, Symbol); + auto RawSymbol = std::make_unique<DIARawSymbol>(*this, Symbol); return PDBSymbol::create(*this, std::move(RawSymbol)); } @@ -222,7 +214,7 @@ std::unique_ptr<PDBSymbol> DIASession::findSymbolByRVA(uint32_t RVA, if (S_OK != Session->findSymbolByRVA(RVA, EnumVal, &Symbol)) return nullptr; - auto RawSymbol = llvm::make_unique<DIARawSymbol>(*this, Symbol); + auto RawSymbol = std::make_unique<DIARawSymbol>(*this, Symbol); return PDBSymbol::create(*this, std::move(RawSymbol)); } @@ -235,7 +227,7 @@ DIASession::findSymbolBySectOffset(uint32_t Sect, uint32_t Offset, if (S_OK != Session->findSymbolByAddr(Sect, Offset, EnumVal, &Symbol)) return nullptr; - auto RawSymbol = llvm::make_unique<DIARawSymbol>(*this, Symbol); + auto RawSymbol = std::make_unique<DIARawSymbol>(*this, Symbol); return PDBSymbol::create(*this, std::move(RawSymbol)); } @@ -251,7 +243,7 @@ DIASession::findLineNumbers(const PDBSymbolCompiland &Compiland, RawFile.getDiaFile(), &LineNumbers)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(LineNumbers); + return std::make_unique<DIAEnumLineNumbers>(LineNumbers); } std::unique_ptr<IPDBEnumLineNumbers> @@ -265,7 +257,7 @@ DIASession::findLineNumbersByAddress(uint64_t Address, uint32_t Length) const { if (S_OK != Session->findLinesByRVA(RVA, Length, &LineNumbers)) return nullptr; } - return llvm::make_unique<DIAEnumLineNumbers>(LineNumbers); + return std::make_unique<DIAEnumLineNumbers>(LineNumbers); } std::unique_ptr<IPDBEnumLineNumbers> @@ -274,7 +266,7 @@ DIASession::findLineNumbersByRVA(uint32_t RVA, uint32_t Length) const { if (S_OK != Session->findLinesByRVA(RVA, Length, &LineNumbers)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(LineNumbers); + return std::make_unique<DIAEnumLineNumbers>(LineNumbers); } std::unique_ptr<IPDBEnumLineNumbers> @@ -284,7 +276,7 @@ DIASession::findLineNumbersBySectOffset(uint32_t Section, uint32_t Offset, if (S_OK != Session->findLinesByAddr(Section, Offset, Length, &LineNumbers)) return nullptr; - return llvm::make_unique<DIAEnumLineNumbers>(LineNumbers); + return std::make_unique<DIAEnumLineNumbers>(LineNumbers); } std::unique_ptr<IPDBEnumSourceFiles> @@ -306,7 +298,7 @@ DIASession::findSourceFiles(const PDBSymbolCompiland *Compiland, if (S_OK != Session->findFile(DiaCompiland, Utf16Pattern.m_str, Flags, &SourceFiles)) return nullptr; - return llvm::make_unique<DIAEnumSourceFiles>(*this, SourceFiles); + return std::make_unique<DIAEnumSourceFiles>(*this, SourceFiles); } std::unique_ptr<IPDBSourceFile> @@ -342,7 +334,7 @@ std::unique_ptr<IPDBEnumSourceFiles> DIASession::getAllSourceFiles() const { if (S_OK != Session->findFile(nullptr, nullptr, nsNone, &Files)) return nullptr; - return llvm::make_unique<DIAEnumSourceFiles>(*this, Files); + return std::make_unique<DIAEnumSourceFiles>(*this, Files); } std::unique_ptr<IPDBEnumSourceFiles> DIASession::getSourceFilesForCompiland( @@ -355,7 +347,7 @@ std::unique_ptr<IPDBEnumSourceFiles> DIASession::getSourceFilesForCompiland( Session->findFile(RawSymbol.getDiaSymbol(), nullptr, nsNone, &Files)) return nullptr; - return llvm::make_unique<DIAEnumSourceFiles>(*this, Files); + return std::make_unique<DIAEnumSourceFiles>(*this, Files); } std::unique_ptr<IPDBSourceFile> @@ -364,7 +356,7 @@ DIASession::getSourceFileById(uint32_t FileId) const { if (S_OK != Session->findFileById(FileId, &LocatedFile)) return nullptr; - return llvm::make_unique<DIASourceFile>(*this, LocatedFile); + return std::make_unique<DIASourceFile>(*this, LocatedFile); } std::unique_ptr<IPDBEnumDataStreams> DIASession::getDebugStreams() const { @@ -372,7 +364,7 @@ std::unique_ptr<IPDBEnumDataStreams> DIASession::getDebugStreams() const { if (S_OK != Session->getEnumDebugStreams(&DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumDebugStreams>(DiaEnumerator); + return std::make_unique<DIAEnumDebugStreams>(DiaEnumerator); } std::unique_ptr<IPDBEnumTables> DIASession::getEnumTables() const { @@ -380,7 +372,7 @@ std::unique_ptr<IPDBEnumTables> DIASession::getEnumTables() const { if (S_OK != Session->getEnumTables(&DiaEnumerator)) return nullptr; - return llvm::make_unique<DIAEnumTables>(DiaEnumerator); + return std::make_unique<DIAEnumTables>(DiaEnumerator); } template <class T> static CComPtr<T> getTableEnumerator(IDiaSession &Session) { @@ -407,7 +399,7 @@ DIASession::getInjectedSources() const { if (!Files) return nullptr; - return llvm::make_unique<DIAEnumInjectedSources>(Files); + return std::make_unique<DIAEnumInjectedSources>(Files); } std::unique_ptr<IPDBEnumSectionContribs> @@ -417,7 +409,7 @@ DIASession::getSectionContribs() const { if (!Sections) return nullptr; - return llvm::make_unique<DIAEnumSectionContribs>(*this, Sections); + return std::make_unique<DIAEnumSectionContribs>(*this, Sections); } std::unique_ptr<IPDBEnumFrameData> @@ -427,5 +419,5 @@ DIASession::getFrameData() const { if (!FD) return nullptr; - return llvm::make_unique<DIAEnumFrameData>(FD); + return std::make_unique<DIAEnumFrameData>(FD); } |