[PATCH] D21410: [pdb] Change type visitor pattern to use dynamic polymorphism
Zachary Turner via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 16 10:47:35 PDT 2016
zturner updated this revision to Diff 60994.
zturner added a comment.
Rebases on top of Rui's recent patches.
One added advantage of this approach is that, while rebasing, I actually caught a couple of bugs in Rui's patch that would not have been possible to catch at compile time otherwise. Mainly there were previously separate visitation functions for class, struct, and interface, but these are all implemented by a single record type, and thus have only a single visitation function. This was caught because when I added the `override` keyword to them, the compiler error'ed saying that there was no suitable function to override.
http://reviews.llvm.org/D21410
Files:
include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
include/llvm/DebugInfo/CodeView/TypeDumper.h
include/llvm/DebugInfo/CodeView/TypeRecords.def
include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h
include/llvm/DebugInfo/PDB/Raw/RawError.h
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
lib/DebugInfo/CodeView/CMakeLists.txt
lib/DebugInfo/CodeView/CVTypeVisitor.cpp
lib/DebugInfo/CodeView/TypeDumper.cpp
lib/DebugInfo/CodeView/TypeStreamMerger.cpp
lib/DebugInfo/PDB/Raw/RawError.cpp
lib/DebugInfo/PDB/Raw/TpiStream.cpp
tools/llvm-pdbdump/LLVMOutputStyle.cpp
tools/llvm-readobj/COFFDumper.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21410.60994.patch
Type: text/x-patch
Size: 55258 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160616/0e2c3562/attachment.bin>
More information about the llvm-commits
mailing list