diff options
Diffstat (limited to 'llvm/lib')
| -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() {} | 

