[PATCH] D22693: More strongly separate the PDB reading interfaces and PDB writing interfaces
Zachary Turner via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 22 13:59:18 PDT 2016
zturner updated this revision to Diff 65144.
zturner added a comment.
The breaking change I mentioned from before is no longer an issue. In addition, this patch of makes things a little bit more sane. Previously it was possible to have a write-only interface. Now all writable interfaces are also readable. This mimics the way `MutableArrayRef` / `ArrayRef` and other similar classes in LLVM work. Because of this, `WritableMappedBlockStream` can both read and write, and it now has to deal with the same issue that `MappedBlockStream` used to have to deal with. While it adds some that complexity back, it has been working and well tested, and removes the possibility of having strange errors pop up that are difficult to figure out. (Plus it makes tests cleaner)
https://reviews.llvm.org/D22693
Files:
include/llvm/DebugInfo/CodeView/CVRecord.h
include/llvm/DebugInfo/CodeView/ModuleSubstream.h
include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
include/llvm/DebugInfo/Msf/ByteStream.h
include/llvm/DebugInfo/Msf/MappedBlockStream.h
include/llvm/DebugInfo/Msf/MsfBuilder.h
include/llvm/DebugInfo/Msf/MsfCommon.h
include/llvm/DebugInfo/Msf/StreamArray.h
include/llvm/DebugInfo/Msf/StreamInterface.h
include/llvm/DebugInfo/Msf/StreamReader.h
include/llvm/DebugInfo/Msf/StreamRef.h
include/llvm/DebugInfo/Msf/StreamWriter.h
include/llvm/DebugInfo/PDB/PDBTypes.h
include/llvm/DebugInfo/PDB/Raw/DbiStream.h
include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h
include/llvm/DebugInfo/PDB/Raw/InfoStream.h
include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
include/llvm/DebugInfo/PDB/Raw/ModInfo.h
include/llvm/DebugInfo/PDB/Raw/ModStream.h
include/llvm/DebugInfo/PDB/Raw/NameHashTable.h
include/llvm/DebugInfo/PDB/Raw/NameMap.h
include/llvm/DebugInfo/PDB/Raw/NameMapBuilder.h
include/llvm/DebugInfo/PDB/Raw/PDBFile.h
include/llvm/DebugInfo/PDB/Raw/PDBFileBuilder.h
include/llvm/DebugInfo/PDB/Raw/RawTypes.h
lib/DebugInfo/CodeView/ModuleSubstream.cpp
lib/DebugInfo/CodeView/ModuleSubstreamVisitor.cpp
lib/DebugInfo/CodeView/TypeDumper.cpp
lib/DebugInfo/Msf/ByteStream.cpp
lib/DebugInfo/Msf/CMakeLists.txt
lib/DebugInfo/Msf/MappedBlockStream.cpp
lib/DebugInfo/Msf/MsfBuilder.cpp
lib/DebugInfo/Msf/StreamReader.cpp
lib/DebugInfo/Msf/StreamWriter.cpp
lib/DebugInfo/PDB/Raw/DbiStream.cpp
lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
lib/DebugInfo/PDB/Raw/InfoStream.cpp
lib/DebugInfo/PDB/Raw/InfoStreamBuilder.cpp
lib/DebugInfo/PDB/Raw/ModInfo.cpp
lib/DebugInfo/PDB/Raw/ModStream.cpp
lib/DebugInfo/PDB/Raw/NameMap.cpp
lib/DebugInfo/PDB/Raw/NameMapBuilder.cpp
lib/DebugInfo/PDB/Raw/PDBFile.cpp
lib/DebugInfo/PDB/Raw/PDBFileBuilder.cpp
lib/DebugInfo/PDB/Raw/RawSession.cpp
lib/DebugInfo/PDB/Raw/TpiStream.cpp
tools/llvm-pdbdump/LLVMOutputStyle.cpp
tools/llvm-pdbdump/llvm-pdbdump.cpp
tools/llvm-readobj/COFFDumper.cpp
unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp
unittests/DebugInfo/PDB/MsfBuilderTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22693.65144.patch
Type: text/x-patch
Size: 124709 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160722/0c981be7/attachment.bin>
More information about the llvm-commits
mailing list