[PATCH] D34015: Allow subsections in raw output mode to be printed out of order

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 7 15:59:57 PDT 2017


zturner created this revision.
Herald added a subscriber: mgorny.
Herald added a reviewer: hiraditya.

This is the same change that was made for the YAML output style, but applied to the raw output style.

The problem is the same as before.  You have to know about checksums before you can print many other sections, even though checksums might not appear until later.  To handle this we create a `DebugVisitorState` that holds a pointer to the string table and checkums subsection, and the user can specify as much or as little as possible of this.  Whatever is not filled out initially will be scanned for before doing the actual visitation with callback invocations.  All of this is hidden, so the user just has to call the visitor and it just works


https://reviews.llvm.org/D34015

Files:
  llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
  llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
  llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
  llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
  llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
  llvm/test/DebugInfo/PDB/pdbdump-debug-subsections.test
  llvm/test/DebugInfo/PDB/pdbdump-headers.test
  llvm/tools/llvm-pdbdump/C13DebugFragmentVisitor.cpp
  llvm/tools/llvm-pdbdump/C13DebugFragmentVisitor.h
  llvm/tools/llvm-pdbdump/CMakeLists.txt
  llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp
  llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34015.101836.patch
Type: text/x-patch
Size: 38712 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170607/fbaf1365/attachment.bin>


More information about the llvm-commits mailing list