OSDN Git Service

[CodeView] Support CodeView subsections in any order.
authorZachary Turner <zturner@google.com>
Fri, 2 Jun 2017 19:49:14 +0000 (19:49 +0000)
committerZachary Turner <zturner@google.com>
Fri, 2 Jun 2017 19:49:14 +0000 (19:49 +0000)
commit42d60ef58589b3f881a953a65579a80084cedcec
treef2bdb3d6a8a70d095517841270818589c2a86b2a
parente84c1d83ada7a67308e9e56b201bf63d9542748e
[CodeView] Support CodeView subsections in any order.

Previously we would expect certain subsections to appear
in a certain order because some subsections would reference
other subsections, but in practice we need to support
arbitrary orderings since some object file and PDB file
producers generate them this way.  This also paves the
way for supporting Yaml <-> Object File conversion of
CodeView, since Object Files typically have quite a
large number of subsections in their debug info.

Differential Revision: https://reviews.llvm.org/D33807

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304588 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
lib/DebugInfo/PDB/Native/PDBStringTable.cpp
lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
test/DebugInfo/PDB/Inputs/simple-line-info.yaml
test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test
tools/llvm-pdbdump/LLVMOutputStyle.cpp
tools/llvm-pdbdump/PdbYaml.cpp
tools/llvm-pdbdump/PdbYaml.h
tools/llvm-pdbdump/YAMLOutputStyle.cpp
tools/llvm-pdbdump/YAMLOutputStyle.h
tools/llvm-pdbdump/llvm-pdbdump.cpp