Index: llvm/trunk/include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h =================================================================== --- llvm/trunk/include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h +++ llvm/trunk/include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h @@ -49,7 +49,7 @@ Expected> build(PDBFile &File, const msf::WritableStream &Buffer); Error commit(const msf::MSFLayout &Layout, - const msf::WritableStream &Buffer) const; + const msf::WritableStream &Buffer); private: Error finalize(); Index: llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp =================================================================== --- llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp +++ llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp @@ -249,7 +249,10 @@ } Error DbiStreamBuilder::commit(const msf::MSFLayout &Layout, - const msf::WritableStream &Buffer) const { + const msf::WritableStream &Buffer) { + if (auto EC = finalize()) + return EC; + auto InfoS = WritableMappedBlockStream::createIndexedStream(Layout, Buffer, StreamDBI); Index: llvm/trunk/test/DebugInfo/PDB/pdbdump-readwrite.test =================================================================== --- llvm/trunk/test/DebugInfo/PDB/pdbdump-readwrite.test +++ llvm/trunk/test/DebugInfo/PDB/pdbdump-readwrite.test @@ -0,0 +1,4 @@ +; RUN: llvm-pdbdump pdb2yaml -dbi-module-info -dbi-module-source-info \ +; RUN: -dbi-stream -pdb-stream -stream-directory -stream-metadata \ +; RUN: %p/Inputs/empty.pdb > %t.1 +; RUN: llvm-pdbdump yaml2pdb -pdb=%t.2 %t.1