diff options
Diffstat (limited to 'llvm/lib/DebugInfo')
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp | 11 | ||||
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp | 4 |
2 files changed, 12 insertions, 3 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp index 9da9c817780..594739f4b88 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp @@ -289,13 +289,22 @@ Expected<DbiStream &> PDBFile::getPDBDbiStream() { Expected<TpiStream &> PDBFile::getPDBTpiStream() { if (!Tpi) { - Tpi.reset(new TpiStream(*this)); + Tpi.reset(new TpiStream(*this, StreamTPI)); if (auto EC = Tpi->reload()) return std::move(EC); } return *Tpi; } +Expected<TpiStream &> PDBFile::getPDBIpiStream() { + if (!Ipi) { + Ipi.reset(new TpiStream(*this, StreamIPI)); + if (auto EC = Ipi->reload()) + return std::move(EC); + } + return *Ipi; +} + Expected<PublicsStream &> PDBFile::getPDBPublicsStream() { if (!Publics) { auto DbiS = getPDBDbiStream(); diff --git a/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp index ed988bbf2e9..8ce8c01f608 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp @@ -56,8 +56,8 @@ struct TpiStream::HeaderInfo { EmbeddedBuf HashAdjBuffer; }; -TpiStream::TpiStream(PDBFile &File) - : Pdb(File), Stream(StreamTPI, File), HashFunction(nullptr) {} +TpiStream::TpiStream(PDBFile &File, uint32_t StreamIdx) + : Pdb(File), Stream(StreamIdx, File), HashFunction(nullptr) {} TpiStream::~TpiStream() {} |

